Skip to content
rtxbreadman65-droidPublic

About

Pure Rust from-scratch x86_64 UEFI kernel with GDT, IDT, keyboard driver & framebuffer — built by a 15yo with zero crates

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AetherOS

A pure Rust, from-scratch bare-metal operating system kernel for x86_64 (UEFI)

Kernel built completely from scratch with zero external crates.
Made by a 15-year-old developer learning low-level systems programming.


Features

  • Custom UEFI bootloader
  • Framebuffer graphics rendering
  • Global Descriptor Table (GDT)
  • Interrupt Descriptor Table (IDT)
  • PS/2 Keyboard driver
  • Basic interrupt handling
  • Custom print system
  • Screen color manipulation
  • Early multiprocessor experiments (APIC / IOAPIC)

Screenshots

Bootloader Entry

Bootloader

Kernel Logo

Kernel Logo

Boot Logs

Boot Logs

Terminal (Black)

Black Terminal

Terminal (Blue)

Blue Terminal

About the Project

AetherOS is a hobby operating system kernel written entirely in Rust without using any external crates.
The goal is to understand how operating systems work at the lowest level by implementing everything from scratch.

This project is still in early development. Currently focusing on:

  • Improving interrupt handling
  • Multiprocessor support
  • Better memory management

Building & Running

Requirements

  • Rust (nightly recommended)
  • x86_64-unknown-none target
  • x86_64-unknown-uefi target
  • QEMU
  • objcopy (from binutils)

Build Steps

# 1. Build the kernel
rustc --target x86_64-unknown-none \
    -C opt-level=3 \
    -C panic=abort \
    -C code-model=kernel \
    -C relocation-model=static \
    -C target-feature=-sse,-sse2,-avx \
    -C link-arg=-Tlinker.ld \
    kernel.rs -o kernel.elf

objcopy -O binary kernel.elf kernel.bin

# 2. Build the UEFI bootloader
cargo build --target x86_64-unknown-uefi

# 3. Create ESP structure
mkdir -p esp/EFI/BOOT
cp target/x86_64-unknown-uefi/debug/AetherOS.efi esp/EFI/BOOT/BOOTX64.EFI

About

Pure Rust from-scratch x86_64 UEFI kernel with GDT, IDT, keyboard driver & framebuffer — built by a 15yo with zero crates

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages