@cyysu
2017-10-20T03:18:50.000000Z
字数 1264
阅读 835
- 时间:2017年10月17日
- 作者:Kali
- 邮箱:cyysu.github.io@gmail.com/2869905223@qq.com/微信lwyx1413
- 版本:4.0
- 描述:QEMU简介
QEMU模拟器系列教程
QEMU是一个支持跨平台虚拟化的虚拟机,有user mode和system mode两种配置方式。
QEMU在system mode配置下模拟出整个计算机,可以在qemu之上运行一个操作系统。QEMU的system mode与常见的VMware和Virtualbox等虚拟机比较相似,但是QEMU的优势是可以跨指令集。例如,VMware和Virtualbox之类的工具通常只能在x86计算机上虚拟出一个x86计算机,而QEMU支持在x86上虚拟出一个ARM计算机。qemu在user
QEMU在user mode配置下,可以运行跟当前平台指令集不同的平台可执行程序。例如可以用qemu在x86上运行ARM的可执行程序,但是两个平台必须是同一种操作系统,比如Linux。
QEMU还支持很多其他的平台,详细列表参见这里。
https://qemu.weilnetz.de/doc/qemu-doc.html#intro_005ffeatures
QEMU中有两个重要的名词host和target(guest),其中host表示qemu程序本身运行的平台,target(guest)表示qemu虚拟出的计算机平台(system mode)或支持的可执行程序的运行平台(user mode)。
下面描述一下编译和使用host为x86,target(guest)为ARM的步骤
1. 下载QEMU源码
wget http://wiki.qemu-project.org/download/qemu-1.4.0.tar.bz2
2. 解压、configure
tar xvf qemu-1.4.0.tar.bz2
cd qemu-1.4.0
./configure --target-list=arm-softmmu,arm-linux-user --prefix=<prefix>
其中--target-list指定需要编译的target(guest),arm-softmmu表示要编译system mode的QEMU,arm-linux-user表示要编译user mode的QEMU。
如果configure提示缺少某些库的话,按照提示安装即可。
3. make和安装
make && make install
编译完成之后,得到的qemu-system-arm对应的就是system mode的虚拟机,qemu-arm对应的就是user mode的模拟器。
4. 使用qemu-arm
使用qemu-arm的方法很简单,只需要在原来的程序执行命令之前添加qemu-arm即可。
例如: 原来运行命令
<executable> <arg1> <arg2> ...
使用qemu-arm运行
qemu-arm <executable> <arg1> <arg2> ...
支付宝 微信