Frontend
I Built a 64-Bit OS from Scratch: BIOS/UEFI, GUI, Networking, a Browser, and DOOM
AdrianBolt Dev.to (EN Zone)
1 views
BoltOS: a from-scratch 64-bit operating system
I built BoltOS as a 64-bit operating system in C and x86-64 assembly, starting with the boot chain rather than an existing kernel or bootloader. It supports both legacy BIOS and UEFI boot paths—no GRUB, no Multiboot, and no external OS libraries.
This is an active project with roughly 41,000 lines of first-party code. I am sharing it to get feedback from people interested in operating systems, systems programming, and bare-metal development.
What is implemented
A custom BIOS MBR and UEFI boot chain that enters a 64-bit higher-half kernel
ACPI, APIC, SMP, preemptive scheduling, ring-3 userland, ELF loading, and syscalls
Physical and virtual memory management, ASLR, SMAP/SMEP, swap, and stack canaries
A graphical desktop with a compositor, window manager, TrueType rendering, clipboard, file manager, IDE, task manager, and 24 apps
Persistent storage through a VFS and block layer, with ATA, AHCI SATA, NVMe, EXT2, and FAT32 support
An in-kernel network stack with DHCP, TCP/UDP, DNS, HTTP, TLS 1.2/1.3, and X.509 verification
A browser engine with a DOM, CSS cascade, box/flex/grid layout, and a from-scratch JavaScript interpreter
A playable DOOM port, audio support, USB HID, and a PE32+ loader for Windows x86-64 console executables
Try it
The first source release is available at BoltOS v0.1.0 — Initial Public Preview.
git clone https://github.com/adriantips/boltossource.git
cd boltossource
bash build.sh
bash run.sh
The repository includes QEMU launchers and a separate UEFI path:
bash run-uefi.sh
I would love feedback on
The boot and kernel architecture
Drivers and hardware coverage
The browser, networking, and userland design
Build reproducibility and documentation
Source and screenshots: https://github.com/adriantips/boltossource
Read original: https://dev.to/adrian-thebolt/i-built-a-64-bit-os-from-scratch-biosuefi-gui-networking-a-browser-and-doom-4j90
← Previous
Why RBAC Alone Isn't Enough for Enterprise Data Agents
Next →
I built a free browser tool that turns 2 ground tiles into a full 47-tile autotile set
Related
Apple Pay or Google Pay silently failing on WooCommerce? Check these hidden problems
Frontend
0
DEV Community
[For Hire] MERN Stack Developer — Open to small/low-budget projects
Frontend
0
Reddit r/webdev
GitHub availability report: August 2026
Frontend
0
GitHub Blog
Hedera's EVM speaks tinybar, its RPC speaks weibar, and both mistakes return SUCCESS
Frontend
2
DEV Community
Comments0
No comments yet — be the first