Armv8 hypervisor based on Linux & implemented in Rust,porting from RVM1.5 & jailhouse.
🚧 Working In Progress.
Progress
Architecture: aarch64
Platform: Qemu virt aarch64
Exception
Gicv3
Memory
Enable non root linux
VirtIO device: block, net
Architecture: riscv64
Platform: nxp
Build & Run
For detailed build and running tutorials, including building the development environment and creating a file system, please refer to here.
To make it easy to get started, here (extraction code: sysH) provides a Linux kernel Image and a file system ubuntu-20.04-rootfs_ext4.img with the username arm64 and the password as a whitespace. The directories are organized as follows:
├── home
├── arm64
├── images: Contains a Linux Image and ramfs.
├── hvisor: Files required to run hvisor.
├── jailhouse: Files required to run jailhouse.
The following describes how to run a non-root-linux on jailhouse/hvisor based on ubuntu-20.04-rootfs_ext4.img:
Build hvisor.bin:
make all
Then copy target/aarch64/debug/hvisor.bin to ~/hvisor/ in ubuntu-20.04-rootfs_ext4.img.
After starting qemu, the char device redirected to /dev/pts/num (label serial3) message will output by the first terminal, execute this in another terminal:
hvisor
README:中文 | English
Armv8 hypervisor based on Linux & implemented in Rust,porting from RVM1.5 & jailhouse.
🚧 Working In Progress.
Progress
Build & Run
For detailed build and running tutorials, including building the development environment and creating a file system, please refer to here.
To make it easy to get started, here (extraction code:
sysH) provides a Linux kernelImageand a file systemubuntu-20.04-rootfs_ext4.imgwith the usernamearm64and the password as a whitespace. The directories are organized as follows:The following describes how to run a non-root-linux on jailhouse/hvisor based on
ubuntu-20.04-rootfs_ext4.img:Build
hvisor.bin:Then copy
target/aarch64/debug/hvisor.binto~/hvisor/inubuntu-20.04-rootfs_ext4.img.Start QEMU:
Enter the username
arm64and the password as a whitespace after startup.Go to the home directory and start non-root-linux:
For hvisor: go to the
hvisorfolder and run:For Jailhouse: go to the
jailhousefolder and run:Enable a second serial console
If someone wants non-root-linux and root-linux in two different terminals, add this line at the end of the qemu startup command:
After starting qemu, the
char device redirected to /dev/pts/num (label serial3)message will output by the first terminal, execute this in another terminal:where num is a specific number.