Bao Hypervisor
Bao 是一个轻量级 Type-I hypervisor(虚拟机管理器),基于静态分区架构。
同样是静态分区架构的还有 Jailhouse,但Jailhouse需要通过Linux完成一些设备初始化的操作。
Bao 适合嵌入式场景,适用于MCS(混合关键系统)。
一、bao 的构建
1. 依赖
sudo apt install build-essential bison flex git libssl-dev ninja-build \
u-boot-tools pandoc libslirp-dev pkg-config libglib2.0-dev libpixman-1-dev \
gettext-base curl xterm cmake python3-pip xilinx-bootgen
pip3 install pykwalify packaging pyelftools
2. 安装 qemu
# 安装ARM qemu
sudo apt-get install qemu-system-arm
3. 安装ARM交叉编译工具
安装x86_64 Linux hosted的ARM交叉编译工具(aarch64 ELF裸金属):gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz
下载地址:gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf
下载后解压文件。可输入aarch64-none-elf-gcc -v验证是否配置成功。
4. 下载 bao-demos 源码
git clone https://github.com/bao-project/bao-demos
cd bao-demos
5. 配置构建信息
我这里选择平台 qemu-aarch64-virt
,运行的Guest OS是linux和freer