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


参考: