Okei OS

Okei OS

A 64-bit operating system built from scratch. We boot it in QEMU, VirtualBox, and a custom browser emulator — Multiboot2 kernel, Ext4, GNU Bash, and Okei Desktop. Pre-alpha and not public yet.

Desktop UI look port Kernel/userspace split HTTPS · scp · git QEMU · VirtualBox · web Open release soon
Status · 21 August 2026

Where the project is now

Private tree is a product-shaped OS: Bash, Okei Desktop, real networking, HTTPS/scp/git, and QEMU-proven desktop click-paths. A desktop UI look port restyles the real compositor and apps — paper chrome, Outfit / Source Code Pro, three-finger wallpaper — without replacing Terminal or Notes with a JavaScript mock. On 21 August a headed VirtualBox 1080p capture shows that look with Terminal at bash$. Human side-by-side vs the prototype is still open. Kernel and userspace files over 500 lines were split (H1262–H1310). The house-clean parent stays open (tests and scripts unread as a wave). Host make test-unit still dies on a UHCI library-size gate. On 9 August 2026 we first booted on a physical Raspberry Pi 5 with an HDMI text console. Next product gates are metal: x86 laptop video and Pi 5 UART.

Scale

  • ~625k first-party lines (625,224)
  • 5,045 files · 6,431 host unit tests
  • 102 syscalls · 103 multicall applets
  • 4,176 commits · ~34/day avg · 124 days

House-clean (21 Aug)

Oversized kernel/userspace split stopped (H1262–H1310). Claimable files over 500 lines in those trees are 0 (font dumps, monocypher, uncommitted Notes skipped). Parent H0 stays split_required. Tests and scripts still unread as a wave. Host unit suite still dies on UHCI library-size — filed as Work now T1–T3.

UI look port

Tokens, 30/22/42 chrome, paper Notes, black Terminal, search/sound/Start, os-desktop three-finger wallpaper. Featured shot is a 21 Aug VirtualBox 1080p desktop. Human side-by-side vs the prototype is still open.

Open residual

Physical laptop ISO+video; Pi 5 UART and board userspace; UHCI library-size so make test-unit can finish; headed look sign-off; window-move expose; Start→Calculator present. Not a public download.

Platform

What we've built so far

A private make all produces a bootable ISO with kernel, GNU userspace, and Okei Desktop. That image boots under QEMU, VirtualBox, and a web x86_64 emulator. Separately, an AArch64 flash image boots on a Raspberry Pi 5 to an HDMI boot console.

Oracle VirtualBox running Okei Desktop at 1920×1080: three-finger wallpaper, left icon column, 42px bar, Terminal with guest@os:~ and bash$
21 August 2026 — Okei Desktop under VirtualBox (VBoxVGA, 1920×1080). Look-port chrome, os-desktop three-finger wallpaper, Start-menu icon column, and Terminal at bash$. Same guest ISO the lab boots. The 28 Jul curl okeios.org/helloworld capture remains the networking milestone below.
Physical monitor showing Okei OS AArch64 boot markers on a Raspberry Pi 5: OKEIOS_AARCH64_FB_BOARD_OK, OKEIOS PI BOARD HDMI CONSOLE, DTB_OK, VIRTIO_NONE, NO_USER
9 August 2026 — first Raspberry Pi 5 hardware boot. HDMI text console from the firmware mailbox framebuffer: OKEIOS_AARCH64_FB_BOARD_OK and OKEIOS PI BOARD HDMI CONSOLE. Kernel EL1 + DTB probe live; virtio absent (expected on board); userspace still NO_USER until microSD root lands.

Kernel

Monolithic ring-0 core: scheduling, 4-level paging, Ext4 VFS, PTY, in-kernel TCP/IP, ptrace, AHCI/NVMe. Multiboot2 on QEMU, VirtualBox, and the web emulator.

Userspace tools

