IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Ubuntu20.04编译安装qemu -> 正文阅读

[Python知识库]Ubuntu20.04编译安装qemu

Ubuntu20.04编译安装qemu

事先提醒,要弄清自己学的是哪个架构,早期的mit操作系统课(MIT6.828)教的是x86版,现在的课(MIT6.S081)教的是riscv-64,本文装的也是riscv-64

1.下载安装包

两个官方的搭建说明(或者直接看我下面的说明)

https://wiki.qemu.org/Hosts/Linux
https://en.wikibooks.org/wiki/QEMU/Linux

必装的安装包

sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev

推荐的额外安装包(不强制,但还是建议装上,有备无患)

sudo apt-get install git-email
sudo apt-get install libaio-dev libbluetooth-dev libbrlapi-dev libbz2-dev
sudo apt-get install libcap-dev 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 libsdl1.2-dev libseccomp-dev libsnappy-dev libssh2-1-dev
sudo apt-get install libvde-dev libvdeplug-dev libvte-2.90-dev libxen-dev liblzo2-dev
sudo apt-get install valgrind xfslibs-dev 

然而到运行配置文件时依然会报错ERROR: Cannot find Ninja
解决方法也很简单,缺什么就补什么呗

sudo apt install ninja-build

或者(必须使用python3)

sudo python3 -m pip install ninja

继续运行配置文件,结果又报错无法在子模组路径 'meson' 中找到当前版本
各种查资料耗费了大半天,最后才明白是缺少了meson这玩意(大汗)

按照官方要求,同样要用python3的pip

sudo python3 -m pip install meson
  • python最低版本3.6
  • ninja最低版本1.8.2
    可以用python3 --versionninja --version这两条命令查看版本

2.安装qemu

没什么好说的,按要求来(我是在用户目录下克隆的)

git clone git://git.qemu-project.org/qemu.git

接着切换到qemu这个文件夹

cd ./qemu

输入./configure命令,这是运行一个配置文件(看到这一步不一定马上做,下面会说一个坑)
当我运行配置文件时,它就报错了

Program keycodemapdb/tools/keymap-gen found: NO

../ui/meson.build:106:0: ERROR: Program 'keycodemapdb/tools/keymap-gen' not found

A full log can be found at /home/babepig/qemu/build/meson-logs/meson-log.txt

ERROR: meson setup failed

上面的是运行配置文件最后几行的报错,类似的错误还有

WARNING: Project targeting '>=0.55.0' but tried to use feature introduced in '0.57.0': test() timeout <= 0.

../tests/fp/meson.build:27:0: ERROR: Include dir berkeley-softfloat-3/source/include does not exist.

A full log can be found at /home/babepig/qemu/build/meson-logs/meson-log.txt

ERROR: meson setup failed
WARNING: Project targeting '>=0.55.0' but tried to use feature introduced in '0.57.0': test() timeout <= 0.

../tests/fp/meson.build:186:0: ERROR: File berkeley-testfloat-3/source/uint128_inline.c does not exist.

A full log can be found at /home/babepig/qemu/build/meson-logs/meson-log.txt

ERROR: meson setup failed

经排错,发现qemu/ui/keycodemapdbqemu/tests/fp/berkeley-softfloat-3qemu/tests/fp/berkeley-testfloat-3这三个文件夹是空的,那么我们要去哪里找原文件呢?

答案就是克隆qemu链接的上一级目录,也就是这个链接,在这个链接,找到keycodemapdbberkeley-softfloat-3berkeley-testfloat-3这三个库,克隆下来并把原来的空文件替换掉(鬼知道我耗了多少时间才琢磨出解决方法,被坑死qwq)

另外,如果看到类似下面的报错,一律重新执行./configure

error: RPC 失败。curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
fatal: 远端意外挂断了
fatal: 过早的文件结束符(EOF)
fatal: index-pack 失败
fatal: 无法克隆 'https://gitlab.com/qemu-project/capstone.git' 到子模组路径 '/home/babepig/qemu/capstone'
克隆 'capstone' 失败。按计划重试

如果执行./configure没有报错,则代表配置成功,如果看到输出列表有些组件显示NO,没有影响的

接着就输入make编译(注意一点的是,编译后整个qemu文件夹大小为8.3G,最好先确保空间足够)
编译时间较长,我在笔记本上花了一小时40分(X:D)

最后就是安装了

sudo make install

输入下面的命令,显示版本号则代表安装成功

qemu-riscv64 --version
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-31 15:24:46  更:2021-08-31 15:26:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 0:47:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计