Welcome to the Hyra Operating System project! Hyra is an experimental operating system inspired by BSD and Plan 9 while being entirely written from scratch. Hyra aims to rethink core fundamentals in modern operating system design in order to create new and improved architectural ideas.
The goal of this project is to redefine what modern operating systems are while taking inspiration from BSD. Hyra does not use CPIO for its initramfs like other operating systems typically would and instead uses the OSMORA Archive Format (OMAR).
Hyra is NOT Linux, nor does extend or share any sources with any existing operating systems as it is written entirely from scratch. Hyra is NOT intended as a "toy" project as it is aimed to be the used as the main operating system for internal OSMORA operations and infrastructure.
To build Hyra you'll need to bootstrap the project which is essentially just fetching dependencies for the project. This can be done by running the bootstrap script within the project root: ./bootstrap.
Next, to configure for x86_64 just run configure:
./configure
After running the configure script, you can now actually build Hyra:
./hyra-build.sh
This will generate a new Hyra.iso file.
Upon booting, the login program will ask for user credentials. The default username is root and the default
password is also root.
The Hyra userspace provides the user various programs that they can run. Examples of such programs include:
beep- Play a tonecat- Print files to stdoutdate- Get the current date or set system timeecho- Print a line of textelfdump- Get information about an ELF binaryfetch- System fetch! A must have :~)getconf- Get system configuration valuesmex- OSMORA hexdump utilitysleep- Sleep for a number of secondskmsg- Read the kernel message bufferreadcore- Read coredump filesoasm- OSMORA OSMX64 Assembleroemu- OSMORA OSMX64 Emulatorkstat- Read kernel statisticsdmidump- Dump DMI/SMBios informationscreensave- Glitch art screensaverwhoami- Print effective user namesysctl- Runtime kernel parametersnotes- Music box
And more! See usr.bin/*
The Hyra userspace additionally provides the user various libraries that they can link with. Examples of such libraries include:
libc- C library (link flag:-lc)libgfx- Low-level graphics (link flag:-lgfx)
And more! See lib/*
Documentation will be in the form of comments throughout the codebase and can also be found in:
share/man/*: Man pagesshare/contrib: Information on contributingshare/docs/kernel: Kernel documentationshare/docs/lib: Library documentation
| Maintainer | Component |
|---|---|
| ian@osmora.org | Hyra AMD64 Kernel |
| ian@osmora.org | User C Library |
| ian@osmora.org | NVMe Driver |
| ian@osmora.org | AHCI Driver |
| ian@osmora.org | xHCI Driver |
| ian@osmora.org | RTL8139 Driver |
| ian@osmora.org | E1000E Driver |
| ian@osmora.org | ET131X Driver |
| ian@osmora.org | PCI Driver |
| ian@osmora.org | PCIe Driver |
| quinn@osmora.org | PCI Driver |
| quinn@osmora.org | User C Library |
| quinn@osmora.org | Killing MS |
[ ] kern: dev: AHCI DCDR cache (<ian@osmora.org>)
[ ] kern: Worker threads (<ian@osmora.org>)
[ ] kern: Multithreaded driver startup (<quinn@osmora.org>)
[ ] libc: Slab allocator (<quinn@osmora.org>)
...
This project is licensed under the BSD-3 clause (SPDX Identifier: BSD-3-Clause)
