最小ブートLinux

最小ブートLinux

私はLinux自体を起動しようとしています。主に学習経験のため。小さなハードドライブがあります。ext4パーティションは1つしかありません次のようになります。

/bin/bash             
/dev/console
/boot/vmlinuz         
/boot/grub/grub.cfg
/boot/grub/i386-pc/*.mod

bashバージョン3.0は静的にリンクされており、vmlinuzバージョン3.16.2、grubバージョン2.00rc1です。grub.cfg次のようになります。

insmod linux
insmod search 
insmod ext2
insmod part_msdos
set timeout=5

menuentry 'Linux' {
    set the_root_uuid=a0225737-71c9-4d60-81e2-275dc078c3c1
    search --fs-uuid $the_root_uuid --set=root
    linux /boot/vmlinuz root=$root ro init=/bin/bash
}

開始すると、次のようになります。

kernel panic: VFS could not open device root (hd0,msdos1), or unknown block(0,0) error -6

私は何を見逃していますか?

ベストアンサー1

カーネルには、ルートファイルシステム(ahci sataモジュールやext4モジュールなど)にアクセスするために必要なドライバは含まれていません。

適切なモジュールをロードするinitrd / initramfsを提供するか(モジュールではなく)必要なドライバを静的に含むカーネルをコンパイルする必要があります。

とにかく、rootfsにはモジュールをロードするためのツールが含まれていないので、非モジュラーカーネルを構築することをお勧めします。

おすすめ記事