QEMU 的重新编译(上)

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注