x86_64 · Rust · ext4 · TCP/IP · TLS

ZeOS

A Real OS, Forged on Mount Claude

zeos-kernel — qemu-system-x86_64
[ok] SSE enabled
[ok] GDT / IDT / PIC initialized
[ok] PMM: 56530 frames free
[ok] APIC/IOAPIC initialized, 4 CPUs online
[ok] ext4 mounted at /disk (3 files)
[ok] Virtio-net: MAC 52:54:00:12:34:56
[ok] Scheduler started
ZeOS v0.4.0 — Forged on Mount Claude
/>
4.3MB
Bootable ISO
369KB
Kernel Binary
<2s
Boot to Shell
4cores
SMP Support

Everything From Scratch

Every byte hand-crafted in Rust. No external crates for the OS core — just raw hardware access, page tables, and syscalls.

🦀

Pure Rust Kernel

Memory-safe by design. No C, no runtime. 369KB of bare-metal Rust with inline assembly only where hardware demands it.

Preemptive Multitasking

fork/exec/wait, 64 process slots, round-robin scheduling at 100Hz. Context switches via APIC timer interrupt.

📡

POSIX Signals

SIGINT, SIGKILL, SIGCHLD, SIGTERM, SIGSTOP. Ctrl+C kills foreground process group. Signal handlers with sigreturn.

💾

ext4 Filesystem

Full read/write ext4 with extent trees, block group descriptors, inode allocation. Persistent storage via VirtIO block.

🌐

TCP/IP + DNS

Ethernet, ARP, IPv4, ICMP, UDP, TCP with 3-way handshake. DNS resolution. HTTP client. Full network stack from scratch.

🔒

TLS 1.2 + ECDHE

P-256 elliptic curve Diffie-Hellman, AES-128-CBC, SHA-256. HTTPS through Cloudflare. Hand-written crypto.

🖥️

SMP Multi-Core

ACPI MADT parsing, Local APIC + IOAPIC initialization. Detects and registers all CPU cores via INIT-SIPI.

🐧

Linux Binary Compat

Runs real static musl ELF binaries. 40+ Linux syscalls emulated. nano text editor works out of the box.

📦

Package Manager

hermes — install packages over HTTPS with version tracking, dependency resolution, and upgrade support.

📄

Demand Paging

Lazy page allocation for stack, heap, and brk regions. Dynamic kernel heap growth up to 64MB. Guard pages.

⌨️

TTY + Signals

Canonical and raw terminal modes. Line editing, echo, Ctrl+C/D/Z. Process groups and foreground job control.

🖼️

Framebuffer + ANSI

Full ANSI escape parser with scroll regions, alternate screen, cursor control. Boot splash with gradient rendering.

Run ZeOS in 60 Seconds

Download the ISO, install QEMU, boot. That's it.

🍎 macOS
Terminal
# Install QEMU
$ brew install qemu
# Run ZeOS
$ qemu-system-x86_64 \
-M q35 -cpu max -m 256M \
-cdrom zeos.iso \
-serial stdio -no-reboot
🐧 Linux
Terminal
# Ubuntu / Debian
$ sudo apt install qemu-system-x86
# Fedora / RHEL
$ sudo dnf install qemu-system-x86-core
# Arch
$ sudo pacman -S qemu-full
# Run ZeOS (with KVM acceleration)
$ qemu-system-x86_64 \
-M q35 -cpu max -m 256M \
-cdrom zeos.iso \
-enable-kvm -serial stdio
🪟 Windows
PowerShell
# Install QEMU (winget)
> winget install SoftwareFreedomConservancy.QEMU
# Or download from: qemu.org/download/#windows
# Run ZeOS
> qemu-system-x86_64.exe ^
-M q35 -cpu max -m 256M ^
-cdrom zeos.iso ^
-serial stdio -no-reboot
Full setup — disk + network
# Create an ext4 disk image (one-time)
$ dd if=/dev/zero of=disk.img bs=1M count=34
$ mke2fs -t ext4 disk.img
# Boot with disk + network
$ qemu-system-x86_64 -M q35 -cpu max -m 256M \
-cdrom zeos.iso -serial stdio -no-reboot \
-drive file=disk.img,format=raw,if=none,id=d0 \
-device virtio-blk-pci,drive=d0 \
-netdev user,id=n0 \
-device virtio-net-pci,netdev=n0
# Then inside ZeOS:
/> hermes    ← open package manager
hermes> update  ← sync from server over HTTPS
hermes> install nano  ← download & install

