1.2 ubuntu下编译qemu

2022-10-04 20:14:42 浏览数 (1)

文章目录

  • 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。该文件能复制到其他主机上使用(前提是系统版本一样)。

0 人点赞