nDiki
2009年10月4日 (日)
■ ThinkPad X31 と sid の Linux kernel 事情

ここ最近 ThinkPad X31 の Debian 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 まわりや ext2、ext3 まわりを M から y にしても駄目。 何度か試しているうちに、 linux-image を dpkg --install した際に実行される update-grub のメッセージで自分で作った Linux kernel だけ initrd 関係の処理がされないことに気がついた。 自前で update-initramfs したらようやく 2.6.30 が起動するようになった。
2.6.30 にすることで起動時の udev の警告は解消された。 しかしながらサスペンドはまだ駄目。 復帰時にフリーズする。 やはりパワー関係の処理があやしい。今は AC アダプタを外しても KPowersave は気づかない。
もう少しおっかける必要がありそう。
対応できるまではサスペンドできず。毎回起動したりシャットダウンしたりするの面倒くさーい。
- Debian Linux kernel 2.6.26 にアップデート (2009-02-07)
- Debian Linux kernel 2.6.23 をビルドする。 (2007-12-23)
- Debian Linux kernel 2.6.15 ビルド (2006-02-23)
- 今日のさえずり - 今日も勢いのあるいい小便でした (2009-09-27)
- ThinkPad X31 と Linux kernel 2.6 (2006-02-22)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.18859s / load averages: 0.20, 0.25, 0.20
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。