跳到主要内容

如何在 Ubuntu 上构建 QEMU

备注

本文的撰写使用 Ubuntu 20.04 进行了测试,应当在 20.04、20.10、21.04、21.10、22.04 等版本上可以正常工作。

文中的 aptapt-get 命令会需要您授予管理员权限。

我们正在寻求帮助改进,使此文档可以适用于更多的版本。

获取 PolyOS QEMU 的源代码

警告

PolyOS QEMU 分叉自 QEMU 的,目前由于技术性原因,我们正在努力完成源代码变更到使用 Gitee 托管服务的相关工作。

安装依赖

在开始相关构建和编译工作之前,我们需要首先确保 PolyOS QEMU 的相关依赖已被正确安装。

它们主要是构建和编译工具链、图形库、音频库。

apt-get install build-essential meson ninja-build pkg-config \
diffutils
python3 python3-venv \
libglib2.0-dev libusb-1.0-0-dev libncursesw5-dev \
libpixman-1-dev libepoxy-dev libv4l-dev libpng-dev \
libsdl2-dev libsdl2-image-dev libgtk-3-dev libgdk-pixbuf2.0-dev \
libasound2-dev libpulse-dev \
libx11-dev

编译 PolyOS QEMU

我们需要生成用于编译 PolyOS QEMU 的 Makefile

/path/to/polyos-qemu/code/configure --target-list=riscv64-softmmu --enable-sdl --enable-gtk -prefix=$HOME/.local

这会生成一个启用了 GTKSDL 支持的 Makefile

信息

我们通过指定 --target-list=riscv64-softmmu 指定目标平台为 RISC-V 64bit 软模拟。

这样做的目的是避免编译 QEMU 的全部目标平台,如果您有需求,您也可以加入其他的平台目标。

我们只需要在 PolyOS QEMU 的源代码根目录简单的执行 make 即可完成 PolyOS QEMU 的编译过程。

make -j$(nproc)
提示

-j$(nproc) 是用来指定启用多线程编译,它的数目为 nproc 的执行结果(即您计算机 CPU 的核心数目)。

安装 PolyOS QEMU

我们可以简单的执行 make install 来将 PolyOS QEMU 安装到系统当中。

make install

qemu-system-riscv64 将被安装到 ~/.local/bin 中。

如果您有需要,您也可以选择将 ~/.local/bin 加入您的 PATH 环境变量中。

cat << EOF >> ~/.bashrc
export PATH=$HOME/.local/bin:$PATH
EOF
source ~/.bashrc