我想模仿BeagleBone Black。似乎QEMU是唯一支持ARM的Linux仿真的仿真器。但是我很难找到合适的模拟器。
我尝试使用qemu.org中的QEMU构建,但似乎机器" beagle"不支持(也来自" qemu-system-arm -machine help&#34的输出;并不是最小的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"下载并添加了公钥。命令。
这似乎是在做完" sudo apt-get update"和" apt-cache显示qemu-system"我看到以下内容:
包装:qemu-system 资料来源:qemu-linaro 版本:2.2.0~rc3 + git8 + gdb12451-63linaro + trusty 架构:amd64 维护者:Ubuntu开发人员 已安装尺寸:133812 取决于:qemu-linaro-keymaps,libasound2(&gt; = 1.0.16),libbluetooth3(&gt; = 4.91),libbrlapi0.6,libc6(&gt; = 2.15),libcurl3-gnutls(&gt; = 7.16.3), libfdt1,libgcc1(&gt; = 1:4.7),libgl1-mesa-glx | libgl1,libglib2.0-0(&gt; = 2.24.0),libgnutls26(&gt; = 2.12.17-0),libncurses5(&gt; = 5.5-5~),libpixman-1-0(&gt; = 0.15。 16),libpng12-0(&gt; = 1.2.13-4),libpulse0(&gt; = 1:0.99.1),libsasl2-2(&gt; = 2.1.24),libsdl1.2debian(&gt; = 1.2。 11),libstdc ++ 6(&gt; = 4.6),libtinfo5,libuuid1(&gt; = 2.16),libvdeplug2,libx11-6,zlib1g(&gt; = 1:1.2.0) 建议:桑巴舞 中断:qemu(&lt; <0.11.0-2),qemu-kvm-extras(&lt;&lt; 0.13.50-2011.02-0~rc1-0ubuntu1) 取代:qemu(&lt; <0.11.0-2),qemu-kvm-extras(&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; 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帮助没有显示任何beagle)。
所以我想知道是否有人知道在Ubuntu上安装QEMU的地方有BeagleBone支持。我应该添加另一个存储库吗?我是Ubuntu,apt和Linaro的新手,所以我到目前为止都没有想法。
答案 0 :(得分:11)
我遇到了你的问题,因为我整天都试图做同样的事情。我也在使用(X)ubuntu 14.04。
简短的回答是:没有开箱即用的支持Beagle Bone 的QEMU。
你对qemu-linaro有一些支持OMAP3是正确的,包括 beagle 和 beaglexm 。这些适用于 Beagle Board 和 Beagle Board xM 。 Beagle Board 系列使用OMAP 3530,而Beagle Bone 系列(常规和黑色,与我一样)使用OMAP 335x。
此外,我无法找到包含二进制qemu-linaro的工作PPA。您尝试安装的旧版本曾用于包含QEMU,但不再包含QEMU - 即使是可靠的(14.04)。
根据Saucy (13.10) qemu-linaro的包裹清单,在该PPA中。
但Trusty (14.04)消失了。我不知道为什么你的apt-cache显示任何东西 - 我甚至无法复制它。
您可以构建支持OMAP 3和Beagle Board 的QEMU版本:
所以我做的是克隆git repo并编译qemu-linaro。这很简单,您可能只需要为库依赖项添加一些-dev包。我的机器已经拥有了大部分所需的东西。
此版本提供-M beagle或-M beaglexm选项。
然后我花了一整天的时间试图找出为什么我的Beagle Bone MDL和U-Boot在弄清楚 Bone != Board 。 Gah ......他们的内存映射略有不同,并且不是相同的东西。
所以现在我为Beagle Board 而不是 Bone 重建我的测试图像,它实际上是用最新的qemu-linaro启动的!
令人遗憾的是,OMAP 3尚未升级到主要的QEMU。一年前有一些关于它的邮件列表流量,但它似乎没有去过任何地方。似乎并不是很难添加Beagle Bone Black机器类型,但这种情况还没有发生。