go-micron microkernel

The OS
for builders

A microkernel OS written entirely in Go. One binary. Boots on real x86-64 hardware. No C, no libc, no compromise.

Download ISO learn more →
seaos — init
┌───────────────────────────────┐ SeaOS ▪ the OS for builders │ go-micron microkernel │ └───────────────────────────────┘ [ 0.002] kernel Kernel object model ready [ 0.003] kernel Handle table initialized [ 0.003] kernel IPC subsystem (Channel, Port) ready [ 0.003] kernel VMO subsystem ready [ 0.003] kernel WrapLinux substrate: Linux 6.6.0 [ 0.003] init Mounted virtual filesystems: /proc /sys /dev /tmp [ 0.021] svchost Starting service host (component_manager) [ 5.197] svchost Service registered (pid 54): netstack [ 5.205] svchost Service registered: display [ 5.364] svchost Service registered: procfs [ 7.615] init Network: eth0 10.0.2.15, dns 10.0.2.3 | tcpip:10.10.0.2 [ 7.633] init Boot complete in 7.825s ─────────────────────────────────────────────── Boot complete | 14 services | 6 daemons Architecture: go-micron ←syscall→ svc ←IPC→ shell ─────────────────────────────────────────────── Select [1-7]:

Built different, on purpose

Every OS component — networking, storage, display, input — is owned by SeaOS, not delegated to kernel boot parameters or system daemons.


100% Pure Go
CGO_ENABLED=0. One static binary is the entire OS — init, shell, network stack, GUI, file system. No libc. No runtime dependencies.
~10MB binary
Microkernel pattern
Linux kernel exposes hardware. SeaOS owns everything else — same separation as Fuchsia/Zircon but in a single Go process with goroutines as isolation units.
go-micron
Own TCP/IP stack
Pure-Go Ethernet/ARP/IPv4/ICMP/TCP/UDP/DNS over a TAP device. DHCP client runs at boot, configures eth0 without ip=dhcp kernel parameter.
netsvc/tcpip
Real hardware boot
Boots from USB on x86-64 UEFI. BOOTX64.EFI embedded in ISO. GPT+ESP disk installer included. Tested on real iron, not just QEMU.
UEFI + BIOS
Persistent state
FAT32 data partition with VFAT LFN. User accounts, filesystem state saved across reboots. Disk install via option 7 in the boot menu.
seaos-data
Framebuffer GUI
Native GUI toolkit on /dev/fb0 — no X11, no Wayland. Login screen, device setup wizard, desktop environment. Input via /dev/input/event*.
seabox
484ms
boot to shell
14
services at boot
0
C dependencies
1
binary = entire OS

Kernel exposes. SeaOS owns.

Linux kernel provides hardware access. SeaOS decides what to do with it — the same division as Zircon/Fuchsia, implemented as concurrent Go goroutines.

Linux kernel  (= hardware abstraction / Zircon analogue)
   │
   ├── /dev/fb0         →  SeaOS display service  (framebuffer compositor)
   ├── /dev/input/event* →  SeaOS input service   (keyboard, mouse, touch)
   ├── /dev/net/tun     →  SeaOS tcpip service   (pure-Go TAP stack)
   └── eth0             →  SeaOS netsvc          (DHCP + routing + DNS)

SeaOS userspace  (= Fuchsia components)
   ├── netsvc/       DHCP → ip/mask/route/dns on eth0
   ├── tcpip/        Ethernet · ARP · IPv4 · ICMP · TCP · UDP · DNS
   ├── svc/          IPC registry + service contracts (Channel, Port)
   ├── kernel/       capability/handle/VMO abstraction layer
   ├── ui/           framebuffer toolkit (List · CodeView · TextEdit)
   └── cmd/          Editor · Terminal · Browser · Settings

go build → zircos   (one binary, ~10MB, CGO_ENABLED=0)

eth0 up. HTTP 200. Real internet.

SeaOS runs its own DHCP client at boot. No ip=dhcp kernel parameter. The pure-Go tcpip stack handles a second interface in parallel. Both reach the internet.

Interfaces: lo down eth0 up 10.0.2.15/24 ← DHCP by SeaOS (netsvc/dhcp_linux.go) seatap0 up 10.10.0.1/24 ← pure-Go tcpip stack (tcpip/tcpip.go) GET http://example.com ... HTTP/1.1 200 OK559 bytes in 191ms <!doctype html><html lang="en"><head><title>Example Domain</title>…

Real screenshots. Real hardware.

Captured from a live QEMU session. Framebuffer GUI on /dev/fb0 — no X11, no Wayland.

SeaOS boot log Boot log — 14 services, 484ms
SeaOS device setup Device setup — framebuffer GUI
SeaOS desktop Desktop — App Store, Terminal, games