1.升级Python到Python3.8
1.1. 安装依赖包
$ sudo apt update
$ sudo apt install software-properties-common
1.2. 添加 deadsnakes PPA 源
$ sudo add-apt-repository ppa:deadsnakes/ppa
Press [ENTER] to continue or Ctrl-c to cancel adding it.
1.3. 将 python 各版本添加到 update-alternatives
$ which python3.8
/usr/bin/python3.8
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
$ which python3.6
/usr/bin/python3.6
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
1.4. 配置 python3 默认指向 python3.8
$ sudo update-alternatives --config python3
1.5.解决终端无法启动的问题
sudo vi /usr/bin/gnome-terminal
将文件第一行的
#!/usr/bin/python3
改成
#!/usr/bin/python3.6
2.编译qemu
1.首先安装最基本的git和vim,用于克隆代码和编辑文本文件
sudo apt-get install git vim
2.克隆源码,根据自己的网络情况,下面两个地址任选其一
gitlab克隆地址:
git clone https://gitlab.com/qemu-project/qemu.git
github克隆地址:
git clone https://github.com/qemu/qemu
3.安装qemu官方文档所述
mkdir build
cd build
../configure
make
4.执行步骤3后提示缺少python 3.8.10,输入以下命令安装python 3.8和相关文件
sudo apt-get install python3.8 python3-venv
5.重新执行sudo ../configure,提示以下错误信息
6.需要安装Ninja,依旧使用源码安装Ninja,先克隆代码,如果克隆失败的话,就去这个网址手动下载ZIP,然后在本地目录下解压,代码是一致的,只是缺少git信息
git clone git://github.com/ninja-build/ninja.git && cd ninja
./configure.py --bootstrap
cp ninja /usr/bin/
ninja --version
7.在第一步编译Ninja的时候就提示以下错误,原因是由于缺少相关的编译工具链
8.安装编译器
sudo apt-get install gcc g++
执行成功后像下面这样,可以看到编译器的版本信息
9.重新编译Ninja,完成后像下面这样,编译完Ninja后再回头编译qemu
10.重新执行下面的命令
cd qemu/build;sudo ../configure
依次提示以下错误信息:
1)"../meson.build:729:10: ERROR: Dependency "glib-2.0" not found, tried pkgconfig"
2)"../meson.build:840:11: ERROR: Dependency "pixman-1" not found, tried pkgconfig"
3)"../target/hexagon/meson.build:180:8: ERROR: Program 'flex' not found or not executable"
4)"../target/hexagon/meson.build:186:8: ERROR: Program 'bison' not found or not executable"
11.执行下面的命令,分别安装glib-2.0,pixman-,flex,bison
sudo apt-get install libglib2.0-0 libglib2.0-dev
sudo apt install libpixman-1-0 libpixman-1-dev
sudo apt install flex
sudo apt install bison
12.以上都安装后执行sudo ../configure通过,输出如下
13.执行下面命令编译和安装
sudo make -j3
sudo make install
3.源码编译总结
1.安装基本的工具和相关依赖
sudo apt-get install git vim python3.8 python3-venv gcc g++ libglib2.0-0 libglib2.0-dev libpixman-1-0 libpixman-1-dev flex bison
2.克隆Ninja和qemu源码,如果克隆失败,自行去对应的网址下载zip后在系统中解压
git clone https://github.com/ninja-build/ninja.git
git clone https://gitlab.com/qemu-project/qemu.git
3.编译并拷贝Ninja可执行文件,拷贝的目的主要是用于免去环境变量配置,最后--version确保看到ninja相关的信息
cd ninja
./configure.py --bootstrap
cp ninja /usr/bin/
ninja --version
4.编译qemu
cd qemu
mkdir build
cd build
sudo ../configure
sudo make -j3
sudo make install
5.运行qemu