This framework runs a thin hypervisor utilising Intel VT-x to allow granular control of a system.
As this is a introspection style hypervisor all system resources & devices are passed through to the "virtualised" system once initialised. Therefore any operating system of choice can then be loaded as if normal.
Cascade gives the ability to register custom exit handlers for VMEXIT's generated by the guest as well as providing a custom VMCALL interface for registering and executing your own custom callbacks at VMROOT.
An example project is given as a UEFI runtime driver, allowing early boot introspection/blue-pilling of a system. This UEFI runtime driver does not do much apart from load the hypervisor, however it is an example as to how this library can be utilised.
-
Ensure the following dependencies are installed on your system
sudo apt-get install qemu qemu-utils ovmf gnu-efi binutils-mingw-w64 gcc-mingw-w64 xorriso mtools cargo
cargo install uefi-run
-
To compile run a simple make command
make -j $(nproc)
-
To run the build quickly in a QEMU instance use the EFI run tool (or use
./run-qemu.sh
)uefi-run -b /usr/share/OVMF/OVMF_CODE.fd -q /usr/bin/qemu-system-x86_64 build/hypervisor.efi