无法在QEMU中加载linux或u-boot

时间:2018-01-25 16:07:17

标签: linux-kernel qemu u-boot

我正在尝试使用QEMU来加载u-boot,这样我就可以在那里与控制台进行交互。 u-boot的最终目标没有串口,因此我可以通过模拟器与u-boot控制台进行交互的最简单方法。

当我使用这些标志运行模拟器时,模拟器启动,但没有任何内容打印到控制台:

qemu-system-ppc -nographic -M virtex-ml507 -cpu 440epx -kernel u-boot.bin -dtb virtex440-ml507.dtb -serial mon:stdio -append 'console=ttyS0'

这是找到的herehere建议的组合。

我尝试在没有-nographic标志的情况下运行程序,但收到错误gtk initialization failed

我还尝试使用更多“标准”输入运行模拟器:

qemu-system-ppc -nographic -M virtex-ml507 -cpu 440epx -kernel zImage -dtb virtex440-ml507.dtb -initrd ramdisk.image.gz -serial mon:stdio -append 'console=ttyS0'

您可能会注意到我使用的是zImage而不是bzImage。目前,当我构建内核时,没有生成bzImage。为了彻底,我还在vmlinux中为zImage提供了无效的帮助。

我还尝试在没有-serial-append标志的情况下运行模拟器,允许模拟器处理I / O,如第一个指南中所述。

QEMU似乎运行正常,即没有挂起,因为我仍然可以进入命令模式并正常退出。这似乎是一个切入点问题,但我认为入口点将由模拟器处理,我没有看到任何指导告诉我指定它们。也许我正在使用的文件以某种方式被破坏,因为我没有在其他任何地方运行它们,但我的构建看似正确。

1 个答案:

答案 0 :(得分:0)

首先要记住的是,一般来说,只知道U-Boot和QEMU以及PowerPC适用于' qemu-ppce500'构建目标,这是一个与你上面所针对的440不同的CPU系列。所有这些都说,在尝试做你正在做的事情时,对于PowerPC,你需要使用-bios标志,参数是构建的 u-boot 文件。您不需要也不想传递-dtb,-kernel和-append。