我在64位内核上,希望在QEMU中运行32位内核。有了压缩的内核映像之后,我尝试使用mkinitcpio创建initramfs映像,但这只创建了一个64位代码的映像( mkinitcpio使用的busybox是64位的,其他可执行文件也是)。
我可以使用gen_init_cpio程序,它是内核的一部分,并以其他方式获得32位可执行文件,但我更愿意避免这种情况,让程序决定内核在rootfs中需要什么。
在运行64位内核时,有什么方法可以获得32位initramfs映像吗?
发布于 2017-07-08 19:51:18
64位系统不会生成32位initramfs,因为它不需要它。所以你必须把32位的发行版安装在色度上。
但这也可能不起作用,因为大多数initramfs生成器,包括mkinitcpio,都会进行模块自动检测。initramfs将只包含特定硬件和设置所需的模块,它不会在其他任何地方工作。最后,对于大多数initramfs生成器,您必须在引导的VM本身中运行它。
您可以禁用模块自动检测,但是initramfs将是巨大的。一种折衷方法是在配置文件中手动指定所需的模块。
https://unix.stackexchange.com/questions/377226
复制相似问题