Project case study

AiOS

Experimental x86_64 operating-system work, from kernel bring-up to rootfs integration.

C · Assembly · x86_64 · Limine
On this page

Overview

AiOS is an experimental operating-system and systems-engineering project. It explores boot, memory, interrupts, devices, and user space by building and connecting the components.

Architecture

Boot / bring-up
Custom x86_64 kernel
Linux 6.12.95-aios
Memory · interrupts · devices
BusyBox · switch_root
Kernel experiments
aios-install experiments
Two lines of systems work: custom kernel bring-up and later Linux/rootfs integration.

The project spans custom kernel bring-up and later Linux/rootfs integration. The diagram separates the two lines rather than implying the custom kernel implements Linux.

What I built and explored

Boot and output

Limine integration, framebuffer and serial output, and x86_64 kernel bring-up provide an initial debugging path.

Memory

Physical and virtual memory managers, heap work, PML4 page tables, HHDM, high-half layout, and page-table slot work connect physical frames to virtual address assumptions.

Interrupts and timers

GDT, IDT, PIC, and PIT work connect CPU state to interrupt delivery and timing.

Hardware and devices

ACPI, SMBIOS, ATA storage, and e1000 NIC work extend the scope beyond early boot.

Linux and rootfs

Later experiments involve Linux 6.12.95-aios, BusyBox, switch_root, and aios-install. These are integration and installer experiments distinct from the custom kernel's feature set.

Technical decisions and challenges

Serial output makes failure observable before complex facilities exist. Memory mapping and interrupt ordering require explicit invariants. Device discovery, initialization, and the rest of the system must agree.

Current state

Active and experimental. This documented component scope is not a hardware-compatibility matrix; production stability and broad driver support are not claimed.

Roadmap and artifacts

Further verification, boot-to-user-space documentation, device debugging, and installer reliability remain work to do. A project-specific repository, boot screenshots, and raw serial logs have not been supplied. Public code can be found through my GitHub profile.

Last updated 01 Oct 2026Discuss this work