aVisor 是一个可运行在树莓派3上的Hypervisor。用以帮助理解ARM虚拟化的基本概念,学习Hypervisor和操作系统的实现原理。
DEMO
图1:aVisor Demo
编译及QEMU模拟
./scripts/demo.sh // 编译并运行demo
./scripts/clean.sh // 清理
控制台操作
上述demo,将在aVisor上运行4个虚拟机
- echo: 一个baremetal二进制程序,可以回显键盘输入
- lrtos: 一个微型操作系统,启动后运行两个用户态程序,一个打印“12345”, 另一个打印”abcde”, 其内核支持简单调度
- uboot: 标准的 Das U-Boot Bootloader
- FreeRTOS: 该DEMO运行两个Task, 一个打印“12345”, 另一个打印”ABCDE”,由FreeRTOS调度运行
启动后按回车进入aVisor控制台
help // 打印帮助
vml // 显示当前虚拟机信息
vmc <vm id> // 从Hypervisor控制台切换到VM控制台,例如:vmc 3,切换到uboot控制台
@+0 // 从VM控制台切换回Hypervisor控制台
物理板运行
图2:GPIO接线图
- 红线:5V
- 黑线:GND
- 白线:TXD
- 绿线:RXD
将config.txt, bootcode.bin, start.elf, lrtos.bin, echo.bin, kernel8.img 拷贝至SD卡,USB串口接电脑,即可通过串口访问aVisor。
参考:
-
docker run --rm -it ssqre/avisor bash -c /home/aVisor/run.sh