Debianカーネルコンパイルがうまくいかない詳細編

SATAのHDDにDebianをインストール

DebianSATAのHDDに対応していないため,パッチのあてられた

debian-dell-2.4.31.iso

を使う。入手は http://wiki.osuosl.org/display/LNX/Debian+on+Dell+Servers から。


下記2点が重要。それ以外はデフォルト設定で。

# モジュールの設定時にネットワークカード「tg3」を選ぶ。
# 「基本システムのインストール」はネットワークから

Boot Floppyは作らずにReboot。
※DISCを取り出しておくこと。
※rootのPasswordを入力する際に,入力欄はでてくるが,打っても表示されないことに注意。

"Building Dependency Tree... Done"から先へ進まなかったため,Use security updates from security.debian.org?はやらないことに。
再起動したが無理やりだったらしくうまくいかない。
再インストール。
が、結局先へは進まない。長時間放置を決め込む。
が、駄目。

PCMCIAを削除しなかったところ、先へ進んだ。
基本はデフォルト設定で。

参考:

Debianカーネルコンパイル

の前に再起動ーと思ったら、
http://lists.debian.or.jp/debian-users/200310/msg00091.html
と同じ現象で起動しなくなった。頼みのKNOPPIXも動かなかったため,再インスト。

入れ終わった時点で

Debian GNU/Linux 3.1 dev1 tty1

なのでSarge化はされていた。

# /sbin/lilo

を実行後は起動可能。

# apt-get update
# apt-get install kernel-package
# apt-get install libncurses5-dev
# apt-cache search kernel-source←kernel-sourceの文字列を持つパッケージ一覧の表示
# cd /usr/src
# apt-get install kernel-source-2.6.8←ソースの取得
# tar jxvf kernel-source-2.6.8.tar.bz2←ソースの展開
# cd kernel-source-2.6.8←カレントディレクトリを展開されたディレクトリにしておく

今度はディスク容量が足りない。
パーティション分けした結果と全然違う気がする。

Debianカーネルコンパイル

インストールをやり直してパーティション設定を慎重に行う。そしてカーネルコンパイルまでたどり着く。

# cd /usr/src
# apt-get install kernel-source-2.6.8←ソースの取得
# tar jxvf kernel-source-2.6.8.tar.bz2←ソースの展開
# cd kernel-source-2.6.8←カレントディレクトリを展開されたディレクトリにしておく
dev1:/usr/src/kernel-source-2.6.8# cp /boot/config-2.4.31-bf2.4 .config
# make oldconfig←カーネルの環境の設定:膨大な質問があるが全てデフォルトとした
# make menuconfig←カーネルの環境の調整:今回はPCMCIAだけを外した
# make-kpkg clean←コンパイル環境の初期化
# make-kpkg --append_to_version -1-i686 --initrd --revision alk.1.2 kernel_image
カーネルコンパイル開始:initrdオプションを指定

下記のような作業をしろよ的なエラーがでていたので従う。

# mv /lib/modules/2.6.8-i686 /lib/modules/2.6.8-i686.old

また,注意書きでlilo.confを編集しておくことを忘れずに,とあったので忘れずに編集。

As a reminder, in order to configure LILO, you nedd
to add an 'initrd=/initrd.img' to the image=/vmlinuz
stanza of your /etc/lilo.conf

もうこの注意がきを見たくないなら下記のように、とのこと。

If you have already done so, and you wish to get rid of this message,
please put
"do_initrd = Yes"
in /etc/kernel-img.conf.

だがまだ先へ進まない。別のカーネルを試してみようとしたがエラーがでてapt-get installが動かない。

# rm -r /lib/modules/2.6.8-i686

することで解決。
(何やら2.6.8-i686でエラーがetcがでている。もしかして中途半端にカーネル切り替えしてしまっている?)

最新版のカーネルを入手

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.tar.gz
している間にdselectコマンドから入れられることを知り、そちらに手を出す。
何やら成功してしまった。

と思ったら

Kernel panic: VFS: Unableto mount root fs on unknown-block(8,2)

駄目でした。

参考:

再インストール

dselectを使って最小限で。また/etc/lilo.confの編集を忘れずに。
先ほどのKernel panicよりは先に進みました。

SCSI subsystem initialized
pivot_root: No such file or directory
/sbin/init: 432: cannot open dev/console: No such file
Kernel panic: Attempted to kill init!

KNOPPIX 3.9と4.0をダウンロード

借りているv3.8 enが動かない。
ちょっと怖気づいて日本語サイト(http://unit.aist.go.jp/itri/knoppix/)から。
ftp://unit.aist.go.jp/itri/knoppix/iso/knoppix_v4.0.2CD_20050923-20051116+IPAFont.iso
をダウンロード。

KNOPPIX 3.9起動に成功

ということでDebianの領域にアクセスを試みる。

$ su
# mount -t ext2 /dev/sda2 /mnt/hda2

KNOPPIXのrootのパスワードってデフォルトでなんて設定されているんだろう。
そう思いながらsu[ENTER]とタイプしたらPasswordを聞かれずにrootになれた。

参考:

/mnt/hda2/etc/lilo.confを開くと、エディットしたらlilo実行しなさいよ、と書いてあることに気づく。そこで、

# ./sbin/lilo

がエラーがでて動かない。そりゃパス変わってますからね……ということで断念。

明日またチャレンジするぞー。待ってろよDebian