subverge

README

What Subverge is

Subverge is an operating system written from scratch, with its own kernel, shell and programs. Software written for Linux or a BSD has to be rewritten in omega to run on it.

The kernel is called ordinal and the shell is called omega. The idea came from TempleOS, which also has a shell that compiles code and runs everything in ring 0. Subverge took that idea in its own direction, and the history page tells the rest.

The shell

At the prompt you type omega, a stack language. A few lines look like this:

2 3 +
[ dup * ] :sq
7 sq

The whole system is written in omega, from the clock to the installer. First steps has a short first session.

Where to start

Boot the ISO as described in installation and run learn. Afterwards, help lists every word, 'dup help explains one, and apps lists the bundled programs.

How the system behaves

When a line fails, everything it did is undone. This is called a transaction. Lines that worked can be undone with back.

There are four tabs, switched with F1 to F4. Each has its own world, and all four run at the same time.

Programs are kept in root, and you can edit them with scrawl while the system is running. An installed system saves your work after every line.

Infinity is a value in omega, so omega 1 + is a valid line (ordinals). The errors page explains the error messages.

Raw memory and ports

omega also has words that read and write memory, talk to I/O ports and read PCI configuration space. They are described in omega for smarties, together with the internals.

Programs

Subverge comes with tools, games and demos of infinity. They are omega programs, so you can open and change them while the system runs. Apps explains how to add your own to the list.

Real hardware

Subverge targets QEMU. If you try it on a real machine, report the result. The hardware page lists what a real machine needs.

Problems

Check troubleshooting and the FAQ first. If that doesn't help, report the problem with the exact line you typed and the exact error.

Building

Development describes how to build Subverge from source, testing how to run omega without booting, and source layout which file does what.

License

Subverge is released under the GPL v3. See license.