Pre-alpha · x86 Assembly · Bare metal

NatureOS

loading…

A real bootable x86 operating system written in pure assembly. No OS, no runtime, no libraries. Just hardware.

x86 Assembly
32-bit Protected Mode
640×480 VBE Graphics
ISO Bootable
NatureFS Filesystem
TCP/IP Network Stack
Version
Channel
alpha
Released
Stars
Open issues
Releases

01 What is NatureOS?

NatureOS runs directly on the CPU — from a 512-byte MBR bootloader all the way up to a graphical windowed desktop with a mouse, a terminal, a file browser, and a working network stack.

Every line is handwritten x86 assembly. BIOS calls handle early boot; bare-metal hardware drivers handle everything else.

🖥️

Real-Mode Shell

Classic text shell with BIOS access and filesystem commands.

🪟

GUI Desktop

Window manager, draggable windows, taskbar, and desktop icons.

🖱️

Mouse Support

Full PS/2 mouse driver with cursor rendering.

🌐

Network Stack

PCI → e1000 → Ethernet → ARP → IP → ICMP → UDP → DNS → TCP → HTTP.

02 Changelog

Fetching releases from GitHub…

03 Getting Started

You need three tools:

ToolDownload
NASMnasm.us
Python 3python.org
QEMUqemu.org

One-time Python dependency:

pip install pycdlib

Build and run:

build.bat        # build natureos.iso
build.bat run    # build + launch in QEMU

Or launch QEMU manually:

qemu-system-x86_64 \
  -cdrom natureos.iso \
  -drive format=raw,file=data.img,if=ide,index=3 \
  -boot d -m 64M -cpu qemu64 -smp 1 \
  -vga std -rtc base=localtime \
  -nic user,model=e1000 \
  -display sdl,window-close=on \
  -name "NatureOS" -no-reboot

Linux/macOS: replace driver=dsound with driver=pa or driver=alsa.

04 Commands

Real-Mode Shell

CommandDescription
helpList all commands
echo <text>Print text
calc <n> <op> <n>Calculator
lsList files
run <n>Run an app
sysSystem snapshot
fortuneRandom quote
guessNumber guessing game
color [XX]Set shell colour
pmEnter graphical desktop
rebootReboot

Protected-Mode Terminal

CommandDescription
lsList all files
cat <n>Print file contents
rm <n>Delete a file
hexdump <n>Hex + ASCII dump
ping <ip>ICMP ping
dns <host>DNS lookup
pciEnumerate PCI devices
clockStopwatch/timer window
filesFile browser window
savescrSave screenshot
exitReturn to real-mode shell

05 Network Stack

Full network stack written in assembly — filled dot = implemented, outlined = planned.

PCI
e1000 NIC
Ethernet
ARP
IPv4
ICMP / ping
UDP
DNS
TCP
HTTP

06 Planned Features

FeatureNotes
Text editor plannedBasic in-desktop editor for files on the writable data disk.
PM audio driver plannedPC speaker works in real mode (beep). A full protected-mode audio driver is on the roadmap.
More apps plannedThe app SDK (sdk.asm) is already in place — more assembly apps are planned.