Build and Run hhuOS - hhuOS/hhuOS GitHub Wiki
See the README.md file for simple build and run instructions.
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
.
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.