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教程,教程中用到的版本比較老,可以在這里下載較新的版本,安裝原理是類似的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM