支持 BeagleBone 的 QEMU

QEMU with BeagleBone support

我想模拟 BeagleBone Black。似乎 QEMU 是唯一支持 Linux ARM 仿真的仿真器。但是我很难获得合适的模拟器。

我尝试使用 qemu.org 构建的 QEMU,但似乎 "beagle" 机器不受支持(同样从 "qemu-system-arm -machine help" 的输出来看,至少有 beagle 作为受支持的机器)。我发现一些帖子说 Linaro 有一个支持 BeagleBone 的 qemu 构建,并且可以在 Ubuntu 上使用 apt-get 安装它。还有一个带有说明的 youtube 视频:

https://www.youtube.com/watch?v=__6XmxOrL3o

然而,这些说明似乎不再有效。我有 Ubuntu 14.04。我尝试了以下方法:

1) sudo add-apt-repository ppa:linaro-maintainers/tools

这会超时并报告错误的 PPA 格式。

2) 然后我按照这里的说明操作:

https://wiki.linaro.org/Platform/Systems/Repository

但是,在添加这些存储库之后,没有添加任何 qemu,所以在我的 apt 存储库中,我只有来自 qemu.org 的 qemu(不支持 beaglebone)

3) 然后我找到了这个页面:

https://launchpad.net/~linaro-maintainers/+archive/ubuntu/tools

所以我尝试了以下方法:

sudo add-apt-repository http://ppa.launchpad.net/linaro-maintainers/tools/ubuntu

然后还使用 "sudo apt-key add" 命令下载并添加了 public 密钥。

这似乎在执行 "sudo apt-get update" 和 "apt-cache show qemu-system" 之后工作,我看到以下内容:

安装包:qemu-系统 来源:qemu-linaro 版本:2.2.0~rc3+git8+gdb12451-63linaro+trusty 架构:amd64 维护者:Ubuntu 开发者 安装尺寸:133812 取决于:qemu-linaro-keymaps、libasound2 (>= 1.0.16)、libbluetooth3 (>= 4.91)、libbrlapi0.6、libc6 (>= 2.15)、libcurl3-gnutls (>= 7.16.3)、libfdt1、libgcc1 ( >= 1:4.7), libgl1-台面-glx | libgl1、libglib2.0-0 (>= 2.24.0)、libgnutls26 (>= 2.12.17-0)、libncurses5 (>= 5.5-5~)、libpixman-1-0 (>= 0.15.16)、libpng12 -0 (>= 1.2.13-4), libpulse0 (>= 1:0.99.1), libsasl2-2 (>= 2.1.24), libsdl1.2debian (>= 1.2.11), libstdc++ 6 (>= 4.6)、libtinfo5、libuuid1 (>= 2.16)、libvdeplug2、libx11-6、zlib1g (>= 1:1.2.0) 建议:桑巴舞 中断:qemu (<< 0.11.0-2), qemu-kvm-extras (<< 0.13.50-2011.02-0~rc1-0ubuntu1) 替换:qemu (<< 0.11.0-2), qemu-kvm-extras (<< 0.13.50-2011.02-0~rc1-0ubuntu1) 主页:https://launchpad.net/qemu-linaro/

(我只贴了前几行)

但是安装了qemu-system(sudo apt-get install qemu-system)后,仍然没有BeagleBone支持(qemu-system-arm -machine help没有显示任何beagle)。

所以我想知道是否有人知道在 Ubuntu 上安装支持 BeagleBone 的 QEMU 的位置。我应该添加另一个存储库吗?我是 Ubuntu、apt 和 Linaro 的新手,所以到目前为止我没有想法。

我 运行 回答了你的问题,因为我整天都在尝试做同样的事情。我也在使用 (X)ubuntu 14.04.

简短的回答是:没有开箱即用的支持 Beagle Bone 的 QEMU。

关于 qemu-linaro 对 OMAP3 有一些支持的说法是正确的,包括 beaglebeaglexm。这些用于 Beagle BoardBeagle Board xM . Beagle Board 系列使用 OMAP 3530,而 Beagle Bone 系列(常规和黑色,就像我一样)使用 OMAP 335x。

此外,我找不到包含二进制 qemu-linaro 的有效 PPA。您尝试安装的旧版本曾经包含 QEMU,但现在不再包含了 - 即使是 trusty (14.04)。

根据 Saucy (13.10) 的软件包列表,qemu-linaro 在那个 PPA 中。

但是 Trusty (14.04) 就消失了。我不知道为什么你的 apt-cache 显示任何东西 - 我什至无法复制它。

您可以构建一个支持 OMAP 3 和 Beagle 的 QEMU 版本 Board:

所以我所做的就是克隆 git 存储库并编译 qemu-linaro。这很简单,您可能只需要为库依赖项添加一些 -dev 包。我的机器已经具备大部分所需内容。

此版本提供 -M beagle 或 -M beaglexm 选项。

然后我花了一整天的时间试图弄清楚为什么我的 Beagle Bone MDL 和 U-Boot 在弄清楚 Bone 之前一直崩溃!= 棋盘。啊...它们的内存映射略有不同,不是同一件事。

所以现在我为 Beagle Board 而不是 Bone 重建了我的测试镜像,它实际上使用最新的 qemu-linaro 启动!

很遗憾,OMAP 3 还没有上游到主要的 QEMU 中。一年前有一些关于它的邮件列表流量,但它似乎并没有消失。添加 Beagle Bone Black 机器类型似乎并不困难,但这也没有发生。