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 mode配置下,可以執行跟當前平臺指令集不同的平臺可執行程式。例如可以用qemu在x86上執行ARM的可執行程式,但是兩個平臺必須是同一種作業系統,比如Linux。
QEMU還支援很多其他的平臺,詳細列表參見這裡。
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> ...
5. 使用qemu-system-arm
使用qemu-system-arm的方法相對稍微複雜。
這裡有一個qemu-system-arm安裝使用debian教程,教程中用到的版本比較老,可以在這裡下載較新的版本,安裝原理是類似的。
轉自:http://www.cnblogs.com/richardustc/archive/2013/03/15/2961180.html
- 頂
- 0
相關文章
- 編譯qemu-9.0.0編譯
- Typora編譯器使用方法編譯
- 程式碼線上編譯器(上)- 編輯及編譯編譯
- 彙編+qemu玩轉控制檯列印
- nodejsless及時編譯NodeJS編譯
- 關於Delphi中預編譯指令的使用方法 (轉)編譯
- APK編譯及安全防護APK編譯
- EBS form 及 jsp 編譯ORMJS編譯
- QT支援https及編譯OpenSSLQTHTTP編譯
- openssl原始碼編譯及配置方法原始碼編譯
- 【BBED】編譯及基本命令(1)編譯
- hadoop 編譯程式碼及執行Hadoop編譯
- QEMU info
- Android 原始碼的下載和編譯環境的安裝及編譯Android原始碼編譯
- G++編譯連結的那些事!G++的特殊使用方法[常用]編譯
- Typescript安裝及編譯《CMD命令列方法》TypeScript編譯命令列
- MySQL免編譯安裝及登入(5.6.36)MySql編譯
- PHP編譯錯誤及解決辦法PHP編譯
- Java編譯與反編譯Java編譯
- c++進階(一)C語言條件編譯及編譯預處理階段C++C語言編譯
- 編譯qemu的一個修改版本時遇到timer_settime@@GLIBC_2.2'的問題編譯
- JS----預編譯及變數提升詳解JS編譯變數
- RHEL 7特性說明(七):編譯程式及工具編譯
- XHEditor編輯器的使用方法
- 編譯編譯
- Lombok介紹及使用方法Lombok
- MapGis載入及使用方法
- hadoop編譯—+2.x編譯Hadoop編譯
- gcc 編譯器與 clang 編譯器GC編譯
- 編譯器的編譯基本過程編譯
- 一張圖解析 編譯器編譯流程圖解編譯
- ubuntu下編譯交叉編譯工具鏈Ubuntu編譯
- [譯]iOS編譯器iOS編譯
- 從 JS 編譯原理到作用域(鏈)及閉包JS編譯原理
- MDK編譯過程及檔案型別全解編譯型別
- cesium原始碼編譯除錯及呼叫全過程原始碼編譯除錯
- 交叉編譯和交叉除錯環境搭建及使用編譯除錯
- GCC 使用指南及gcc最佳編譯引數(轉)GC編譯