Build and Run hhuOS - hhuOS/hhuOS GitHub Wiki

See the README.md file for simple build and run instructions.

Advanced build parameters

By default, build.sh builds a bootable image using the towboot bootloader, which only works on UEFI-systems. You can build a bootable ISO image using limine or GRUB as bootloader by passing --target limine or --target grub to the build script. Both bootloaders work on UEFI-systems, as well as older BIOS-based machines. If you want to use GRUB, make sure you have the packages grub-pc-bin and grub-efi-ia32-bin installed (on Ubuntu 24.04).

If you want an unoptimized build including debug symbols, pass --build-type Debug to the build script.

To clean all build files, run ./build.sh --clean.

Advanced run parameters

By default, run.sh downloads the latest nightly build of the EDK II OVMF firmware, provided by retrage and configures QEMU to boot the towboot image. If you want to emulate a classic x86-BIOS, you can pass --bios true to the run script. To boot a limine iso, add the parameter --file hhuOS-limine.iso.

When running with --bios true, hhuOS can take advantage of BIOS calls, allowing it to change display resolutions. This is supported by all games and demos. For example, to run Bug Defender with 640x480 pixels and 16 bit color depth, execute bug -r 640x480@16. A full list of supported resolutions can be obtained from /device/lfb. Simply use cat or head to read the file in the shell.

⚠️ **GitHub.com Fallback** ⚠️