QEMU源码编译安装【教程】
一、介绍
QEMU在Ubuntu中有两种安装方式:
一种是使用apt-get命令:
sudo apt-get install qemu
sudo apt-get install qemu-user-static
这种方式安装的QEMU版本一般不是最新的,在Ubuntu16.04下安装的QEMU版本为2.5.0,如果需要更新的版本的话,需要采用下一种方式。
另一种就是使用QEMU源码进行编译安装,好处是可以安装任意版本的QEMU,下文中会详细描述安装步骤以及安装过程中遇到问题的解决办法。
二、QEMU源码编译安装的一般步骤
首先从官网下载相应版本的源码,这里下载的是qemu-5.2.0.tar.xz,当前的最新版。或者也可以使用以下命令:
wget https://download.qemu.org/qemu-5.2.0.tar.xz #下载源码 tar xvJf qemu-5.2.0.tar.xz # 解压 mkdir build && cd build # 在下载目录新建文件夹build(这是必须的,因为configure命令必须在build文件夹下执行) # 以下均在/build目录下 ../qemu-5.2.0/configure make # 编译源码 make install # 安装
以上就是完整的安装步骤,安装获得的qemu一系列工具在/usr/local/bin下(可执行的)。
检查一下qemu的版本,是5.2.0,对的。
以上步骤中【下载、解压、创建文件夹,编译和安装】这几个步骤一般不会出现什么错误,【./configure】经常会报错,见下文。
三、安装过程中出现的问题
(1)报错 ERROR: Cannot use '/usr/bin/python3', Python>=3.6 is required
Ubuntu16.04预装的版本是Python=3.5.2,需要对其进行升级,使用以下命令:
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.6 sudo apt install python3.6-dev sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2 sudo apt install python3-pip
参考链接中对其有详细解释。
升级后的Python:
(2)报错 ERROR: Cannot find Ninja
参考该链接,使用以下命令安装Ninja:
apt install re2c git clone git://github.com/ninja-build/ninja.git && cd ninja ./configure.py --bootstrap sudo cp ninja /usr/bin/ ninja --version # 查看安装版本
(3)在执行(2)中的git clone命令时报错 No module named 'gdbm'
执行命令: sudo apt install python3.6-gdbm 即可解决。
(4)报错 ERROR: glib-2.48 gthread-2.0 is required to compile QEMU
执行命令: sudo apt-get install libglib2.0-dev 解决。
(5)报错 Unable to locate package libpixman-1-0-dev
执行命令: sudo apt-get install libpixman-1-dev 解决。
参考资料:
[1] Ubuntu 16.04 升级Python3版本到3.6
[2] QEMU编译指南
[5] qemu的两种安装方式