at posts/single.html

ブートシーケンス

カーネルを2.4.23にしてからブートドライブの位置 (/dev/hda1) を指定しなければいけないようになった問題だけど、単純に grub.conf の設定が間違っていたみたい。 ちゃんと、genkernelのログに設定方法が書いてあった。

# tail -15 /var/log/genkernel.log | head 10
* Kernel compiled successfully!
* Required Kernel Params:
*   : root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT
*     where $ROOT is the devicenode for your root partition as
*     you should have specified in /etc/fstab
*
* You MUST tell your bootloader to use the generated initrd
*
* Recommended Kernel Params:
*   : vga=0x317 splash=verbose

ということで、grub.confを修正。

# diff -u /boot/grub/grub.conf.20040307 /boot/grub/grub.conf
--- /boot/grub/grub.conf.20040307       2004-03-07  11:26:28.000000000 +0900
+++ /boot/grub/grub.conf        2004-03-07 13:30:05.000000000 +0900
@@ -5,5 +5,5 @@
 # For booting GNU/Hurd
 title  Gentoo Linux (genkernel)
 root   (hd0,0)
-kernel (hd0,0)/boot/kernel-2.4.23_pre8-gss-r2 root=/dev/hda3 vga=791
+kernel (hd0,0)/boot/kernel-2.4.23_pre8-gss-r2 root=/dev/ram0 real_root=/dev/hda3 init=/linuxrc vga=0x317 splash=verbose
 initrd (hd0,0)/boot/initrd-2.4.23_pre8-gss-r2

おそらく、genkernelのバージョンが3.0になってから起動方法が若干変わったんだろう。 root には RAMディスクを指定して、 real_root に本当のルートデバイスを指定するようになっている。

で、これで再起動したところ、起動時にブートドライブの位置を聞かれることはなくなった。 ところが、今度はrootドライブが2重にマウントされてしまった。

$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda3             11204988   4080600   7124388  37% /
/dev/hda3             11204988   4080600   7124388  37% /
none                     95416         0     95416   0% /dev/shm
/dev/hda1                69973      8750     57610  14% /boot

Linux Worldの4月号にも同じ現象が書いてあったな・・・。 muneda's diaryさんのところも、同じみたい。 linuxrc の中でもrootをマウントしているのが原因らしい。

とにかく、場所が場所なのでよく分からないままに色々試すのも危険。 精神衛生上よくないけど、このまま様子見かな。

関連する日記