Debianカーネルコンパイルがうまくいかない詳細編
SATAのHDDにDebianをインストール
DebianはSATAのHDDに対応していないため,パッチのあてられた
を使う。入手は 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オプションを指定
下記のような作業をしろよ的なエラーがでていたので従う。
また,注意書きで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。