Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 内核无法获取选项";init";当指定;根“;在QEMU_Linux_Kernel_Boot - Fatal编程技术网

Linux 内核无法获取选项";init";当指定;根“;在QEMU

Linux 内核无法获取选项";init";当指定;根“;在QEMU,linux,kernel,boot,Linux,Kernel,Boot,我构建了Linux内核3.12.8和busybox-1.22.1,获得了bzImage并使用busybox实用程序创建了rootfs.img。然后我使用QEMU: qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -hda ../rootfs.img -append "root=/dev/hda init=/bin/sh" 它说没有init,并告诉我将init传递给内核。 如果我写“init=/bin/sh root=/dev/hda”,它

我构建了Linux内核3.12.8和busybox-1.22.1,获得了bzImage并使用busybox实用程序创建了rootfs.img。然后我使用QEMU:

qemu-system-x86_64 -kernel arch/x86_64/boot/bzImage -hda ../rootfs.img -append "root=/dev/hda init=/bin/sh"
它说没有init,并告诉我将init传递给内核。 如果我写“init=/bin/sh root=/dev/hda”,它会告诉我root是(null)并且无法装载。 我还尝试了-append“root=/dev/hda”-append“init=/bin/sh”;根也是(null)。 如何将init传递给内核?
谢谢。

只要将init放入适当的文件夹,就不需要
init=
指令
/sbin/init
是一个很好的地方,例如,已经有/sbin/init链接到busybox。您是否
chmod+x/sbin/init
?当然。它是可执行的。我想你想要的是
root=/dev/hda1
意味着地址是分区,而不是磁盘