qemu-system-arm 运行 裸机镜像

qemu-system-arm run barebox image

请问?我需要在 yocto 中构建一个 barebox 图像,并在 qemu 中构建 运行这样一个 dts 到 barebox 组件中,带有 -M mcimx6ul-evk 选项的 qemu-system-arm 将能够 运行 在 yocto 中构建 barebox?

您可以在 barebox 配置中启用 CONFIG_BOARD_ARM_GENERIC_DT=y,barebox 将生成一个 images/barebox-dt-2nd.img 文件,可以像 Linux 内核一样启动:您可以将它传递给 QEMU -kernel 并且它会从外面收到一个设备树。

barebox 包含一个 test/emulate.pl 脚本,可以为您生成 QEMU 虚拟机。传递它 --dryrun 将打印使用的选项(针对格式进行编辑):

$ ./test/emulate.pl --no-tuxmake --dry-run virt@vexpress_defconfig
/usr/bin/qemu-system-arm -M virt -cpu cortex-a7 -m 1024M -kernel \
   ./build/images/barebox-dt-2nd.img -serial mon:stdio -trace file=/dev/null

在上述情况下,QEMU 将提供设备树,但您也可以传递自己的设备树(确保使用启用板和平台支持的配置构建 barebox,以符合您配置的 FDT 和 QEMU 机器).有关详细信息,请参阅 Emulated targets 上的裸机文档。