系统相关
首页 > 系统相关> > 无法在QEMU上运行Linux内核映像

无法在QEMU上运行Linux内核映像

作者:互联网

我已经从树上编译了Linux内核(稳定),并获得了initrd和bzImage.我尝试在qemu模拟器上运行它,但是在指定根文件系统分区时遇到问题. (我知道这是从中运行initrd加载的分区).

我的系统是Windows上通过Wubi安装的Ubuntu 12.04.

我一直在使用的命令是

qemu-system-x86_64 -kernel bzImage  -initrd initrd.img-3.11 -append "root=/no-clue-what-to-put"

我知道root是指定根分区所在位置的参数.任何帮助此图像在qemu上运行的帮助,将不胜感激.

解决方法:

您实际上是否有磁盘映像和根文件系统提供给qemu和您的内核?

要启动Linux系统,您需要的不仅仅是Linux内核.对于qemu,您还需要包含在虚拟磁盘映像中的根文件系统.这将包含内核引导完成后由其“控制”的程序,通常是“ init”或“ systemd”.

因此,您必须生成一个包含根文件系统的qemu磁盘映像.如果创建它时使根文件系统位于虚拟磁盘的第一个分区上,则可以使用“ -hda / path / to / qemu / disk / image”将虚拟磁盘指定为qemu的参数,然后可以告诉内核使用带有-append“ root = / dev / sda1”的虚拟磁盘的第一个分区(根据您创建的磁盘映像的类型,它也可以是/ dev / vda1或/ dev / hda1).

因此,您的最终命令将类似于:

qemu-system-x86_64-内核bzImage -initrd initrd.img-3.11 -hda / path / to / your / qemu / disk / image-附加“ root = / dev / sda1”

标签:linux-kernel,qemu,emulation,linux
来源: https://codeday.me/bug/20191030/1968338.html