// the project
About MayteraOS.
MayteraOS is a custom x86-64 operating system, written from scratch for the love of it: no Linux, no BSD underneath. Just a UEFI bootloader, a freestanding C kernel, a windowed desktop, an AI assistant, and its own compatibility layers for software from other eras.
What it is
MayteraOS boots via UEFI (BOOTX64.EFI), runs a Ring 0 freestanding C/assembly
kernel, and launches Ring 3 user processes via SYSCALL/SYSRET. On
top of that sits a user-mode compositor that draws a CDE/Motif desktop, a from-scratch
TCP/IP and TLS stack, a read/write ext2 root filesystem, and a set of native apps.
Its two defining ideas are an AI integrated at the OS level, able to drive and (safely) reprogram the system, and broad compatibility with software from other platforms: real Windows 3.1 / Win16 programs, DOS software and DOOM.
The technology
- Architecture
- x86-64 (long mode)
- Boot
- UEFI: BOOTX64.EFI loads an ELF kernel from a FAT32 ESP
- Kernel
- Freestanding C, Rust and assembly, no libc, Ring 0
- Userland
- Ring 3 ELF programs via SYSCALL/SYSRET
- Memory
- Identity-mapped paging, PMM / VMM / heap, demand paging
- Scheduling
- Preemptive processes + cross-core SMP, verified stable at 1, 2, 4, 8 and 16 cores (tested on hosts with up to 80 physical cores)
- Graphics
- Framebuffer compositor, TrueType, BMP / PNG / JPEG
- Network
- TCP/IP, DHCP, DNS, TLS 1.2 + 1.3, HTTP/1.1 + HTTP/2, SMB shares
- Remote
- SSH-2 client & server (RSA, curve25519)
- Filesystems
- ext2 (read/write root) · FAT32/VFAT (ESP)
- Drivers
- PS/2, PCI, ATA/AHCI, e1000 / virtio / rtl8139, HD Audio, USB (xHCI: Mass Storage, HID, Audio Class)
- AI
- OS-wide assistant over a YAML tool-contract, capability-token and audit protocol
- Compatibility
- Windows 3.x (NE) + 16-bit OLE2/COM, DOS, DOOM (bring your own software and DOOM.WAD)
- License
- GPLv2-or-later, source on GitHub
How it is built
The kernel is a freestanding build (-ffreestanding -nostdlib -mcmodel=kernel),
compiled and tested on a build host and deployed to UEFI virtual machines. User apps build
against a freestanding libc and link as Ring 3 ELF programs.
The kernel is being incrementally rewritten in Rust, subsystem by subsystem, and Rust is now the default for new kernel code. Each ported subsystem is folded in behind a build flag with the original kept alongside it, so a port can be reverted in one line and both implementations can be run against the same inputs and compared. Parsers that handle untrusted input are audited with differential fuzzing and AddressSanitizer harnesses; whatever those surface is fixed at the source and published on the security advisories page. The Rust in the kernel is written for this project rather than adopted from third-party crates.
Every change is recorded in the project changelog. The source tree is tracked in git, with every build stamped with the exact commit it was built from, so any shipped image can be traced back to the source that produced it.
Credits & attribution
MayteraOS is an independent operating system. Where it uses third-party assets, they are credited here.
Icons
Desktop, Start-menu and system-tray icons are derived from artwork on
SVG Repo, distributed under the
Creative Commons Attribution (CC BY) license
(license reference).
The SVGs were recolored and rendered to the internal MICO (.ICN) icon format
used by the compositor.
Fonts
This website uses Space Grotesk (Florian Karsten, SIL Open Font License) and IBM Plex Sans / IBM Plex Mono (IBM, SIL Open Font License).
Ported software
DOOM is id Software's; it runs here through a native platform layer. Windows 3.1 / Win16 and DOS programs run through MayteraOS's own compatibility layers and are the property of their respective authors.
Desktop pet
The “sheep” desktop pet is drawn by the compositor; the project also supports an optional sprite sheet. The procedural form embeds no third-party artwork.