ページ更新: 2004-01-10 (土) (5398日前)

関連:

[編集]

2004.01.10 #

先日VMwareに入れたsidにkernel-image-2.6.0-1を入れてみた。

再起動したところ、

RAMDISK: cramfs filesystem found at block 0
RAMDISK: image too big! (4180/4096 blocks)
VFS: Cannot open root device "303" or unknown-block(3,3)
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to mount root fs on unknown-block(3,3)

再起動して、ctrlを押してliloのメニューを呼び出し、LinuxOLDを選んだが、 同じく kernel panicする。

う〜む、Sarge(testing) + kernel-image-2.6.0-test9-1-386 は起動したんだがなあ。さすがsidではある。

とりあえずKnoppixのCDで起動して、lilo.confを見たところ、LinuxOLDのエントリに initrd=が指定されてなかった。ありゃりゃ。

とりあえず、LinuxOLDだけでもちゃんと動くよう、次の作業を行った。

  1. 次のようにマウントする。
    mount /dev/hda3 /mnt/hda3        ★ /
    mount /dev/hda1 /mnt/hda3/boot   ★ /boot
  2. lilo.conf (/mnt/hda1/etc/lilo.conf) を修正。
  3. liloを次のようにして実行
    lilo -t -r /mnt/hda3            ★テスト
    lilo -r /mnt/hda3               ★書き込み
  4. 再起動

次に、kernel panicを解消する。

たぶんramdiskの量が足りないのだろうから、増やしてやる。 LinuxOLDで起動して、lilo.confに次のエントリを追加。

append="ramdisk_size=8192"

liloを実行して、再起動したところ、initまではたどり着くようになった。

でも、次の場所でこけるけど。あ、devfsd入れてた!

INIT: version 2.85 booting
Mounting devfs on /dev
/etc/init.d/rcS: line 57:   107 Segmentation fault     $i start
INIT: PANIC: segmentation violation at .... (以後、略)

念のため /etc/init.d/rcS の先頭を #!/bin/sh -x にして、再度試してみる。

+ /etc/rcS.d/S01devfsd start
Mounting devfs on /dev
... (以後、略)

やっぱそうらしいので、devfsdを消して (apt-get --purge remove devfsd) 試してみたところ、ちゃんとログインのプロンプトまでたどり着いた。

んが、ログインしてコマンドを実行すると、またログインプロンプトに戻ってしまう。

Unable to change tty /dev/tty1: Read-only file system

とここらへんで飽きたので、とりあえず保留。

課題

  • devfs, devfsdってなに?
  • kernel 2.6 を入れたとき、既存の設定で問題になりそうな個所は?