How to build qemu-system-arm in Linux
Most (all?) Linux distributions have a binary package for qemu-system (including qemu-system-arm) in order to emulate non-x86 targets such as ARM, MIPS, PPC, Alpha and more.
However, in some case you may need to very latest version of qemu-system and it may not be able yet for your distribution.
Here’s how to do to build qemu-system-arm without building all qemu-system-***:
-
Download the latest stable version of qemu (qemu 1.0.1 at the time this post was written):
wget http://wiki.qemu.org/download/qemu-1.0.1.tar.gz
or get the latest source code (development tree) which has the very latest features and bug fixes, but may not work or compile:
git clone git://git.qemu.org/qemu.git
or get the latest source code from linaro (which may be more up-to-date for ARM targets):
git clone git://git.linaro.org/qemu/qemu-linaro.git
-
Configure qemu to build ARM targets:
cd qemu ./configure --target-list=arm-softmmu,arm-linux-user
-
Build and install qemu-system-arm:
make -j 2 sudo make install
-
Verify the latest version of qemu-ssytem-arm is installed:
# qemu-system-arm --version QEMU emulator version 1.0,1, Copyright (c) 2003-2008 Fabrice Bellard
-
March 8th, 2012 at 18:00 | #1
For ARM, I’d always prefer the Linaro’s qemu:
http://git.linaro.org/gitweb?p=qemu/qemu-linaro.git -
March 27th, 2012 at 10:04 | #4
@ Tim
I’ve updated the steps to use “sudo make install” instead. Sorry about that.If qemu-system-arm version has not changed, it’s possible your old qemu is installed in a different path.
Assuming the make install worked, run “locate qemu-system-arm” to see the locations of qemu-system-arm.
(If there is only one and this is the old one, run “updatedb” first and then “locate qemu-system-arm”)
If you want to overwrite your old qemu with the new one, you can use –prefix=INSTALL_PATH with configure, something like:
./configure --target-list=arm-softmmu,arm-linux-user --prefix=/usr/local
or you can just use the full path to run it, e.g. /usr/local/bin/qemu-system-arm
-
April 17th, 2012 at 14:52 | #6
@ Eschol
You can run “qemu-system-arm -M ?” to see the list of supported boards.
I can’t see any Qualcomm board that are supported.I’ve searched for “Qualcomm Virtual Platforms”, but could not find any. It appears Qualcomm will be working on this, since they are currently recruiting Virtual platform engineers.
As long as your program does not access the hardware directly, you should be able to run your application in other ARM Cortex A8/A9 based board such as the Beagleboard.
Read more: http://www.cnx-software.com/2012/03/08/how-to-build-qemu-system-arm-in-linux/#ixzz2PYESrTI7
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通