# HOS System Requirements HOS requires: * A 64-bit CPU. * A UEFI system. * 128MB of RAM. # Building HOS From the top level of the repository, run: ./rscons If you get errors about missing packages, install the packages and then re-run the build command. # Running HOS HOS can run on a physical machine, in VirtualBox, or in QEMU. ## Physical Machine To install HOS to an EFI partition, follow these steps: 1. Copy build/hello/HOS.EFI to EFI partition EFI/HOS.EFI. For example, from Linux: sudo cp build/hello/HOS.EFI /boot/efi/EFI/HOS.EFI 2. Register EFI loader for HOS (one time only) with command: efibootmgr -c -d /dev/nvme1n1 -p 2 -l '\EFI\HOS.EFI' -L HOS (Update the -d device parameter and -p partition parameter as appropriate) 3. Set boot order to desired boot order. Exact order will be system dependent. Example: efibootmgr -o 2,0,6,5 At this point you should be able to boot HOS from your EFI boot selection menu. If you use GRUB, you can optionally create a GRUB boot entry to load HOS.EFI with an entry like this: menuentry 'HOS' { insmod part_gpt insmod chain set root='(hd0,gpt1)' chainloader /EFI/HOS.EFI } Just update the root setting for the correction location to your system's EFI partition. ## VirtualBox To create a VM in VirtualBox: 1. Build HOS ("./rscons"). 2. In VirtualBox, select Machine -> New. 3. Set name to HOS. 4. Set Type to Other. 5. Set Version to Other/Unknown (64-bit). 6. Click Next. 7. Set memory size to 512 MB. 8. Click Next. 9. Select Do not add a virtual hard disk. 10. Click Create. 11. From the HOS repository, create a VirtualBox VMDK image with "./rscons mk-vmdk". 12. Move the HOS.vmdk file generated to the HOS VirtualBox folder. 13. In VirtualBox Manager, open HOS VM settings. 14. Under System, check the Enable EFI checkbox. 15. Under System, change the Chipset to ICH9. 16. Under Storage, add a hard disk and browse to select the HOS.vmdk file. 17. To run HOS, either start the VM through VirtualBox or with "./rscons run-vb". ## QEMU Make sure QEMU is installed (possibly the `qemu-desktop` package). Then: 1. Build HOS ("./rscons"). 2. Run `./rscons run` to run HOS in QEMU.