Upstream ports — GNU Bash 5.2, Vim, coreutils, grep, sed, find, bc, curl, wget, Dropbear (+ scp), strace, freestanding git and OpenSSH client, tmux — plus okeios-box (103 applets) and opt-in PIE bash-dyn. Product /bin/bash stays static.

Okei Desktop v1

Display server, 42px panel, Start menu, 22 Start entries (Terminal, Notes, Calculator, Chess, Solitaire, Settings, and more — Login is not a Start app). Title-close and QEMU click-path gates on shipped apps. Default ISO packs those Start binaries when they are present in build/.

Quality gates

6,431 host unit-test definitions plus QEMU/VirtualBox smokes for net, storage, desktop, multicall, git, and SSH. Not every suite is re-run for each site edit. Full make test-unit still dies late on a UHCI library-size gate (three files over 400 lines) — filed as Work now T1–T3.

Technical overview

4176
git commits
5045
first-party files
625k
lines of code
6431
host unit tests
103
multicall applets
102
system calls

First-party scope matches scripts/marketing_metrics.sh (21 Aug 2026): kernel, boot, userspace, tests, scripts, GRUB, image config — not vendored third-party trees. Growth track: 1,369 files / 292k LOC (23 Jul) → 3,033 / ~459k (14 Aug) → 3,491 / 509,590 (15 Aug, first time over half a million) → 3,857 / 546,816 (17 Aug) → 4,727 / 610,468 (20 Aug) → 5,045 / 625,224 now. Syscalls 89 → 102. Late file growth includes leftover host-unit header splits, not a second kernel. Kernel/userspace oversized split closed 21 Aug.

Timeline

Milestones

Reverse chronological. Eyebrow dates are capture or land dates from our private trees — not website-publish dates.

Status · 21 August 2026

Headed VirtualBox 1080p rebuild + kernel/userspace split

The product ISO was rebuilt after the oversized-file split wave and boots headed VirtualBox (VBoxVGA, 768 MiB, 128 MiB VRAM) to the os-desktop three-finger wallpaper, icon column, 42px bar, and Terminal at guest@os:~ / bash$. Kernel and userspace files over 500 lines that were claimable are split (H1262–H1310). Host make test-unit still dies on three UHCI files over the 400-line library cap — that is queued as Work now T1–T3, not claimed green. Human look vs prototype still open.

VirtualBox 1080p Okei Desktop, 21 Aug 2026
Lab capture — not a public download. Same ISO the 21 Aug rebuild packed. Human look sign-off vs docs/os-ui prototype baselines remains open.

What works

Serial SERVER_OK / DESKTOP_OK / FB_OK / wallpaper / Terminal first present. VBoxVGA, not VBoxSVGA.

What we split

Claimable kernel/userspace files over 500 lines (H1262–H1310). Font dumps, monocypher, and the uncommitted Notes merge were skipped.

What is next

Physical x86 laptop ISO+video, Pi 5 UART, GIC photo. UHCI library-size so the host unit suite can finish. Software proxies never close metal rows.

Honesty

A headed screenshot is not click-path closure for Start→Calculator or title-drag. File/LOC growth includes leftover host-unit headers. make test-unit is not green.

Earlier · 20 August 2026

Headed VirtualBox 1080p desktop, leftover-print paused

The look-port guest ISO boots headed VirtualBox (VBoxVGA, 768 MiB, 128 MiB VRAM) to wallpaper, icon column, 42px bar, and Terminal at guest@os:~ / bash$ in about 20 seconds. A 1080p CREATE hang that left the LFB black is fixed (reserve the desktop surface; ACK before fill). Start-menu binaries on this ISO include Notes (/bin/sw-notes), Terminal, Calculator, Files, Chess, Solitaire, Settings, and the rest of the 22-entry registry. The first-party house-clean loop is stopped — leftover canvas-marker print wrappers had grown past gcc’s default include depth and were no longer a file-review campaign.

