nDiki : Debian kernel パッケージ構築

2004年3月4日 (木)

[ ThinkPad X31 ] Linux kernel を 2.4.22 から 2.4.25 に

昨日、CLIEHotSyncできなかったので、もともとUSBまわりが不安定だったし kernel を 2.4.25 に上げておくことにする。

/etc/kernel-img.conf の内容確認(GRUB用)

 do_symlinks = Yes
 postinst_hook = /sbin/update-grub
 postrm_hook = /sbin/update-grub
 do_bootloader = no

ビルド

shfs も一緒に入れておく。今回は pcmcia-cs を使わずに kernel のものを入れておく事にする。

 $su
 #(apt-get build-dep kernel-source-2.4.25)
 #apt-get install kernel-source-2.4.25
 #apt-get install shfs-source shfs-utils
 #exit
 $mkdir -p /usr/local/src/linux
 $cd /usr/local/src/linux
 $tar jxvf /usr/src/kernel-source-2.4.25.tar.bz2
 $tar jxvf /usr/src/shfs.tar.bz2
 $cd kernel-source-2.4.25
 $make menuconfig
 $ make-kpkg clean
 $MODULE_LOC=/usr/local/src/linux/modules \
   fakeroot make-kpkg --revision=sebastian.1.0 \
   kernel_image modules_image
 $cd ..
 $su
 #dpkg -i kernel-image-2.4.25_sebastian.1.0_i386.deb
 #dpkg -i shfs-module-2.4.25_0.32-2+sebastian.1.0_i386.deb

reboot

MADWIFI

最新のにしておく。

 mkdir -p /usr/local/src/sf
 cd /usr/local/src/sf
 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
 cd madwifi
 make
 su
 make install
 modprobe -a ath_pci
 lsmod
 dmsg

本当は cvs checkout はリブート前、ネットワークが使えている間にしておく必要があった。 前の madwifi ソースを make install して一旦接続できるようにしてから、cvs の最新のを取り直してあらためて make install

[ Debian kernel パッケージ構築 ]

スポンサード リンク
[ 3月4日全て ]

2004年5月9日 (日)

Debian kernel パッケージ構築

ThinkPad X31tpctl を使ってみるために thinkpad-modules を入れる。 ついでに Linux kernel も 2.4.25 から 2.4.26 に上げておく。

2.4.26 から IBM PCI Hotplug driver (CONFIG_HOTPLUG_PCI_IBM) が追加されたようだ。 ThinkPad には関係あるのか? 以前から hotplug が不安定だった(今日はいつになく不調でフリーズまでしたし。Caps Lock ランプが点滅してた。)ので、有効にしておいてみた。

/etc/kernel-img.conf の内容確認(GRUB用)

 do_symlinks = Yes
 postinst_hook = /sbin/update-grub
 postrm_hook = /sbin/update-grub
 do_bootloader = no

ビルド

一緒に入れるモジュール

pcmcia-cs は使わず、kernel のものを使用。

 $su
 #apt-get build-dep kernel-source-2.4.26 shfs-source thinkpad-source
 #apt-get install kernel-source-2.4.26
 #apt-get install shfs-source shfs-utils
 #apt-get install thinkpad-source tpctl
 #exit
 $mkdir -p /usr/local/src/linux
 $cd /usr/local/src/linux
 $tar jxvf /usr/src/kernel-source-2.4.26.tar.bz2
 $tar jxvf /usr/src/shfs.tar.bz2
 $tar zxvf /usr/src/thinkpad.tar.gz
 $cd kernel-source-2.4.26
 $make menuconfig
 $make-kpkg clean
 $MODULE_LOC=/usr/local/src/linux/modules \
   fakeroot make-kpkg --revision=sebastian.1.0 \
   kernel_image modules_image
 $cd ..
 $su
 #dpkg -i kernel-image-2.4.26_sebastian.1.0_i386.deb
 #dpkg -i shfs-module-2.4.26_0.33-3+sebastian.1.0_i386.deb
 #dpkg -i thinkpad-modules-2.4.26_5.1-1+sebastian.1.0_i386.deb

リブート後、MADWIFIドライバを作り直すのでリブートの前に cvs から checkout だけ済ませておく。

リブート。

MADWIFI

 mkdir -p /usr/local/src/sf
 cd /usr/local/src/sf
 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
 cd madwifi
 make
 su
 make install
 modprobe -a ath_pci
 lsmod
 dmsg

ifup ath0 したらエラー

 socket: Protocol not available - make sure CONFIG_PACKET and CONFIG_FILTER are defined in your kernel configuration!

2.4.25 の設定を見ながら 2.4.26 を設定した際、CONFIG_FILTER 有効にし忘れていた。 kernel ビルドからやりなおし。

[ Debian GNU/Linux ]

[ 5月9日全て ]

2005年1月28日 (金)

Skype が鳴らないので ALSA にしてみる

いろいろ試してみたが Skype で音声通話ができない。

xmms などで音は出ているし、ThinkPad X31内蔵マイクの音声もちゃんとひろってスピーカーから聞こえているので Linux 側としてはドライバなどきちんと動いている様子なのだが。

Skype のサイトによると OSS を使用するとある。 現在 Linux kernelOSS を使っているんだけれどな。 Web で他を検索すると ALSA を入れて使えるようにしている書き込みとかをみかける。 Skype から ALSAOSS エミュレーションを使うようにするということか。

ALSA にする

ということで ALSA に切り替えることに。 alsa-source Debian パッケージインストールしてから、いつもと同じ流れで Debian kernel パッケージ構築

最初 ALSA で全然鳴らなくて困ったのだが、alsaconf を実行する必要があったのを知らないだけであった。 これを実行したらきちんと音が出るように。

これで Skype を試してみたいのだが相手がいないので、来週会社がはじまるまでテストを保留。

[ 1月28日全て ]

2006年2月23日 (木)

Debian Linux kernel 2.6.15 ビルド

ThinkPad X31 用に 2.6.15 の Debian kernel パッケージ構築を行う。 インストールしてある Debian 標準の 2.6.15 のパッケージの設定 /boot/config-2.6.15-1-686 をベースに設定を行いビルド

 #apt-get build-dep linux-image-2.6.15-1-686
 #exit
 $mkdir -p /usr/local/src/linux
 $cd /usr/local/src/linux
 $tar jxvf /usr/src/linux-source-2.6.15.tar.bz2
 $cd linux-source-2.6.15
 $cp /boot/config-2.6.15-1-686 .config
 $make menuconfig
 $make-kpkg clean
 $fakeroot make-kpkg --revision=sebastian.1.0 kernel_image
 $cd ..
 $su
 #dpkg -i linux-image-2.6.15_sebastian.1.0_i386.deb

ブート後 Kernel panic。

標準の設定では IDE 関係がモジュールになっているのを見落していた。もう一度設定を修正してビルドしなおして起動。 Linux を使い始めたころ ext2 をモジュールにして失敗したことがあり、ファイルシステム関連は忘れずチェックするようにしているのだが、IDE 関連はノーチェックだった。

MADWIFI

 module-assistant prepare
 module-assistant auto-install madwifi
[ 2月23日全て ]

2006年3月10日 (金)

Linux kernel を 2.6.15 にしたらハードディスクへのアクセスが遅くなった理由

2週間ほど前に ThinkPad X31 (2672-PHJ) の Linux kernel を 2.4.27 から 2.6.15 にしたのだが、その頃からか何となく動作がもったりするようになった。 コマンドを実行した際のレスポンスが遅くなったし、amaroK での音楽再生時にもちょっと負荷が上がるとすぐ音が切れるようになってしまった。

まさか kernel の性能が落ちたとは考えにくいので、設定のせいであろう。 感じからして、HDD まわりのようだ。

もしかして DMA?

 #hdparm -t -d /dev/hda

 /dev/hda:
  using_dma    =  0 (off)
  Timing buffered disk reads:    8 MB in  3.10 seconds =   2.58 MB/sec

ビンゴ!

 #hdparm -t -d1 /dev/hda

 /dev/hda:
  setting using_dma to 1 (on)
  HDIO_SET_DMA failed: Operation not permitted
  using_dma    =  0 (off)
  Timing buffered disk reads:    8 MB in  3.05 seconds =   2.62 MB/sec

おや?

[Device Drivers] ---> [ATA/ATAPI/MFM/RLL support] ---> [Intel PIIXn chipsets support] (CONFIG_BLK_DEV_PIIX) がモジュールになっていたのが問題のようだ。

組み込みにして Debian kernel パッケージ構築しなおしてインストール再起動

 hdparm -t -d /dev/hda

 /dev/hda:
  using_dma    =  1 (on)
  Timing buffered disk reads:   84 MB in  3.05 seconds =  27.56 MB/sec

なおった。


[ hdparm ]

[ 3月10日全て ]

2007年12月23日 (日)

Debian Linux kernel 2.6.23 をビルドする。

ThinkPad X31 に入れている Debian GNU/Linux sidLinux kernel を随分アップデートしていなかった(2.6.17 を使用中)。 今日 aufs を入れついでに、一緒に最新(2.6.23)をビルドすることにした。 Debian kernel パッケージ構築は去年の8月以来。

今回は linux-patch-aufs を入れておいて、aufs 用のパッチを当てる。

 #apt-get build-dep linux-image-2.6.23-1-686
 #apt-get install linux-source-2.6.23 linux-patch-aufs
 #exit
 $mkdir -p /usr/local/src/linux
 $cd /usr/local/src/linux

 $tar jxvf /usr/src/linux-source-2.6.23.tar.bz2
 $cd linux-source-2.6.23
 $make menuconfig
 $make-kpkg clean

 $fakeroot make-kpkg --added-patches put_filp,lhash,splice,ksize,sysfs_get_dentry --revision=sebastian.1.0 kernel_image
 $cd ..
 $su
 #dpkg -i linux-image-2.6.23_sebastian.1.0_i386.deb

パッチが一部 2.6.22 用で 2.6.23 には当たらなかったが、よしとしておく。 ここで再起動。次に MADWIFIaufsインストール

 module-assistant prepare
 module-assistant auto-install madwifi
 module-assistant auto-install aufs

いつも入れている shfs も同様に入れようと思ったがこちらはコンパイルエラー。 頻繁に使うわけではないので、とりあえずほっておくことにする。

コンパイルが面倒なのでそろそろ Debian 公式のを使おうかと思ったが、試してみたところ

ということ NG。 やはり自前でビルドしなければならないことを再確認。

[ 12月23日全て ]

2009年2月7日 (土)

Debian Linux kernel 2.6.26 にアップデート

ThinkPad X31 に入れている Debian GNU/Linux sid でしばらく Linux kernel 2.6.23 を使っていたが、TrueCrypt 6.1a を入れたら「2.6.23 以下じゃヤバいよ」と表示されたので 2.6.26 にアップデートすることにした。 Debian 標準イメージを入れてみたが、やはり今まで通りサスペンドできないので、今回もビルドしなおし。

追加で入れるモジュールは aufsMADWIFI

 #apt-get build-dep linux-image-2.6.26-1-686
 #apt-get install linux-source-2.6.26 aufs-source madwifi-source
 #exit

 $mkdir -p /usr/local/src/linux
 $cd /usr/local/src/linux

 $tar jxvf /usr/src/linux-source-2.6.26.tar.bz2
 $cd linux-source-2.6.26
 $cp /boot/config-2.6.26-1-686 .config
 $make menuconfig
 $make-kpkg clean

 $fakeroot make-kpkg --initrd --revision=sebastian.1.0 kernel_image
 $cd ..
 $su
 #dpkg -i linux-image-2.6.26_sebastian.1.0_i386.deb

最初は 2.6.23 の時のソースツリーで make menuconfig したのと見比べながら素から設定したのだが起動中 hda のハードウェアの認識(?)で止まってしまった。 なのでとりあえず起動する .config は Debian 標準イメージのものをベースにすることにした。 変更は ACPI を外して APM を追加した程度。

Debian 標準イメージは IDEext3 もモジュールになっていて initrd 使わないと起動できないので今回から --initrd を指定してビルドすることにした(一度忘れてビルドして起動したら何度かアチャーしたことのある kernel panic になった)。

再起動。起動後 cpufreqd が動かなかったが、modprobe speedstep-centrino したら今までどおり cpufreqd が立ち上がって省電力化できた。

次に MADWIFIインストール。こちらも問題なく接続。

 #module-assistant prepare
 #module-assistant auto-install madwifi

aufs前回の方法で udba=inotify できるモジュールを作成。

TrueCrypt もテストして警告を出さなくなっていることを確認。 火曜日ぐらいから、ちんたら何度かビルドしないしながら昨日ここまで辿りついた。 めでたしめでたし。

しかし Debian 標準イメージの .config 級の設定だとビルドに1回2時間前後だったかかかるようになった(nice 下だけれど)。 トライアンドエラーしはじめるとかなり時間がかかるな。


