基于 Gentoo 的自定义 Live CD 无法启动

基于 Gentoo 的自定义 Live CD 无法启动

我跟着本指南用于构建基于 Gentoo 的自定义 Live CD,但我无法完成完整的启动。内核从 initrd 启动并开始扫描模块。之后,它显示“无法在 中找到根块设备。”并建议我转到 shell。当我尝试进入 shell 模式并执行时,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

答案1

似乎使用make allmodconfig已配置并启用以下变量:

CONFIG_CMDLINE_BOOL
CONFIG_CMDLINE_OVERRIDE

这导致内核用空命令行覆盖 grub 配置中给出的命令行参数,从而导致 init 脚本失败。

相关内容