summaryrefslogtreecommitdiff
path: root/README.md
blob: 13bff62b96b50dd9f963496db813c67d0d7c5883 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
The Hyra Operating System
=========================

Welcome to the Hyra Operating System project!

Project Goal:
--------------
The goal of this project is to redefine what modern operating systems are while taking inspiration from BSD. Hyra does not use
POSIX by default and instead uses the [OSMORA Uniform System Interface (OUSI)](https://osmora.org/oap/oap-0002). Hyra also does
not use CPIO for its initramfs like other operating systems typically would and instead uses the [OSMORA Archive Format (OMAR)](https://osmora.org/oap/oap-0005).

Getting Started:
----------------
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.


Default User:
----------------
Upon booting, the `login` program will ask for user credentials. The default username is `root` and the default
password is also `root`.

Programs:
----------------
The Hyra userspace provides the user various programs that they can run, examples of
such programs include:

- ``beep`` - Play a tone
- ``cat`` - Print files to stdout
- ``date`` - Get the current date or set system time
- ``echo`` - Print a line of text
- ``elfdump`` - Get information about an ELF binary
- ``fetch`` - System fetch! A must have :~)
- ``getconf`` - Get system configuration values
- ``mex`` - OSMORA hexdump utility
- ``sleep`` - Sleep for a number of seconds
- ``kmsg`` - Read the kernel message buffer
- ``readcore`` - Read coredump files

And more! See ``usr.bin/*``

Documentation:
--------------
Documentation will be in the form of comments throughout the codebase and can also be found in the share/ directory within the project root.

Hyra running on bare metal:
--------------
![Hyra](./.github/assets/hyra.png)

License:
--------
This project is licensed under the BSD-3 clause (SPDX Identifier: BSD-3-Clause)