GentooベースのカスタムライブCDを作成するために このガイド に従いましたが、完全なブートを実行することができませんでした。カーネルはinitrdから起動し、モジュールのスキャンを開始します。その後、「でルートブロックデバイスが見つかりませんでした」と表示されます。シェルに立ち寄るように勧めます。シェルモードに入ってcat /dev/loop0
を実行しようとすると、何も表示されません。カーネルがsquashfsイメージをループデバイスにバインドしていないようです。私のmenu.lst:
default 0
timeout 7
splashimage=/boot/grub/splash.xpm.gz
title=LiveCD
kernel /boot/kernel-genkernel-x86_64-3.7.10-gentoo-r1 real_root=/dev/loop0 looptype=squashfs loop=/livecd.squashfs vga=ask initrd udev nodevfs cdroot dodmraid rootfstype=squashfs
initrd /boot/initramfs-genkernel-x86_64-3.7.10-gentoo-r1
title=LiveCD NO-FB
kernel /boot/kernel-genkernel-x86_64-3.7.10-gentoo-r1 real_root=/dev/loop0 looptype=squashfs loop=/livecd.squashfs initrd udev nodevfs cdroot dodmraid rootfstype=squashfs
initrd /boot/initramfs-genkernel-x86_64-3.7.10-gentoo-r1
title=Memtest86+
kernel /boot/memtest86plus/memtest.bin
fstab:
/dev/loop0 / squashfs defaults 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
make allmodconfig
を使用して、次の変数をオンにして構成を行ったようです。
CONFIG_CMDLINE_BOOL
CONFIG_CMDLINE_OVERRIDE
これにより、カーネルはgrub構成で指定されたコマンドラインパラメーターを空のコマンドラインでオーバーライドし、initスクリプトで失敗しました。