Boot TinyOS in your browser

A 32-bit i386 hobby OS — PAE paging, ring-3 user processes, ECDSA-signed exec — running unmodified on the v86 x86-to-WebAssembly emulator. Nothing leaves your machine; the whole PC is emulated in this tab.

VGA text console — live 80×25 (drag edge to resize)80×25
Idle — press Start to boot.

First boot asks you to set a root password, then log in. Click the console and type. Under the emulator the crypto (PBKDF2 100k, bit-serial ECDSA) is slow — password setup and the first exec take a little while. Try help, ls D:, then exec /hello.elf (verifies an ECDSA signature, then prints Hello from ELF! from ring 3).

Serial log (COM1) — scrollable history 0 B

    

This mirrors the kernel's -serial output: boot log, PAE init, entropy/RDRAND health, and the signed-exec verification. [EDR ADVANCED] … Suspicious memory lines are the EDR daemon and are filtered out here. This panel is the scrollback — the VGA console above only shows the live 80×25 screen, so to re-read past boot/exec messages scroll here (autoscroll pauses while you scroll up and resumes at the bottom). Drag the bottom edge of either panel to resize it, or hit Copy to grab the whole log.

No hard disk is attached in this demo, so drive C: (FAT32) is unavailable ([IDE] not initialized is expected); D: is an in-memory RAMFS and works. Networking is off (v86 has no e1000). Source & feasibility write-up: github.com/douglasmun/TinyOS_enhanced.

Heads up: v86's emulated CPU has no NX (No-eXecute) bit support, so W^X enforcement can't fully engage here. Running secstatus or wxaudit may print a long flood of [W^X] VIOLATION lines — that's an emulator limitation, not a kernel bug. On real hardware or in QEMU (which does support NX) the same build reports zero violations.