Build and boot safely
QEMU is the recommended first target. It gives you a repeatable boot environment without touching a real disk. Move to a USB only after the QEMU checkpoint passes.
BOOTX64.EFI, OVMF.fd, run.ps1, build.ps1 and deploy-usb.ps1. It does not currently contain doomgeneric sources or a WAD. The DOOM lesson therefore adds an adapter/integration workflow; students must obtain doomgeneric and a legal WAD separately.1. Extract without changing the tree
- Extract the course/source ZIP to a short Windows path such as
C:\ForgeOS. - Do not move
BOOTX64.EFI,OVMF.fd,diskor the PowerShell scripts independently. - Open PowerShell in that project folder.
2. QEMU first — preferred
Set-ExecutionPolicy -Scope Process Bypass .\run.ps1
The supplied runner expects the project files to remain together. If QEMU is not installed, install a current x86_64 QEMU build and ensure qemu-system-x86_64 is available.
3. Optional local rebuild
Set-ExecutionPolicy -Scope Process Bypass .\build.ps1 .\run.ps1
Use the prebuilt EFI for the first boot. Rebuild only after the baseline works, because a local build changes the binary hash.
4. Deploy to a USB
- Insert a spare FAT32-capable USB.
- In File Explorer, confirm its drive letter and contents.
- From an Administrator PowerShell in the ForgeOS folder run:
.\deploy-usb.ps1 D:
Replace D: with the confirmed USB letter. The script copies the EFI boot path and ForgeOS data tree.
5. Boot the USB on a PC
- Use the firmware one-time boot menu.
- Select the UEFI entry for the USB.
- Do not install to the internal disk during the course unless the lesson explicitly instructs you to and you have backups.
- If Secure Boot blocks the unsigned educational EFI, use a test machine and temporarily disable Secure Boot in firmware; restore it afterward.
6. DOOM checkpoint
Complete Modules 01–06 first. Module 07 integrates doomgeneric through five platform callbacks: frame presentation, keyboard input, timing, sleep and file/WAD access. Use a legally obtained WAD; the course does not redistribute commercial game data.