Watch It Run

A real session: syncing packages from the internet, installing nano, and editing a file. All on a hand-built OS.

hermes — ZeOS package manager

Layer by Layer

A monolithic kernel with clean separation. Every layer built from first principles.

Userspace init · shell · hermes · nano · hello · Linux ELF binaries
↓ syscall ↓
Syscall Interface 45 syscalls · fork/exec/wait · signals · pipes · sockets · download
Kernel Core Scheduler · VMM/PMM · ext4 · TCP/IP · TLS · TTY · ECC · AES · SHA-256
Drivers APIC/IOAPIC · VirtIO-blk · VirtIO-net · PS/2 Keyboard · Serial · Framebuffer · PCI
Hardware (x86_64) Page Tables · GDT/IDT/TSS · CR3 · MSRs · I/O Ports · MMIO

Meet Hermes

A real package manager running on a hobby OS. Syncs package indexes over HTTPS (through Cloudflare with ECDHE-ECDSA TLS), resolves dependencies, tracks versions, and installs static musl binaries directly to ext4.

  • hermes> update        — sync index over HTTPS
  • hermes> search nano   — find packages
  • hermes> install nano  — download + install + track
  • hermes> upgrade       — update all packages
  • hermes> list          — show installed with versions
📦 https://zeos-pkg.baltavista.com
hermes
_
| |__ ___ _ __ _ __ ___ ___ ___
| '_ \ / _ \ '__| '_ ` _ \ / _ \/ __|
| | | | __/ | | | | | | | __/\__ \
|_| |_|\___|_| |_| |_| |_|\___||___/
the ZeOS package manager
hermes> search
hermes :: available packages:
    nano 8.3 - GNU nano text editor (379 KB)
    hello 1.0 - Hello World test (9 KB)
hermes>

What's New

v0.4.0 March 2026
  • ECDHE-ECDSA TLS 1.2 with P-256 — HTTPS works through Cloudflare
  • ext4 filesystem with read/write support (replaced FAT32)
  • hermes package manager — HTTPS downloads, version tracking, dependency resolution
  • Full ANSI terminal rewrite — alternate screen buffer, scroll regions, cursor control
  • POSIX signals — SIGINT, SIGKILL, SIGCHLD, Ctrl+C with process groups
  • APIC/IOAPIC initialization with SMP multi-core detection
  • TTY layer with canonical/raw mode, foreground job control
  • Demand paging for stack, heap, and brk regions
  • Dynamic kernel heap growth (4 MB → 64 MB on demand)
  • Linux ABI expanded: ioctl, termios, fstat, lseek, openat, ppoll, nanosleep, rename, dup2
  • nano text editor runs and saves files to ext4
  • Thread support via SYS_CLONE + futex synchronization
  • Package server live at zeos-pkg.baltavista.com
v0.3.0 February 2026
  • Preemptive scheduler with fork/exec/wait
  • Interactive shell with pipes, redirection, background jobs, history
  • PS/2 keyboard + serial input
  • FAT32 filesystem (read/write)
  • TCP/IP networking stack with DNS
  • TLS 1.2 (RSA) + HTTP/HTTPS client
  • VirtIO block + network drivers
  • Framebuffer console with ANSI colors
  • Linux binary compatibility layer
v0.2.0 January 2026
  • ELF loader for userspace binaries
  • Virtual memory manager with 4-level page tables
  • Physical memory manager (bitmap allocator)
  • Kernel heap (linked list allocator)
  • GDT, IDT, PIC, PIT timer
  • Limine bootloader (BIOS + UEFI)