FAQ
This page answers the questions that come up most often about Subverge and explains where the project came from.
Contents
Is Subverge a Linux distribution?
Subverge is not a Linux distribution, not even a little. It does not use the Linux kernel or any code from it.
Is it POSIX-compliant?
It is not, and it does not try to be, because fuck POSIX. Memory, I/O ports, PCI devices and the screen are words in omega, and the system has no POSIX layer.
Does it have its own bootloader?
Installed drives are booted by Subverge's own bootloader, whose first and second stage are in boot/. The ISO uses GRUB, because booting from a CD works differently and that part has not been written.
Why does everything run in ring 0?
Programs are omega code that the kernel runs directly. Separating them from the kernel would mean building the layer that Subverge was written to leave out (yes, it's on purpose).
Is it self-hosting?
No. It is built on Linux with gcc and nasm (deal with it). omega compiles its own quotes to machine code, and the kernel is built with gcc and nasm.
Does it run on real hardware?
It has only been run in QEMU (if you try it on real hardware, report back).
Why is the shell a language?
The shell is the language, and the kernel runs what is typed at the prompt directly, so there is no command interpreter between the two.
History
Subverge started from an interest in TempleOS, which has a shell that compiles as it runs, everything in ring 0 and direct access to the machine. Subverge takes that idea in its own direction. The shell is a language, the language compiles to machine code as it runs, and there is no division between the system and the programs on top of it. It is not a copy of TempleOS.
The kernel, shell, JIT, disassembler, installer and the bootloader for installed drives were all written for the project. The current release is Subverge 0.6.0, which contains ordinal 0.8.0 and omega 0.7.0, and it is licensed under the GPL v3.