![]() |
MushOS
0.1
A UNIX-like OS prototype, written from scratch
|
MushOS is a UNIX-like OS prototype, written from scratch.
My motivation for creating it was:
Kernel code is stored in core
directory, lib
directory contains code for mushlib
- an stdlib replacement for MushOS.
usergroup
's. 👎Build MushLib using following command (cmake package required!):
make build_lib
Run MushOS using following command (cmake and qemu packages required!):
make run
MushLib is considered to be a modular entity - there are no limitations on how heap or filesystem is implemented as long as the implementation has the functions matching standard signatures (from lib/base
).
For every build of MushLib it's possible to replace its sources with custom ones. For example, if you'd like to build MushLib with custom heap implementation, you just have to create a *.c* file that has the functions defined in lib/base/heap.h
- and then just embed it into MushLib using the following command (the same works with *.h* and *.asm* sources):
make C_SOURCES="path/to/your/heap.c;" build_lib
**_NB!_** Your file has to have the same name as base MushLib file for successful replacement. If two different files need to be replaced, just use a semicolon (one semicolon in the end is always required!).
gcc-multilib