BarryServer : Projects

A set of pages about projects I do
// BarryServer : Projects / Orion /

// Related

Orion

The goal of this project is to build a complete 32-bit, multi-core, multi-tasking, multi-threaded, multi-user, graphical operating system from the ground up from scratch. This effort mostly focuses on implementing a custom kernel and user-space. Orion is a unix-like operating system, and as such has a vague POSIX feel to it, and uses a hybrid kernel. The kernel is largely a monolithic one, but there is infrastructure to support user-space extensions, like a micro-kernel. This makes it easy to extend the functionality of the system, without having to trust the new modules with ring-0 access. In theory, it would be trivial to split the monolithic kernel into several servers, and convert it into a micro-kernel.

Orion has its own, mostly POSIX-compliant libc and core utilities. These are all available and must be compiled with the Orion compiler. A patched version of GCC/binutils is available that will support an Orion target. The kernel may be compiled with a bare ELF target, since it does not run in a hosted environment.

Orion is just a kernel, C library, and collection of userspace programs. They may be installed onto an Ext2FS image from any other host, or directly from inside Orion. This image alone is not bootable, and you will need to install a bootloader to use it. Since the image is Ext2FS and the kernel is multiboot compliant, GRUB will work. Optionally, you could just pass the kernel and initrd directly to an emulator if it supports it. As the kernel only requires a very small subset of multiboot capabilities, a custom bootloader may be developed in the future.

To Do

Known Bugs