ARMV8上实现一个OS ---(1)环境搭建

 

一、开发环境

操作系统: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开始撸操作系统。 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值