SieFS, the file system
A copy-on-write B+tree with two superblocks and a checksum in every pointer. A crash leaves the old state or the new one, never a mix. Small files live inside the tree, and attributes are indexed: find key=value.
sicc, the C compiler
One program that preprocesses, compiles, assembles and links C11 for x86-64 and AArch64, with its own optimizer, assemblers and linker. It builds all of SIEOS, compiles itself into byte-identical stages, and keeps NEON vectors in registers.
Network and TLS 1.3
TCP/IP, DHCP, DNS, HTTP and TLS 1.3 with certificate checking, written for SIEOS. Drivers for virtio-net, the Pi 4's GENET and the Pi 5's RP1 Ethernet. fetch URL downloads a page.
Users and permissions
Argon2id passwords, groups, and permissions enforced by the file server with the identity the kernel stamps on every message. passwd, su, useradd, userdel.
The language-model engine
Reads GGUF models and runs them on the CPU, with hand-written AVX2, AVX-VNNI and NEON kernels. It works on SIEOS and, for testing, on the development machine.
A compiler on SIEOS itself
sicc also runs inside SIEOS as /bin/cc, on x86-64 and on the Pis, with SIEOS's headers and library in /lib/sicc. As a user, in any folder: cc hello.c -o hello, then ./hello.
Tested end to end
More than 20 automatic test suites boot SIEOS in QEMU on both architectures. They cover the first start, logins, permissions, crash recovery, the network and the assistant, and they drive the desktop through QEMU's monitor: windows, Files, the editor, Settings and Pins.
A PC from a USB key
SIEOS's own UEFI loader (11 KB) starts it from a USB key, and SIEOS uses the key as its disk: what you write stays on it. A USB stack with xHCI, hubs, disks, keyboards and mice.
A console on a GFX HAT
No serial cable? With a Pimoroni GFX HAT on a Pi 4, its small screen shows the console's log from the very start of the boot, and its touch buttons scroll back through it. The kernel keeps the last 32 KiB of the log.