QEMU 是功能强大的虚拟机,支持了大量的CPU 同时可以直接使用 EDK2 作为启动BIOS。之前我介绍过如何编译VirtualBox 的代码以便修改它使用的ASL Code,这次介绍一些如何重新编译 QEMU,具体方法如下(方法来自https://my.oschina.net/ejoyc/blog/1587798):
我是在 VirtualBox 的虚拟机中测试的,操作系统是Win10 16299。
[1] 安装msys2
打开msys2官网http://www.msys2.org/下载x64版的msys2, 安装到目录c:\msys64
Python环境也是需要的, 安装Python2.7.12到目录D:\Python27
[2] 更新源
进入目录c:\msys64\etc\pacman.d
在mirrorlist.msys的前面插入
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
在mirrorlist.mingw32的前面插入
Server =
http://mirrors.ustc.edu.cn/msys2/mingw/i686
在mirrorlist.mingw64的前面插入
Server =
http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
[3] 更新msys2
pacman -Syu
这里会有一次异常,具体现象是出现一个错误提示然后就不动了。直接叉掉窗口之后重新启动虚拟机再次执行上面这个命令,等待完成即可。
pacman -Su
[4] 准备编译环境
将代码放在 c:\msys64\home
目录下
通过“MSYS2 MinGW 64-bit”打开msys2终端:
Cd..
这步之后会进入 home 目录下
PATH=/c/Python27:/c/Python27/DLLs:$PATH
pacman -S base-devel git
pacman -S mingw-w64-x86_64-binutils mingw-w64-x86_64-crt-git
pacman -S mingw-w64-x86_64-headers-git
mingw-w64-x86_64-gcc-libs
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb
mingw-w64-x86_64-make
pacman -S mingw-w64-x86_64-tools-git mingw-w64-x86_64-pkg-config
pacman -S mingw-w64-x86_64-winpthreads-git
mingw-w64-x86_64-libwinpthread-git
pacman -S mingw-w64-x86_64-winstorecompat-git
mingw-w64-x86_64-libmangle-git
pacman -S mingw-w64-x86_64-pixman mingw-w64-x86_64-SDL2
mingw-w64-x86_64-glib2
pacman -S mingw-w64-x86_64-capstone
上述命令中除了第一个其他都能很快完成,当然也和你的网络有很大关系。当你不确定是否卡死的时候,可以用任务管理器查看 CPU占用率确定。
[5] 编译QEMU
下载最新的 Qemu 我用的是qemu-4.2.0.tar
tar xvf qemu-4.2.0.tar (原文提供的是tar.xy 文件,使用这个命令tar
xvJf qemu-2.10.1.tar.xz)
cd ./qemu-2.10.1.tar
mkdir build
cd build
../configure
--prefix=/qemu --target-list=x86_64-softmmu --enable-sdl --enable-tools
make
make install
我们只需要 X64的虚拟机,所以target-list 指定 x86_64-softmmu 即可。
[6] 使用qemu
此时qemu就编译完成并安装到c:\msys2\qemu目录中。这里生成的 QEMU 没有办法直接运行,还需要打开 msys2 MinGW 64-bit 然后到生成的 qemu
目录中,用 ./qemu-system-x86_64w.exe 即可以运行。
整体来说上面的方法比较麻烦,但是操作下来还是比较顺利的。
上面所需的工具我都放在网盘中了,文件如下:
qemu-w64-setup-20200201.exe 这是QEMU网站提供的官方 Windows 64位安装程序
python-2.7.12.amd64.msi Python 2.7
msys2-x86_64-20190524.exe MSYS2 安装文件
qemu-4.2.0.tar QEMU 4.0.0 源代码
分享链接 https://pan.baidu.com/s/1_7pAiRKDZEstrccGWZBYeQ 密码: vpzr