我正在构建一个简单的 Linux 系统,并使用压缩的 cpio 创建了一个内核和一个 initrd。我的目标是直接启动到 initrd shell,而不是转向另一个存储。
尝试使用QEMU 上的-kernel
和-initrd
选项进行引导,我获得了成功的 shell,但从运行 Coreboot UEFI 的 libvirt VM 和 syslinux 引导加载程序引导时,我无法成功引导。
/vmlinuz initrd=/initrd root=/dev/ram0 rw
我正在尝试使用内核文档来启动,/dev/ram0
以创建 ramdisk 并将我的 initrd 解压缩到其中。
但是当内核尝试挂载 ram0 时,它会得到一个
VFS: Cannot open root device "ram0" or unknown-block(1,0): error -30
我查找错误 -30 但没有成功,内核还提示所有 16 个 ramdisk 都可用,但内核无法使用它们。
BLK_DEV_INITRD
和均已BLK_DEV_RAM
启用