Repository navigation
Releases: zaureliu/UtamoOS
Release list
UTAMO OS v0.9.0
UTAMO OS v0.9.0
Release gates: GREEN. The graphical desktop passed the full automated
gate and explicit maintainer QEMU/VNC acceptance on the exact release image.
Highlights
UTAMO Desktop introduces a functional graphical environment with mouse input,
overlapping windows, a launcher/taskbar and real Terminal, System Monitor and
Files applications.
Graphics
Validated 32 bpp framebuffer abstraction, a heap-owned backbuffer, clipping,
pixel/line/rectangle/blit primitives and bitmap font rendering. The software
cursor is composed after windows and desktop controls. PS/2 mouse and keyboard
share an ordered event queue with counted loss and input-reset recovery.
Desktop
A bounded compositor and window manager provide focus, z-order, title-bar
dragging and close, with up to 16 live fixed-size windows. Labels, buttons,
panels, text fields and lists provide keyboard navigation and editing.
The launcher opens implemented apps; the taskbar selects live windows.
F12 returns to recovery, and the desktop command starts a fresh session.
Applications
- Terminal: shared shell commands, editable input, bounded scrollback and a
serialized command worker that keeps the desktop interactive during waits. - System Monitor: real uptime, PMM/heap, scheduler and process snapshots.
- Files: read-only VFS navigation, directory pages and ASCII text up to 8 KiB.
- About UTAMO: running version, architecture and a functional close control.
Kernel
The existing memory, scheduling, Ring 3, native ELF, immutable VFS, read-only
storage and IPv4 networking contracts remain. Serial diagnostics stay active
during graphical operation. GUI apps currently run as trusted kernel modules.
Release packaging normalizes local paths in non-loaded debug data. Every
loaded segment and allocated section remains identical to the graphics
campaign kernel; debug offsets, symbols and line tables are retained.
Validation
Fresh release validation on the normalized kernel and its four ISO profiles:
| Validation | Result |
|---|---|
| Host C assertions | GREEN: 41,349 |
| Packaging Python tests | GREEN: 7 |
| ELF/ABI checks | GREEN: 2,288 |
| Legacy QEMU assertions | GREEN: 13,825 in 41 VMs |
| Graphics QEMU assertions | GREEN: 1,494 in 18 VMs |
| Headless/VNC lifecycle | GREEN: 2 VMs |
| Final VM cleanup | GREEN: all 61 reaped; sockets removed and lock released |
| Graphics stress | GREEN: 4 runs, 496 window lifetimes, exact warmed memory accounting |
| Manual acceptance | GREEN: explicit maintainer confirmation, 2026-09-22 |
The gate records 58,956 C/ELF/QEMU assertions and seven
additional Python packaging tests, with zero final failures. Counts are
recorded assertions, not unique tests or coverage percentages. Legacy and
graphics profiles embed identical kernel/initramfs bytes. The desktop/stress
matrix covers 64/256/512 MiB at 1024x768 and 256 MiB at 800x600.
The fresh Files suite recorded 239 checks versus 277 historically.
Its snapshot polling loop repeats two consistency checks while waiting for
the expected state; this execution needed 19 fewer repetitions of each.
All other check-name counts, four closed Files instances and the accepted
state count match. The harness and case plan are unchanged. The validation
manifest records this variation; no historical count was substituted.
An earlier preparation run was superseded after finding local paths in debug
data; its receipts are retained separately and are not counted in this gate.
Validation manifest and
preparation record describe provenance and limitations.
ISO: utamo-os-0.9.0.iso
SHA256: 46d05706aafec498fdb88cd35cd13310e89c0949b2581996f55f7a2b05b3943e
Kernel: utamo-kernel.elf
SHA256: e19e1d549c3ec6c234d44d7e678e061d4b9291225834f4b7ac08a61370801ca6
Known Limitations
Experimental single-BSP QEMU scope; no physical-hardware or UEFI acceptance.
The desktop needs a 32 bpp framebuffer of at least 800x600. Windows have fixed
sizes; no resize/minimize/maximize, GPU acceleration, clipboard, Unicode
shaping, mouse wheel or USB input. Terminal is not a full ANSI/POSIX shell.
Files cannot modify storage. Monitor does not invent CPU percentages.
Heap capacity, some page tables and one Terminal worker remain committed by
design. Bounded native/network commands can finish after a Terminal closes.
There is no userspace window server, SMP, TCP, HTTP or userspace socket API.
Manual Validation
GREEN. On 2026-09-22 the maintainer explicitly accepted desktop startup,
mouse/click, launcher, Terminal keyboard/Enter/Backspace and version/help/mem/ps,
drag, focus/z-order, close/reopen, live System Monitor, Files navigation and
/etc/motd, simultaneous windows and stable use without observed crash, freeze
or graphical corruption. The complete acceptance record
is bound to the ISO and kernel SHA256 values above.
Next Milestone
After desktop publication: UTAMO OS v1.0.0 Stabilization, focusing on
reliability, resource cleanup, scheduler/process stress, userspace isolation,
storage/networking/GUI robustness, boot/recovery, error handling and consistent
documentation. This milestone is NOT IMPLEMENTED and is not started here.
UTAMO OS v0.8.0
UTAMO OS v0.8.0
UTAMO OS is an experimental x86_64 operating system built in freestanding C17 and NASM. This release completes the Astra campaign through native IPv4 networking, building on the preserved v0.1.0 public baseline.
Highlights
- Physical and virtual memory management, a growing kernel heap, guarded thread stacks and preemptive round-robin scheduling.
- Isolated Ring 3 processes, private address spaces, checked user copies and a native INT128 syscall ABI.
- Immutable VFS/initramfs, a strict static ELF64 loader, PID 1 init and seven native userspace programs.
- PCI enumeration, readonly AHCI/block access and bounded FAT32 snapshots.
- E1000 DMA, Ethernet, ARP, IPv4, ICMP echo, UDP transactions, DHCP and bounded DNS A/CNAME resolution.
- Kernel diagnostics and stress commands for memory, scheduling, process isolation, files, storage and networking.
Validation
The release was rebuilt and validated from commit 8da019c before publication.
| Validation | Checks | Failures |
|---|---|---|
| Host tests | 36,527 | 0 |
| ELF / ABI inspection | 1,987 | 0 |
| QEMU headless | 13,815 | 0 |
| Total | 52,329 | 0 |
All 41 QEMU runs used Q35/TCG with one vCPU, the headless harness, bounded timeouts and verified process cleanup. The matrix covers 64/256/512 MiB RAM, NX variants, process isolation, malformed input, corrupt storage, network link recovery and allocator accounting. Network validation uses local fixtures.
The toolchain was x86_64-elf GCC 14.2.0, Binutils 2.43.1 and NASM 3.01, with Limine v8.7.0-binary and QEMU 10.2.1. The rebuilt kernel matches the campaign's validated kernel byte for byte; the ISO was regenerated and its embedded kernel and initramfs were checked.
See the release validation manifest, SHA256SUMS and campaign report. These are fresh release checks; historical campaign totals are recorded separately.
Downloads and integrity
The attached ISO includes the kernel, initramfs, seven native applications and BIOS/UEFI Limine boot assets. The standalone kernel ELF includes debug symbols. UTAMO and Limine license notices are included in the ISO; the standalone kernel's MIT license is also attached.
8ca07e98c14414f595bbcfaa04790247cc6067cd101b0ca831b54aad393d31e1 utamo-os-0.8.0.iso
cdf220446fe7fb0ad6e69922942d565508341bec7670ee6731c37fc00ed64267 utamo-kernel.elf
Known limitations
- Experimental, single-CPU operation. Userspace requires NX and uses a native static ELF ABI; no POSIX compatibility, SMP or floating-point/vector context switching.
- Storage supports readonly 512-byte-sector AHCI reads and bounded FAT32 8.3 snapshots; no writes or partition discovery.
- Networking polls during kernel network operations. No userspace socket API, TCP, HTTP, automatic DHCP renewal or continuously running server.
- No userspace shell or GUI.
- UEFI assets are included, but UEFI, physical hardware and external network interoperability were not validated for this release.
The campaign's functional LAST_KNOWN_GOOD remains 81a01ce. The release tag points to 8da019c, which adds only campaign documentation and audit records. References to an unpublished campaign and the previous public release in the source documentation describe the prepublication checkpoint. Existing v0.0.1 and v0.1.0 tags are preserved.
Next steps
The Astra v0.8 core campaign is complete. Optional TCP/HTTP, a userspace shell and broader hardware validation remain future work; this release does not implement them.
UTAMO OS v0.1.0
UTAMO OS v0.1.0
The first interrupt-driven UTAMO OS milestone builds on the preserved v0.0.1
boot baseline. The kernel now reaches an interactive utamo> prompt.
Highlights
- Own x86_64 descriptor tables and CPU exception diagnostics.
- Hardware timer interrupts and buffered PS/2 input.
- A small, real kernel shell with explicit fault-test commands.
- Existing boot, framebuffer, serial and freestanding foundations preserved.
Implemented
- Limine boot and a higher-half ELF64 kernel in freestanding C17 and NASM.
- GDT, 64-bit TSS and IST stacks for critical exceptions.
- A 256-entry IDT, normalized interrupt frames and SysV AMD64 Assembly stubs.
- Fatal CPU exception reports with general registers and serial-first output.
- Page fault diagnostics with CR2 and error-bit decoding.
- PIC 8259 remapping, masking, spurious IRQ handling and EOI.
- PIT channel 0 at a nominal 100 Hz and monotonic ticks.
- PS/2 set 1 keyboard initialization, input buffering and scancode decoding.
- Shell commands:
help,clear,version,sysinfo,mem,uptime,
echo,halt,fault ud2,fault div0,fault pf. - Host tests, ELF/ABI inspection and a bounded headless QEMU harness.
Fault commands deliberately stop the kernel and never run during normal boot.
Validation
Recorded v0.1.0 results:
| Validation | Checks | Failures |
|---|---|---|
| Host tests | 5,214 | 0 |
| ELF / ABI inspection | 1,303 | 0 |
| QEMU headless | 126 | 0 |
| Total | 6,643 | 0 |
The same 6,643-check matrix passed again after the public documentation
preparation, with an unchanged kernel ELF hash and a regenerated ISO.
The headless runs observed the boot prompt, loaded GDT/IDT, advancing PIT
ticks, Invalid Opcode, Divide Error and Page Fault diagnostics, and a halted
CPU after fatal probes. The validated build used x86_64-elf GCC 14.2.0,
Binutils 2.43.1, NASM 3.01, Limine v8.7.0-binary and QEMU 10.2.1.
The maintainer separately confirmed manual QEMU/VNC validation on 2026-09-14:
PS/2 keyboard, character typing, Enter, Backspace, shell commands, clear
and halt. These are maintainer-reported results, not additional automated
checks. No specific image hash was supplied for the manual session.
These observations apply to the recorded validation environment; they do not
guarantee results on future builds or arbitrary hardware.
See the implementation report
and validation record.
Known Limitations
UTAMO OS is experimental and is not intended for production use.
There is no complete PMM, own VMM, kernel heap, multitasking, processes,
userspace, filesystem, networking or GUI/window manager. The current kernel
runs on one CPU in ring 0 and uses the bootloader's initial mappings.
Input is ASCII US with a bounded line buffer. The terminal clears on overflow;
it has no scrollback. There is no reboot command or exception recovery.
PIT uptime is nominal and uncalibrated.
TSS/IST is configured, but Double Fault, NMI and Machine Check were not
deliberately triggered in the recorded QEMU tests. UEFI and physical hardware
were not validated for this release. Exhaustive modifier combinations and
all graphical fault reports are outside the specific manual confirmation.
Next Milestone
v0.2.0 — Physical and virtual memory management: explicit frame ownership,
reserved-memory handling, physical allocation, own page tables and guard pages.
The v0.0.1 tag is preserved. Release sources use the annotated v0.1.0 tag.
Build outputs, the local toolchain and the Limine vendor checkout are excluded
from the repository.