从 libvirt 虚拟机上的 initrd 启动(UEFI + syslinux)

从 libvirt 虚拟机上的 initrd 启动(UEFI + syslinux)

我正在构建一个简单的 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启用

相关内容