Getting Started
For getting started with the Bao Hypervisor we recommend following the “Hello World” interactive tutorial.
The bao-helloworld repository provides a minimal tutorial designed to guide beginners through the process of setting up and running the Bao Hypervisor on QEMU platforms. It serves as a practical starting point for new users to understand Bao’s workflow and development, including the configuration and deployment of different VM (i.e., Linux OS, FreeRTOS, and baremetal applications).
This guide walks through the steps required to reproduce the “Hello World” demo. It begins with
setting up a development environment, including the installation of all necessary dependencies and
cross-compile toolchain. The tutorial then covers building Bao and necessary platform-specific
firmware, i.e., Arm’s Trusted Firmware-A (TF-A) for aarch64 targets and RISC-V’s OpenSBI for
riscv64 targets. Finally, you will configure and run different setups, such as single-guest and
dual-guest configurations, on QEMU platforms for both architectures.
Whether you are evaluating Bao for the first time or seeking a minimal, reproducible reference environment for further development, this example offers a solid foundation.
You can find the complete tutorial and source code in the official repository at bao-helloworld. We also recommend watching the following video, which provides a step-by-step walk-through of the tutorial: