使用QEMU,我可以使用-initrd '${images_dir}/rootfs.cpio
作为initrd,或者将initramfs图像直接传递给-kernel Image
。
但如果我使用gem5 initramfs
尝试fs.py --kernel Image
图片,则会失败:
fatal: Could not load kernel file
使用QEMU能够使用的完全相同的initramfs内核映像。
我没有看到-initrd
的类似物。
我工作的唯一方法是使用原始ext2
将--disk-image
磁盘映像传递给vmlinux
。
https://www.mail-archive.com/gem5-users@gem5.org/msg15198.html
答案 0 :(得分:0)
initrd至少在arm和x86上似乎未实现,因为gem5必须知道如何加载它并通知内核其位置,而grepping initrd
仅显示以下内容对ARM的影响:
src/arch/arm/linux/atag.hh
但它们已被注释掉。
Initramfs可能更容易工作,但是我已经尝试过了,并且内核启动了,并且看不到附件的cpio。
它可以与QEMU在同一内核上运行,我认为唯一的区别是QEMU使用bzImage和gem5 vmlinuz。</ p>
要进行此测试,我还必须传递一个来自gem5 7fa4c946386e7207ad5859e8ade0bbfc14000d91的虚拟磁盘映像,因为脚本不能很好地处理丢失的--disk-image
,您可以转储一些随机的512字节并使用它们: / p>
dd if=/dev/zero of=dummy.iso bs=512 count=1