一、开发环境
操作系统:virtualbox + Ubuntu 20.04
Tips1:在WIN上安装virtualbox需要在BIOS中允许虚拟化。
Tips2:安装ubuntu需要使能virtualbox的嵌套虚拟化功能
仿真软件:QEMU 9.1.93
编译器:GCC 9.4.0
编译方式:CMake 3.16.3
二、工具安装
安装交叉编译器:
sudo apt-get install gcc-aarch64-linux-gnu
glib的编译和安装:
最新版本的的qemu需要2.66以上版本的glib,我们需要下载一个最新的glib安装到我们的开发环境上。
#需要依赖meson(有版本要求)
#sudo python3 -m pip install --upgrade meson
#需要依赖ninja
#sudo apt-get install ninja-build
wget https://gitlab.gnome.org/GNOME/glib/-/archive/2.83.0/glib-2.83.0.tar.gz
tar -xzvf glib-2.83.0.tar.gz
cd glib-2.83.0/
meson setup build
#有可能会出错使用 meson subprojects update 尝试解决,或手动 cd subprojects/gvdb
#git clone https://gitlab.gnome.org/GNOME/gvdb.git
ninja -C build
sudo ninja -C build install
#编译的版本会被安装到/usr/local/中
安装qemu:
安装QEMU所依赖的包
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils virt-manager virt-viewer
代码下载和编译
#安装编译需要的包 可能需要手动编译glib
sudo apt-get install python3-venv python3-pip ninja-build libglib2.0-dev libunwind-dev
sudo python3 -m pip install tomli
sudo python3 -m pip install --upgrade sphinx sphinx_rtd_theme
sudo python3 -m pip install --upgrade meson
# 设置库路径 (如果需要)
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# 刷新动态链接器缓存
sudo ldconfig
#代码下载编译
git clone https://gitlab.com/qemu-project/qemu.git
cd qemu
./configure --target-list=aarch64-softmmu --prefix=/usr/local
make
sudo make install
#检查是否安装成功
qemu-system-aarch64 --version
好了,铁子们,环境搭建完毕。下一节我们将从hello world开始撸操作系统。