文章目录
- 1. 下载源码
- 1.1 官网下载
- 1.2 git 下载
- 2. 安装依赖
- 3. 编译
- 3.1 动态编译
- 3.2 静态编译
1. 下载源码
1.1 官网下载
源码地址:https://www.qemu.org/
解压:
代码语言:javascript复制tar xvf qemu-7.0.0.tar.xz
1.2 git 下载
通过git方式下载
代码语言:javascript复制git clone git://git.qemu.org/qemu.git
cd qemu
git submodule init
git submodule update --recursive
以上两种方法没有优劣,选择其中之一便可。
2. 安装依赖
代码语言:javascript复制# 安装依赖
sudo apt install pkg-config libglib2.0-dev libpixman-1-dev bison flex libfdt-dev libsdl2-dev re2c ninja-build
3. 编译
3.1 动态编译
代码语言:javascript复制# 配置
./configure --target-list=aarch64-softmmu --enable-trace-backends=simple,log --disable-werror
# make
# 在build目录下会生成可执行文件:qemu-system-aarch64
make -j8
编译需要一段时间,编译完成后在build目录下会生成可执行文件:qemu-system-aarch64。 这种方法编译的二进制文件只能在本机用,复制到其他机器上就无法使用。如果想在本机编译的二进制文件能在其他机器上使用,则需要使用静态编译。
3.2 静态编译
修改一下配置文件,变可以静态编译
代码语言:javascript复制# --disable-werror : 禁用编译时出现warning而报错,例如定义变量而未使用,定义函数而未使用。
# --static :使用静态编译,保证编译后的程序运行不依赖共享库,--disable-xkbcommon --disable-libudev --disable-sdl --disable-gtk等必须加上后才能静态编译成功。
./configure --target-list=aarch64-softmmu --enable-trace-backends=simple,log --disable-werror --static --disable-xkbcommon --disable-libudev --disable-sdl --disable-gtk
# make,在build目录下会生成可执行文件:qemu-system-aarch64
make -j8
编译需要一段时间,编译完成后在build目录下会生成可执行文件:qemu-system-aarch64。该文件能复制到其他主机上使用(前提是系统版本一样)。