[OS Release] BoltOS - 64-bit Higher-Half OS (NVMe, PE32+ Loader, DOOM, GUI)
Posted: Wed Jul 08, 2026 4:48 pm
Hello everyone,
I would like to share a project I’ve been working on called BoltOS. It is a 64-bit higher-half hobby operating system written entirely from scratch in C and Assembly. My main goal was to build a capable modern environment, moving past legacy hardware to support things like NVMe, UEFI, and a custom GUI, while also experimenting with running Windows binaries natively.
I would love for the community to take a look, test it out, and offer any technical feedback or critiques on the architecture.
Technical Highlights
Custom Bootloaders: Includes a legacy BIOS bootloader (stage1 + stage2 entering long mode via unreal mode) and a UEFI bootloader (BOOTX64.EFI) that sets up GOP and memory maps. The kernel is loaded at 0x100000 but mapped to 0xFFFFFFFF80100000.
Storage & Block Layer: Features a generic block layer with functional drivers for ATA/IDE PIO, AHCI (SATA), and NVMe. The NVMe driver supports hardware MSI/MSI-X interrupts with polling fallback.
Virtual File System (VFS): Supports a native persisted RAM file system (BoltFS), read-only EXT2, and read-write FAT32. Files and user accounts survive reboots.
PE32+ Executable Loader: The kernel includes a native PE32+ loader. It parses headers, binds the import table against an in-kernel kernel32 shim, and can run real Windows x86-64 console .exe files directly in the OS.
Graphics & GUI: Probes the PCI bus for display controllers (supports Bochs DISPI/VBE mode setting). Features a from-scratch TrueType (TTF) rasterizer that parses .ttf files and renders bezier outlines, powering a custom windowed GUI system with clipboard support.
DOOM Port: Successfully runs a port of doomgeneric utilizing a tiny in-house freestanding libc shim and a BoltOS platform layer.
Network & Browser: Includes a custom browser engine, a port of NetSurf, and a network stack.
Github Repo: https://github.com/adriantips/boltossource
I would like to share a project I’ve been working on called BoltOS. It is a 64-bit higher-half hobby operating system written entirely from scratch in C and Assembly. My main goal was to build a capable modern environment, moving past legacy hardware to support things like NVMe, UEFI, and a custom GUI, while also experimenting with running Windows binaries natively.
I would love for the community to take a look, test it out, and offer any technical feedback or critiques on the architecture.
Technical Highlights
Custom Bootloaders: Includes a legacy BIOS bootloader (stage1 + stage2 entering long mode via unreal mode) and a UEFI bootloader (BOOTX64.EFI) that sets up GOP and memory maps. The kernel is loaded at 0x100000 but mapped to 0xFFFFFFFF80100000.
Storage & Block Layer: Features a generic block layer with functional drivers for ATA/IDE PIO, AHCI (SATA), and NVMe. The NVMe driver supports hardware MSI/MSI-X interrupts with polling fallback.
Virtual File System (VFS): Supports a native persisted RAM file system (BoltFS), read-only EXT2, and read-write FAT32. Files and user accounts survive reboots.
PE32+ Executable Loader: The kernel includes a native PE32+ loader. It parses headers, binds the import table against an in-kernel kernel32 shim, and can run real Windows x86-64 console .exe files directly in the OS.
Graphics & GUI: Probes the PCI bus for display controllers (supports Bochs DISPI/VBE mode setting). Features a from-scratch TrueType (TTF) rasterizer that parses .ttf files and renders bezier outlines, powering a custom windowed GUI system with clipboard support.
DOOM Port: Successfully runs a port of doomgeneric utilizing a tiny in-house freestanding libc shim and a BoltOS platform layer.
Network & Browser: Includes a custom browser engine, a port of NetSurf, and a network stack.
Github Repo: https://github.com/adriantips/boltossource