Scale
- Half a million first-party lines (509,590)
- 3,491 files · 5,357 host unit tests
- 102 syscalls · 103 multicall applets
- 3,552 commits · ~30/day avg · 118 days
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.
Private tree is a product-shaped OS: Bash, Okei Desktop, real networking, HTTPS/scp/git, and QEMU-proven desktop click-paths. Active engineering is a first-party house-clean — read every in-tree file, write contracts, file findings; review commits do not silently “fix.” Later host-unit children may wire helpers. On 9 August 2026 we first booted on a physical Raspberry Pi 5 with an HDMI text console (OKEIOS_AARCH64_FB_BOARD_OK). QEMU free-path SSH gates stay green; board userspace and headed Terminal free-path SSH polish continue.
812 H children closed. 1,038 files on the ledger (of 3,491). 2,411 findings filed, not a fix list. Kernel ~82% + all of libc + more than half of Okei Desktop. Tests and scripts not started.
CA-verified HTTPS, Dropbear scp, freestanding git, Vim/PTY/tmux, desktop click-paths + title-close + PPM/BMP, shared newlib + opt-in bash-dyn, VBox public ping / self-SSH / curl okeios.org. Product /bin/bash stays static.
Rest of the house-clean (tests, scripts, leftover drivers/apps); Pi 5 board userspace; headed Terminal free-path SSH UX; headed remote X PRESENT. Not a public download.
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.
curl okeios.org/helloworld). Same capture as the 28 Jul milestone (illustrated here for the product stack).
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.
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.
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.
Display server, panel, Start menu, 21 registered apps (Terminal, Notepad, Calculator, Chess, Solitaire, Asteroids, Settings, and more). Title-close and QEMU click-path gates on shipped apps.
5,357 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.
First-party scope matches scripts/marketing_metrics.sh (15 Aug 2026): kernel, boot, userspace, tests, scripts, GRUB, image config — not vendored third-party trees.
Growth track: 1,369 files / 292k LOC (23 Jul) → 2,075 / 342k (28 Jul) → 2,450 / 397k (4 Aug) → 2,827 / 434k (6 Aug) → 2,954 / ~450k (9 Aug) → 3,033 / ~459k (14 Aug) → 3,491 / 509,590 now — first time over half a million first-party lines. Syscalls 89 → 102. House-clean (13–15 Aug): 739 commits, +65,666 / −6,491 lines, 1,255 source files touched.
Reverse chronological. Eyebrow dates are capture or land dates from our private trees — not website-publish dates.
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.
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.
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.
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.
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.
Before a public tree, every first-party file is 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 may wire helpers and can change product policy.
739 commits since 13 Aug (304 / 327 / 206 on 13–15). 812 H children closed. Parent epic stays open until all 3,491 metrics files have a row.
1,038 ledger rows — kernel 714/870, all of userspace/libc, Okei Desktop 230/396. Tests (1,437) and scripts (310) not started.
2,411 findings (1,228 contract, 1,101 logic, 82 security) and 2,367 missing-test rows. Filing is not fixing.
Since 13 Aug: +65,666 / −6,491. Source +53,941 / −4,239 across 1,255 first-party files. Ledger docs are a large share of the rest.
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.
okeios-pi5-aarch64.img.FB_BOARD_OK, HDMI paint, EL1, DTB probe, VBAR/SVC table. Soft virtio correctly reports VIRTIO_NONE.
Userspace after NO_USER (1 GiB-safe load + microSD root), debug UART base map, then shell on HDMI.
AArch64 virt bash + interactive CLI remain the daily software gate for the same tree.
HDMI console ≠ board shell. SDHCI root and board UART still open task gates.
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.
Real CA verify; scp session-close green; product /bin/ssh stays Dropbear dbclient.
Guest add/commit/status/diff/log; Vim edit round-trip; Multiboot tmux.
File Manager, Calculator, Chess, Solitaire, Task Manager Kill, Calendar, Theme, Network, Asteroids, Font Viewer, Settings — host selftest + QEMU markers.
~434k LOC · 4,210 unit tests · 2,827 files · 102 syscalls.
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.
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.
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.
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.
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.
Same Multiboot2 ISO under VirtualBox reaches interactive Bash; guest ping google.com receives a public ICMP reply.
Real Multiboot2 kernel and userspace reach interactive bash-5.2# in a custom browser emulator (sibling okeios-web) — not v86, not QEMU-in-WASM.
Terminal, Chess, and the desktop panel together — Desktop v1 visual from a private make all image.
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.
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.
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.
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.
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.
Browser, email, notes, documents, spreadsheets — on the Horizon map, not built today.
Page design, image/video, CAD-style tools for makers.
Local intelligence without cloud dependency.
Capability-secure remote surfaces over the network.
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.
Not yet. No public repository, ISO, or hosted emulator. A public open-source release is a near-term goal without a fixed ship date.
No. Those categories are on the Horizon — direction only.
The OS page has architecture, boot path, ports, and known gaps — still our private tree, not a public binary.
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.