我已经从树上编译了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”