【问题标题】:How to run yocto developed raspberry pi image in qemu?如何在 qemu 中运行 yocto 开发的树莓派镜像?
【发布时间】:2019-06-18 23:46:31
【问题描述】:
我正在 yocto 中为 raspberry-pi 编译图像。如何开发相同的图像以在 qemu 中运行。
我在 poky(相扑分支)中包含了 meta-raspberrypi 及其依赖项(meta-openembedded)。我不想每次都拍摄图像,闪存在 SD 卡中并在硬件中运行以进行简单的调整。
机器 ??= "raspberrypi2"
这是我在 local.conf 中包含的内容。
那么如何在 qemu 中运行我的图像以检查更改是否已应用。我应该在 local.conf 中包含什么来执行此操作。
【问题讨论】:
标签:
yocto
qemu
meta-raspberrypi
【解决方案1】:
尝试 MACHINE = "qemux86-64",然后对图像进行 bitbake,然后使用 runqemu 脚本。
【解决方案2】:
上面的答案是正确的,但选择了错误的机器。
为了运行使用 meta-raspberrypi 包构建的图像,您需要
注释掉 raspberrypi2 机器并将机器设置为 qemuarm。原因是
raspi2 上的处理器是 32 位 arm 芯片,可以是 Broadcom 2836 或 2837,具体取决于您拥有的 raspi2 版本。如果您有 raspi1 B,那么可能是 Broadcom 2835。您可以在此处查找硬件 (raspi-projects)。
在您的 local.conf 文件中更改行以匹配下面的行。
#MACHINE ??= "raspberrypi2"
MACHINE ??= "qemuarm"
构建镜像
$ bitbake core-image-base
# or
$ bitbake rpi-basic-imag # deprecated
然后你就会有一个可以运行的qemu镜像
$ runqemu qemuarm
我自己已经按照这些步骤创建了我想要的图像,并且正在开发我需要的项目系统。希望这有助于其他人朝着类似的目标前进。