VirtualBox 1080p Okei Desktop, 20 Aug 2026
Lab capture — not a public download. Human look sign-off vs docs/os-ui prototype baselines remains open.

What works

Serial SERVER_OK / DESKTOP_OK / FB_OK / wallpaper / Terminal first present. VBoxVGA, not VBoxSVGA.

What we paused

House-clean leftover-print conveyor (last closed child H1227). Parent H0 stays open. Tests and scripts still unread as a wave.

What is next

Physical x86 laptop ISO+video, Pi 5 UART, GIC photo. Software proxies never close those rows.

Honesty

A headed screenshot is not click-path closure for Start→Calculator or title-drag. File/LOC growth includes leftover host-unit headers.

Status · 16–17 August 2026

Desktop UI look port — on the real stack

Mid-August work restyles Okei Desktop as it actually runs — compositor, panel, Notes, Terminal, Files — against a written look spec. It is not a new windowing system and not a JavaScript mock. Chrome is paper and clay (30px title, 22px buttons, 42px bar). Notes is File / Edit / Search / Help plus a footer and a slim page scroller. Terminal stays black, Source Code Pro 13, open banner OkeiOS version 1.0. Wallpaper is a coded generator, not a browser raster. Search, sound popup, and the Start card shipped as host-tested look pieces.

What landed

Theme tokens, Outfit + Source Code Pro atlases, rounded chrome with soft shadow, bar frost, desk-icon tiles, SE resize ticks. Guest ISO on VirtualBox carries this look.

What is still open

Human headed match vs the prototype remains the parent look gate. The featured screenshot on this page is now the 20 Aug 1080p look-port desktop. Window-move expose and Start→Calculator present are still operator residuals.

What we did not do

Did not replace sw-term / Notes / Files with the HTML prototype. Did not change Bash PS1 or drain predicates. Login was removed from Start (greeter is not a desktop app).

Honesty

Host units and an ISO pack are not a visual PASS. Side-by-side vs docs/os-ui prototype baselines is still operator work.

Milestone · 15 August 2026

Half a million first-party lines

The in-tree count crossed 500,000 lines — 509,590 today, in 3,491 files. That is kernel, boot, userspace, tests, scripts, GRUB, and image config. It is not vendored Bash, Vim, or the toolchain. One hundred and eighteen days after the first SlimOS commit (19 Apr), the private tree is a half-million-line operating system we boot ourselves.

How it grew

292k on 23 Jul → 450k on 9 Aug → 459k on 14 Aug → 510k on 15 Aug. About 217k first-party lines in three weeks, then the last 50k in a day of leftover splits and host units.

What the number is

Same find as scripts/marketing_metrics.sh. C, headers, assembly, shell, Python, linker scripts, GRUB/image config. Third-party ports stay out of the total on purpose.

What it is not

Not a finished product, not a public tree, not a claim that 2,411 house-clean findings are fixed. Size is a milestone. Behavior still has to earn each gate.

Alongside

3,552 commits (~30/day). 5,357 host unit-test definitions. 102 syscalls. Pi 5 HDMI boot already landed. House-clean still walking the rest of the tree.

Status · 13–20 August 2026

House-clean paused after leftover host-unit wrappers

Before a public tree, first-party files were being read by hand. Review commits add contract comments and a ledger row. They do not close the bugs they find. Later host-unit children extract *_pure.h helpers and can change product policy. The 15 Aug snapshot (812 children, 1,038 ledger rows) was a checkpoint. A later leftover-print conveyor kept numbering children without walking tests or scripts. That loop is stopped on 20 August.

Where it stopped

Last closed leftover child H1227. About 1,405 ledger rows of 4,727 metrics files. Parent H0 stays open until the full find has a row.

Read so far

Kernel, all of userspace/libc, and most of Okei Desktop remain the bulk of the real read. Tests and scripts are still unread as a wave. Late file growth is leftover header splits.

