Qemu 之安装
Qemu 有两种安装方式:
- apt 下载二进制文件,可以直接用,但是换版本、卸载等比较麻烦
- 源码编译安装,需要一定的配置,但是自由度比较高
这里主要介绍源码编译安装的方式:
0、安装依赖
这部分参考文档 https://wiki.qemu.org/Hosts/Linux
# 针对 Ubuntu LTS, 必需的包
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build# 建议安装的额外的包, qemu: 为了额外的功能
sudo apt-get install git-email
sudo apt-get install libaio-dev libbluetooth-dev libcapstone-dev libbrlapi-dev libbz2-dev
sudo apt-get install libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev
sudo apt-get install libibverbs-dev libjpeg8-dev libncurses5-dev libnuma-dev
sudo apt-get install librbd-dev librdmacm-dev
sudo apt-get install libsasl2-dev libsdl2-dev libseccomp-dev libsnappy-dev libssh-dev
sudo apt-get install libvde-dev libvdeplug-dev libvte-2.91-dev libxen-dev liblzo2-dev
sudo apt-get install valgrind xfslibs-dev# 除此之外, 安装以下这两个包, 后续可能会报错缺少这两个包
# 这部分 主打一个 缺啥安装啥
sudo apt-get install flex
sudo apt-get install bison
1、下载源码
git clone https://github.com/qemu/qemu.git
或者其他方式
2、进入源码文件夹
cd qemu # 这里的qemu替换成自己的qemu源码文件夹
3、配置目标平台并指定安装路径
./configure --target-list=aarch64-softmmu,riscv64-softmmu,aarch64-linux-user,riscv64-linux-user --prefix=/opt/qemu
这里使用 --target-list
指定了目标平台、--prefix
指定了随后的安装路径
其中 xxx-softmmu
表示的是模拟整个物理机,使用 qemu-system-xxx
命令
xxx-linux-user
仅模拟用户应用程序,使用 qemu-xxx
命令
我这里的配置支持模拟arm
和riscv
的64位机器,以及两个平台上的应用程序
注意:
-
如果不使用
--target-list
,会编译安装各种平台的Qemu模拟器(aarch64,riscv64等) -
不指定
--prefix
,一般会安装到/usr/local
,建议自定义一个路径
如果要添加新的目标平台,则直接在qemu的源码目录执行 make clean
,然后重新配置、编译、安装即可
4、编译安装
make -j8 # 因为我是8核处理器,所以指定了多线程编译,加快编译的速度,根据实际情况指定,默认为1
sudo make install # 安装到刚才 --prefix 指定的路径下
5、添加到环境变量中
vim ~/.bashrc# 添加如下一行, 需要会一点 vim, 或者使用其他方式修改
export PATH=$PATH:/opt/qemu/bin
之后就可以在任意目录下使用 qemu
。