- ベストアンサー
VMWare上のkernel再構築
VMWare 上のRedHat9でカーネルの再構築(練習)で失敗しています。お助けください。 現在のカーネル2.4.20に2.4.23を追加する。 make mrproper make menuconfig make bzImage make modules make modules_install 以上完了 /boot/grub/grub.confは次のようになっています # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/hda2 # initrd /initrd-version.img #boot=/dev/hda default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Linux (2.4.20-8) root (hd0,0) kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi initrd /initrd-2.4.20-8.img これに追加して title Red Hat Linux (2.4.23) root (hd0,0) kernel /vmlinuz-2.4.23 ro root=LABEL=/ hdc=scsi initrd /initrd-2.4.20-8.img を記述して再起動し2.4.23を選択するとdmssgの途中で NET4:Unix domain sockets1.0/SMP for Linux NET4.0 ds:no socket driver loaded VFS:Cannot open root device "/LABEL=/" or 00:00 Kernel panic:VFS:Unable to mount root fs on 00:00 で停止します。 kernel /vmlinuz-2.4.23 ro root=/dev/hda1 (註/bootパーティション) としてもdmesgは停止位置はほぼ同じで内容は以下のとおりです。 Kernel panic:No init found.Try passing=option to karnel 何かヒントを頂けるとありがたいのですが・・・よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 VMWareWorkstation 5.5.1 にRedHat9をインストールして、 カーネル再構築(2.4.23へ)してみました。 (RedHat9はTypicalでインストール、ハードディスクはSCSI) # uname -rm 2.4.20-8 i686 # cd /usr/src/linux-2.4.23/ # make mrproper # cp /boot/config-2.4.20-8 .config (最初のカーネル設定ファイルを利用する) # make oldconfig (めんどくさいので全ての質問にリターンキーを押す) (# make menuconfigは取りあえず省略した) # make dep clean bzImage # make modules modules_install # make install menu.lstに新しいカーネルが自動的に登録されるので確認する。 cat /boot/grub/menu.lst 再起動 新しいカーネルで動いている事を確認 # uname -rm 2.4.23 i686 こんな感じです。参考にして下さい。 ※ カーネルが変わったので当然 vmware-config-tools を再実行してください。
その他の回答 (5)
- astronaut
- ベストアンサー率58% (303/516)
Advanced Partition Typeは関係なさそう. VMwareなので,HDDのインターフェースはSCSIだと思いますが, その辺に問題あるんですかね? ところで,カーネルの設定は白紙の状態からスタートしてるのですか? それだとちょっと辛いかも. RedHatのカーネルで起動して,/sbin/lsmodして表示されるモジュールは 作るようにしてみましょう. それでもダメなら,まずは,RedHat-9の設定をベースに調整されてはいかがですか? RedHat-9のカーネルソースに各種configファイルが含まれているので それを.configにコピーしてmake oldconfig. これで起動可能なカーネルがコンパイルできることを確認した後,不要 な機能を外していくのが良さそうです.
- astronaut
- ベストアンサー率58% (303/516)
すみません. エラーをよく見ると,ramdisk関係が原因じゃないのかも. > VFS:Cannot open root device "/LABEL=/" or 00:00 File systems ---> Ext3 journalling file system support を<*>もしくは<M>にする. あと, > kernel /vmlinuz-2.4.23 ro root=/dev/hda1 で,「No init found」と怒られているのは,多分「root=…」のところに正しいrootパーティションを指定していないからです.(/dev/hda2かな?)
お礼
すみません。お礼でなくて追伸です 前回ご指摘のkernel /vmlinuz-2.4.23 ro root= の設定はどの方法でも同じところでとまります。 又、 >File systems ---> Ext3 journalling file system support >を<*>もしくは<M>にする. も設定しました。
補足
astronautさん、今晩は。 二日ぶりのご報告です。まだだめでした。 dmesgの82行目あたりの hdc: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: 14680064 sectors (7516 MB) w/32KiB Cache, S=913/255/63, UDMA(33) ide-floppy driver 0.99.newide Partition check: hda: hda1 hda2 hda3 hda4 < で停止しました。以前はおそらく93行目 NET4:Unix domain sockets 1.0/SMP・・・・ まで進んでいましたからちょっと後退でしょうか? つぎはPartition Typesの修正でしょうか。現在は以下のようになっています。 # Partition Types # # CONFIG_PARTITION_ADVANCED is not set CONFIG_MSDOS_PARTITION=y CONFIG_SMB_NLS=y CONFIG_NLS=y 何か新しいアドバイス頂ければ幸いです。 追伸:止まってしまう新カーネルが吐き出すdmesgのコピーをとる方法はありますか。
- astronaut
- ベストアンサー率58% (303/516)
え? 一応linux-2.4.23.tar.bz2を落として確認したんですけど・・・ # make menuconfig Block devices ---> RAM disk support ありませんか?
補足
大変失礼しました。ありました。これから再度挑戦します。
- astronaut
- ベストアンサー率58% (303/516)
CONFIG_BLK_DEV_RAM=y になっていなかったら,yにしてみてください. 2.4系列のカーネルの構築は随分やっていないので自信なしですが.
補足
ヒント、有難うございます。 がmenuconfigに見当たりません。何かのサブに入っているのでしょうか? >CONFIG_BLK_DEV_RAM=y
- mtfoggy
- ベストアンサー率14% (37/255)
>make modules >make modules_install >以上完了 モジュールしかインストールしてませんけど。。
補足
記入漏れがあります。 mkinitrd /boot/initrd-2.4.23.img 2.4.23 カーネルイメージbzImageを/boot/vmlinuz-2.4.23としてコピー。 System.mapを/boot/System.map-2.4.23としてコピーしました。 尚先の質問投稿中 grub.confの最終行 initrd /initrd-2.4.20-8.imgはミスプリントで正しくは initrd /initrd-2.4.23.imgです。 以上よろしくお願いいたします。
補足
>VMwareなので,HDDのインターフェースはSCSIだと思いますが, >その辺に問題あるんですかね? 何度もやってみて、難しいのは、仰せのとおりSCSI関連だと感じました。 カーネルソースの各種configファイルを利用してmake oldconfigをトライしdmesg 125行あたりまで進みましたがやはり成功していません。 この辺で締め切りお礼を投稿したいと思いますが、最後に何かありましたらコメントをいただけませんか。