Catalog

About 3,377 unique finding IDs (contract / logic / security). Filing is not fixing. Catalog size grew with wrapper children — do not treat that as a 3k-bug fix list.

Honesty

A ledger row is not a cleanliness certificate. H numbers going up is not “the tree is clean.” Product compile now needs -fmax-include-depth=256 because of that wrapper chain.

Milestone · 9 August 2026

Raspberry Pi 5 boots with HDMI console

First physical Raspberry Pi 5 (1 GiB) boot of the AArch64 kernel with a real HDMI text console via the VideoCore property mailbox. Capture on a wall monitor shows board markers end-to-end from framebuffer init through DTB and syscall table.

Pi 5 HDMI console: OKEIOS_AARCH64_FB_BOARD_OK and OKEIOS PI BOARD HDMI CONSOLE
Hardware photo — not QEMU. Flashable image okeios-pi5-aarch64.img.

What works

FB_BOARD_OK, HDMI paint, EL1, DTB probe, VBAR/SVC table. Soft virtio correctly reports VIRTIO_NONE.

Next on board

Userspace after NO_USER (1 GiB-safe load + microSD root), debug UART base map, then shell on HDMI.

QEMU path

AArch64 virt bash + interactive CLI remain the daily software gate for the same tree.

Honesty

HDMI console ≠ board shell. SDHCI root and board UART still open task gates.

Milestone · 6 August 2026

HTTPS, scp, git, and desktop click-paths

Closed CA-verified HTTPS (curl + wget), Dropbear scp put/get, freestanding git porcelain, live ssh -X x11-req smoke (protocol path), Vim/PTY/tmux, title-bar close campaign, image PPM+BMP Open/Save, and QEMU click-paths across shipped desktop apps. Product Bash remained static.

Net

Real CA verify; scp session-close green; product /bin/ssh stays Dropbear dbclient.

Git & editors

Guest add/commit/status/diff/log; Vim edit round-trip; Multiboot tmux.

Desktop

File Manager, Calculator, Chess, Solitaire, Task Manager Kill, Calendar, Theme, Network, Asteroids, Font Viewer, Settings — host selftest + QEMU markers.

Scale then

~434k LOC · 4,210 unit tests · 2,827 files · 102 syscalls.

Milestone · 5 August 2026

Shared libc, dyn bash, Bash honesty

PIC newlib as shared libraries, opt-in bash-dyn (guest dyn smoke), DT_GNU_HASH, and honest Bash sleep/getppid/alarm/ttyname paths. Product /bin/bash stayed statically linked. okeios-box at 103 applets.

Milestone · 4 August 2026

Multicall, terminal stability, sparse root, USB HID

okeios-box multicall expansion, terminal stability suite (single finish predicate, FG_EXIT on all zombie deaths), sparse demand Ext4 root, xHCI HID software path, product DNS, gzip Multiboot module.

Milestone · 1 August 2026

Pipeline stability and product tools

Multi-loop Bash pipelines that survive real work; FHS-style PATH; upstream find/bc/kill; product smoke for grep/ps/scp; NVMe root e2e; RO text COW on fork. Footprint then ~366k LOC.

Milestone · 28 July 2026

VirtualBox desktop curls okeios.org

Under Oracle VirtualBox, Okei Desktop Terminal runs curl okeios.org/helloworld and prints the live greeting — DNS, TCP, and HTTP through the in-kernel stack.

VirtualBox Okei Desktop Terminal after curl okeios.org/helloworld
HTTP from a real VM desktop. Captured 28 Jul 2026.
Milestone · 27 July 2026

Self-SSH, ~16s desktop path, strace, NVMe

Guest self-SSH over loopback TCP, VirtualBox GUI path cut to ~16 s to Terminal (lab bench), upstream strace 6.9 on real ptrace, PCIe NVMe driver.

Milestone · 23 July 2026

VirtualBox boots and pings the Internet

