Inti Try it live
Browser · QEMUresearch toy

An OS you can break on purpose

A boot sector, a 2,673-line Rust microkernel and drivers that run as ordinary programs. Crash a driver in the browser demo and watch the system restart it. A research toy: it runs only in an emulator.

Rust · x86 · microkernel · emulator only
inti · live demolive demo
Inti screenshot
2platforms: Browser, QEMU
82/82self-test checks pass after each injected fault
2,673lines of Rust in the kernel
MITopen source licence
Why it exists

A driver bug should not take the whole system down.

In mainstream operating systems a driver bug can take the whole system down, kernels are written mostly in memory-unsafe languages, and a program runs with all the rights of its user.

Inti (Indonesian for "core") does the opposite on those three points and measures what happens.

In short

Three borrowed ideas in one small system.

01

Drivers can die

The screen, keyboard and file drivers are ordinary programs. When one crashes or hangs, a supervisor replaces it and the shell keeps answering.

02

Nothing is reachable by default

A program can only use what it was handed a capability for. In QEMU a hostile test program makes 47 attempts on the kernel, the hardware and other programs, and all 47 are denied.

03

Numbers you can trace

No number in the README is typed by hand unless a source link stands next to it. A script computes each one from the raw logs and rejects a document it cannot trace.

How it works

Break it from the shell prompt.

  1. 1

    Open the demo

    The page boots the same disk image that QEMU boots, in an x86 emulator written in JavaScript.

  2. 2

    crash console

    The screen and keyboard driver dies of a page fault.

  3. 3

    hang fs

    The file server stops answering.

  4. 4

    rogue

    A hostile program tries to read kernel memory, touch hardware, forge or revoke capabilities and exceed its quotas.

What's inside

What fits in a 2 MiB disk image.

Drivers are ordinary programs

The console driver (screen, keyboard, serial port) and the file server run outside the kernel, each started with a handful of capabilities.

A supervisor restarts them

A driver that crashes or stops answering is replaced, and programs that were waiting get their answer from the new one. In QEMU a crashed console driver answers again after 5.8 ms and a hung one after 657 ms (median of 5 runs).

No ambient authority

Every system call starts from a capability the program was handed. A capability can be narrowed but never widened. There are 7 kinds: endpoints, I/O ports, interrupt lines, memory, tasks, the kernel log and kernel information.

A Rust kernel with no heap

2,673 lines, and every table has a fixed size. Each of its 37 unsafe blocks carries a written justification.

A kernel that checks itself

A checker inside the kernel recounts everything the kernel owns against 21 rules. Across 1,001,123 random system calls it ran 3,839 times and found 0 violations.

Quotas that are lent

Memory, tasks and endpoints are lent by a parent to its children and returned when they end, so a program can exhaust its own share and nothing else.

Its own boot sector

No GRUB and no multiboot. The boot sector is written in Rust too, so the build needs no assembler, no C compiler and no make.

The supervisor can die too

Type crash init and the supervisor itself dies. The kernel then starts every program again.

Working today

Measured on this build.

Run it yourself

Build it and boot it yourself.

From the README’s “Build and boot it” section. Full options, requirements and troubleshooting are there too.

Open the README
bash
$ rustup target add i586-unknown-linux-gnu
$ python build.py          # compile everything and write build/inti.img
$ python build.py run      # boot the image in a QEMU window
$ python build.py test     # run every test in QEMU
$ python build.py gates    # every check, from a clean build
Good to know

Honest limits.

Straight from the README, so you know what you're getting before you try it.

  • It runs only in an emulator: no hardware is supported beyond an emulated PC.
  • It has no network, no persistent storage, no applications and one processor.
  • The kernel is tested and self-checking but not proven.
  • MINIX 3 showed restartable user-mode drivers at real scale years ago, and Redox is a Rust microkernel system that runs real programs.
  • There is no no-execute protection for data pages and no IOMMU.
Under the hood

How it's built.

Built with

Language
RustPythonJavaScript

86 files in the repo · last updated 10 Nov 2026.

Browse the code

Recently shipped

  1. Round 1: rogue tries delegation and revocation; dossier shows the new kernel paths

  2. Selftest: checks for revocation, delegation and quotas (82 checks)

Full history on GitHub
Questions

Good questions.

What does it run on?

Browser, QEMU. You can try it in the browser with nothing to install.

How do I get it running?

The commands in the “Build and boot it” box above come straight from the README. Paste them into a terminal; the README covers options and troubleshooting.

Is it better than Linux, Windows or macOS?

No: those run real hardware and real programs, while Inti only shows three narrow things in an emulator (drivers that restart, a small Rust kernel that checks itself, and programs that hold no rights by default).

How were the numbers measured?

In QEMU 11.1.0 without hardware virtualisation, on the guest's own clock, with restart times taken as the median of 5 runs and every README number computed from the raw logs by a script.

What doesn't it do yet?

It runs only in an emulator: no hardware is supported beyond an emulated PC. It has no network, no persistent storage, no applications and one processor.

Is it finished?

Not yet: it's marked “research toy” and still changing. The README always has the current state.

Is it free?

The source is public on GitHub under the MIT licence.

Who made it?

Juwen Lie, an R&D mechanical engineer in Batam, Indonesia, as an independent personal project.

Keep exploring

More from the same workbench.

Go and crash a driver.

An OS you can break on purpose