A from-scratch
x86_64 kernel.
Boots into ring 3.

Open Cube OS 3.0.0-WP06c (development preview) boots through its own bootloader and kernel (L0), then hands the machine to the default ring-3 application — the ush user shell with 285 commands riding the SYS_L1SVC service surface. L0 is a pure service kernel: no shell, no commands, no TUI. Not a Linux fork: 128,890 lines of original code, Apache 2.0.

qemu β€” Open Cube OS 3.0.0-WP06c
[oc] Open Cube OS 3.0.0-WP06c kmain entered
[00:00:02.550] boot complete..................... OK
[00:00:02.560] L0 ready, waiting for L1.......... OK
l1 launcher: booting 'ush' (ring 3, 18968 bytes)

Open Cube OS User-space Shell (ush)
ush> █
285
commands
190
L1SVC ops (20 services)
54
syscalls
128,890
lines of source

Features

A real kernel, not a demo: preemptive scheduling, four-level paging, ring-3 processes, a VFS over four filesystems, a full TCP/IP stack with TLS and SSH (client and server), 16 driver families, crash dumps, hardware watchdogs, and OTA A/B updates.

boot

OCBL - the in-tree bootloader

One ISO boots both firmware paths through OCBL, the self-written bootloader (16→32→64-bit long mode, dynamic disk scan) - no GRUB anywhere in the 3.0.0 chain.

memory

PMM / VMM / heap

Bitmap physical manager over the multiboot2 map, 4-level paging, kmalloc with coalescing and stack/heap growth by page fault.

cpu

Preemptive scheduler

Priority + round-robin over TCBs, 100 Hz tick, soft-timer wheel, IST-separated exception stacks, live 3/3 trap self-test on every boot.

ring3

User programs

ELF loader, 54 syscalls, fork/exec/pipes/signals/select/mmap, an in-tree shared-object loader with dlsym and PIE relocations - and the SYS_L1SVC + SYS_NETCMD service bridges.

net

TCP/IP + TLS + SSH

Seven NIC driver families, congestion-controlled TCP, sockets, firewall, an HTTPS client with X.509 verification, and a real sshd in-guest.

storage

NVMe to FAT32

AHCI/ATA-DMA/NVMe/virtio/USB-MSC/SD/SCSI block devices; FAT32 with LFN, exFAT, ext4, ramfs; a persistent /etc volume.

usb

Four USB stacks

UHCI, OHCI, EHCI and xHCI host controllers with MSC, HID, serial and audio classes - hotplug included.

reliability

Crash + watchdogs

Register dumps to serial and crashlogs to /etc, Intel TCO and ACPI WDAT hardware watchdogs, policy watchdog slots, health alarms and JSON export.

shell

One shell, all ring 3

ush is the only shell: 274 registry apps (one command = one app = one folder under src/L1/) plus 11 built-ins with pipes, jobs, wildcards, aliases and an editor. The 2.x L0 recovery shell was removed in WP-03 - L0 has no shell at all.

tui

Terminal UI - an L1 world

Desktop, taskbar, menus, forms, editor and system apps ride the L1SVC tui service from ring 3 - plus a Chinese console layer with a pinyin IME, all under src/L1/.

ota

A/B updates

Manifest-driven OTA with SHA256 + signature verification, staged install onto the inactive slot, automatic rollback.

l1

20 services / 190 ops

The ring-3 surface is the contract: 20 SYS_L1SVC service categories with 190 numbered ops, every operational command class behind one syscall. The v1→v2 mapping table ships in INTERFACES.md.

Quick start

From download to a ush> prompt in about a minute. Any machine with QEMU works; real hardware boots the same ISO from USB.

1

Boot the ISO in QEMU

One command - the ISO is self-contained, 512 MiB of RAM is comfortable.

$ qemu-system-x86_64 -m 512 -cdrom opencube-3.0.0-WP06c.iso \ -netdev user,id=n1 -device e1000,netdev=n1
2

Watch it come up

One OK line per subsystem: the OCBL handoff, long mode, framebuffer, IDT, PIT, PMM, drivers, VFS, network - then L0 ready, waiting for L1.

[00:00:02.480] disk subsystem (block dev + cache + partition + FS). OK [00:00:02.560] L0 ready, waiting for L1.......... OK l1 launcher: booting 'ush' (ring 3, 18968 bytes)
3

Drive the machine

Bring up networking, pull a page, inspect the system - every command is a ring-3 app served from the registry.

ush> dhcp && ping 10.0.2.2 ush> wget 10.0.2.2 ush> dmesg ush> help -a
4

Go deeper

The documentation center has the user manual, the command reference, the developer handbook, the L1 extension guide and the architecture deep-dives.

It really runs

Captured from the 3.0.0-WP06c release ISO in QEMU - the BIOS and the UEFI boot path, through OCBL to the ring-3 ush prompt.

Open Cube OS 3.0.0-WP06c booted in QEMU via legacy BIOS: the OCBL handoff, the L0 boot log ending at L0 ready waiting for L1, and the ush shell prompt
Legacy BIOS boot - 3.0.0-WP06c800×600
Open Cube OS 3.0.0-WP06c booted in QEMU via UEFI (OVMF): the same L0 boot log and the ring-3 ush shell prompt
UEFI boot (OVMF) - 3.0.0-WP06c800×600

The two-layer idea

“Everything is extensible” is the whole design: L0 is a pure service kernel and nothing more; everything users actually see - the shell, the TUI desktop, the editor, the IME - is an L1 program riding the surface.

l0

OCOS - the service kernel

Kernel + drivers + root services + the numbered L1SVC interface. Boots, serves, recovers - and stops there: no shell, no commands, no TUI, no IME in L0 (the 2.x recovery shell was removed in WP-03). This repository.

l1

The ring-3 world

275 programs under src/L1/: ush, the TUI desktop, the editor, the Chinese console + IME and one command per app - every operational command class runs behind the 20-service SYS_L1SVC surface.

goal

Cube OS = L0 + L1

The roadmap: a complete, daily-usable system assembled from the kernel below and the extension ecosystem above.

deep dive

See the whole picture

OCBL boot flow, every L0 subsystem, the L1 program world and the 20-service L1SVC surface, each on its own page.