Same Multiboot2 ISO under VirtualBox reaches interactive Bash; guest ping google.com receives a public ICMP reply.

VirtualBox guest bash after ping google.com
Real networking from a VM. Captured 23 Jul 2026.
Milestone · 11 July 2026

Bash in a web x86_64 emulator

Real Multiboot2 kernel and userspace reach interactive bash-5.2# in a custom browser emulator (sibling okeios-web) — not v86, not QEMU-in-WASM.

Okei OS web emulator at bash-5.2#
Interactive Bash in the browser. Captured 11 Jul 2026.
Milestone · 26 June 2026

Okei Desktop in QEMU

Terminal, Chess, and the desktop panel together — Desktop v1 visual from a private make all image.

Okei Desktop with Terminal and Chess in QEMU
Okei Desktop v1 — panel, Terminal, Chess. Captured 26 Jun 2026.
Milestone · 21 June 2026

Project renamed to Okei OS

Codebase and product language standardized on Okei OS and Okei Windows (desktop). Public and marketing names use Okei Desktop for the GUI; source trees keep the okeiwin prefix as an implementation detail.

Milestone · 21 April 2026

First ISO build and QEMU boot loop

Within days of the repository starting, the tree produced a bootable ISO and launched QEMU. Same-day work fixed Multiboot long-mode entry, page-directory layout, and identity-mapped kernel paging — the “getting code working” phase.

Host building ISO while QEMU shows early boot serial
First working boot loop. Host finishes the ISO build; QEMU shows SeaBIOS and early kernel serial. Captured 21 Apr 2026 ~19:00.
Milestone · 19 April 2026

Git history begins

First commit on master: project scaffolding, Multiboot2 stubs, GDT/IDT, VGA/serial, page allocator, scheduler sketch, VFS notes, Makefile/QEMU, and phased task tracking. Project age is counted from this commit.

Honest status. Okei OS is private pre-alpha — not a download, not open source yet. What “works” is what we verify with builds, QEMU gates, VirtualBox boots, and the web emulator. The house-clean is paused — not a claim that catalogued findings are fixed. The UI look port is on the guest ISO and a 20 Aug VirtualBox 1080p shot; human match to the prototype is still open. Next product work is metal (laptop video, Pi 5 UART). Optimistic about a public open-source release soon; no hard calendar date.
Basics

What is an operating system?

An operating system is the brain and nervous system of a computer — the software that wakes up the hardware, manages memory, talks to display and keyboard, and gives applications a safe place to run. Building one from scratch means owning every layer of that story.

Direction

Where we are headed

Near-term: installable pre-GUI release — reproducible build/install, newlib sysroot, Bash as the interactive shell, real userspace networking, PTY substrate — then deeper GUI polish. Longer term: local-first tooling and creator workflows.

Productivity & Office

Browser, email, notes, documents, spreadsheets — on the Horizon map, not built today.

Creator's Suite

Page design, image/video, CAD-style tools for makers.

On-device AI

Local intelligence without cloud dependency.

Aether windowing

Capability-secure remote surfaces over the network.

Horizon map

FAQ

Common questions

What is Okei OS?

A from-scratch 64-bit OS with a custom kernel, GNU Bash, upstream utility ports, and Okei Desktop v1. Private pre-alpha — we boot it in QEMU, VirtualBox, and a browser emulator.

Can I download or run it?

Not yet. No public repository, ISO, or hosted emulator. A public open-source release is a near-term goal without a fixed ship date.

Is there a web browser or office suite?

No. Those categories are on the Horizon — direction only.

Where is the technical truth?

The OS page has architecture, boot path, ports, and known gaps — still our private tree, not a public binary.

Open source · soon

Availability

Okei OS is not public yet — no open repository, no downloadable ISO, no hosted emulator for visitors. We are preparing an open-source release and are optimistic it can go public soon, once build, test, and contribution workflows are solid enough to invite others in.