verified · QEMU + VirtualBox · 2026-10-14

NaOS v0.1.0.

The first frozen release: a bootable, usable system. Own UEFI bootloader and kernel, shell, files, multitasking, USB keyboard, networking and three storage drivers — zero prebuilt OS code.

NaOS.v0.1.0.iso NaOS.v0.1.0.img
01/

Highlights

01

39 plain-English commands

Files, system, network, power — with history, scrollback, font sizes, output redirect and a themeable prompt.

02

AHCI · NVMe · ATA + FAT32 + live RAM copy

One block layer, writable FAT32, long filenames. Boots from SATA, NVMe — or straight off the ISO with files.

03

fork() with CoW

Ring-3 programs, private address spaces, preemptive scheduler, copy-on-write fork, file syscalls.

04

TCP/IP + DHCP + DNS + updater

E1000 driver, ARP/ping, UDP sockets, DHCP lease at boot, DNS, TCP client with HTTP fetch and hash-verified update.

05

PS/2 + USB HID

Polled XHCI stack with hotplug rescan, classic PS/2 fallback, PC-speaker beeps.

06

ISO export + auto-boot

El Torito UEFI image, shell auto-boot fallback, Rufus/DD-mode guide for real hardware.

02/

Command reference

Everything the NaOS> prompt understands in v0.1.0.

Files

listlist the current folder
read <file>show a text file
go <dir>change folder
make-folder / make-filecreate folder / file
copy · move · renameorganize files and folders
edit <file>built-in text editor
delete <path>remove files and folders
nafs mount/list/readbrowse NaOS-FS images

System

help · version · aboutcommands · build date · developer
run <program>run a disk ELF program
tasks · kill <id>process list · stop a task
time · date · uptimeCMOS clock readings
memory · test · crashstats · self-tests · fault test
pci · settingsPCI scan · prompt/theme view
clear · print · beepscreen · echo text · speaker
font [small|normal|big|3|4]console size, saved
PgUp · PgDnscroll the screen back and forth

Network

netMAC / IP / link / counters
dhcplease an address (proves UDP)
ping <ip>ICMP echo, 4 packets
fetch <ip> <port> <path>HTTP GET over TCP
dns <name>resolve a hostname
update check/getmanifest compare + verified downloads

Hardware & power

usbrescan for a USB keyboard
nvmecontroller info + self-test
reboot · shutdown8042 reset · ACPI power-off
03/

Run it

Inside this folder. One-time host setup is in the README. Artifact sizes: BOOTX64.EFI ~17 KB · KERNEL.ELF ~155 KB · DATA.NAFS 61,952 B · ESP 64MiB · ISO ~64.6 MiB.

export PATH=/opt/cross/bin:$PATH
./tools/check.sh   # verify tools + OVMF
make all && make esp
make run           # → NaOS> shell
make run-iso       # needs xorriso: boot the ISO itself
04/

Verified requirements

ToolVersionPurpose
QEMU + OVMF11.1.0emulator + UEFI firmware
x86_64-elf-gcc + ld16.2.0 / 2.47kernel (via /opt/cross)
x86_64-w64-mingw32-gcc16.2.0bootloader (PE+)
NASM · Make · mtools · Python3.02 · 4.4.1 · 4.0.49 · 3.14.8stubs · build · FAT image · font + scripts
 Honest limits: TCP client only (no listen yet) · NVMe needs 512B namespaces · CD/USB boot is a live RAM session (files work, writes vanish on reboot; give the VM ≥256MB) · UEFI-only, Secure Boot off.
05/

How v0.1.0 was built

Boot + shell — custom BOOTX64.EFI, GOP console, NaOS> prompt
Memory — own PML4 paging, PMM, kmalloc heap
Files — ATA → AHCI DMA → writable FAT32 + long names
Multitasking — ring-3 tasks, syscalls, fork() with copy-on-write
Hardware — PCI scan, XHCI USB keyboard, PC speaker, ACPI power
Network — E1000, ARP/ping, UDP/DHCP/DNS, TCP client + updater
NVMe + live ISO — polled driver in the block layer; live RAM copy of the boot volume, boots anywhere