[ 2月7日全て ]

2009年10月4日 (日)

ThinkPad X31sidLinux kernel 事情

ここ最近 ThinkPad X31Debian GNU/Linux sid が調子が悪い。 いろいろ調査・トライしてみている途中の状態をメモ

状況

  • いつごろからか、サスペンドしても ThinkPad X31 の月ランプが光らなくなった。
  • 8月19日ぐらい(から、使用中に Caps Lock キーが点滅してフリーズするようになった。(記事)。
  • 9月11日ぐらいから digiKam写真データを認識しなくなった(記事)。digiKam 更新で対応。
  • 9月23日ぐらいからサスペンドさせると復帰時に Caps Lock キーが点滅して Kernel panic になるようになった(記事)。
  • 9月29日に X があがらなくなった(記事)。こちらは xserver-xorg-core ダウングレードで対応。
  • Linux kernel 起動時に udev が「今の kernel だとデバイスあたりの処理がおかしくなるかもよ」というような警告を出すようになった。

アプリケーションや X の不具合などと重なって unstable 全開だ。

Linux kernel については各種パッケージの更新に追いつけなくなっているようなので、アップデートをかける必要がありそう。

Linux kernel 再構築

Debian GNU/Linux の標準イメージを使ってみたが、ThinkPad X31 では例によって ACPI では蓋の開閉でサスペンドしない。 APM を使うようにした Debian kernel パッケージ構築が必要。 しかし今年の2月に 2.6.26 をビルドした時(記事)から、いろいろ変更があったようで一筋縄ではいかなかった。 以下は最終的な手順(たぶん)。

 #apt-get build-dep linux-image-2.6.30-2-686
 #apt-get install linux-source-2.6.30 aufs-source
 #exit

 $mkdir -p /usr/local/src/linux
 $cd /usr/local/src/linux

 $tar jxvf /usr/src/linux-source-2.6.30.tar.bz2
 $tar zxvf /usr/src/aufs.tar.bz
 $emacs modules modules/aufs/Makefile
 $cd linux-source-2.6.30
 $cp /boot/config-2.6.30-2-686 .config
 $make menuconfig
 $make-kpkg clean

 MODULE_LOC=/usr/local/src/linux/modules fakeroot make-kpkg --initrd --revision=sebastian.1.0 kernel_image modules_image
 $fakeroot make-kpkg --initrd --revision=sebastian.1.0 kernel_image
 $cd ..
 $su
 #dpkg -i linux-image-2.6.30_sebastian.1.0_i386.deb aufs-modules-2.6.30_0+20090302-3+sebastian.1.0_i386.deb
 #update-initramfs -c -k 2.6.30
 #update-grub
  • aufs inotify を有効にする(記事)必要があるのだが、modules/aufs/debian/conf.mk が無くなっていた。modules/aufs/Makefile 側で同様の設定追加をする必要あり。
  • MADWIFI はコンパイルが通らなくなっていた。
  • 自前で作った linux-image の Debian パッケージが、initrd まわりの処理をうまくしてくれない。自分で update-initramfs した。

MADWIFI はもはやコンパイルが通らなくなっていた。 試してみたところ ath5k で通信できるようになっているではないか。modprobe ath5k すると wlan0 が使えるようになった(MADWIFI の時は ath0)。

initrd 関係は結構はまった。 最初いつも通りビルドして dpkg した後再起動したのだが、"Unable to mount root fs on unknown-block(0, 0)" が出て先にすすまない。 IDE まわりや ext2ext3 まわりを M から y にしても駄目。 何度か試しているうちに、 linux-image を dpkg --install した際に実行される update-grub のメッセージで自分で作った Linux kernel だけ initrd 関係の処理がされないことに気がついた。 自前で update-initramfs したらようやく 2.6.30 が起動するようになった。

2.6.30 にすることで起動時の udev の警告は解消された。 しかしながらサスペンドはまだ駄目。 復帰時にフリーズする。 やはりパワー関係の処理があやしい。今は AC アダプタを外しても KPowersave は気付かない。

もう少しおっかける必要がありそう。

対応できるまではサスペンドできず。毎回起動したりシャットダウンしたりするの面倒くさーい。

[ 10月4日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・プロダクトオーナーをしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.049291s / load averages: 0.38, 0.35, 0.33
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker