The primary repository filled with FENIX stuffs
Find a file
2022-10-29 10:08:40 -05:00
dev_tools/build_util_src Moved cross-compiler to ~/opt not ~/opt-test 2021-06-13 17:40:52 -05:00
miscellany/garmr_font Surprise! ADHD brain started on a font! 2022-10-29 09:57:54 -05:00
notes Updates to dev timeline! 2022-10-29 10:07:50 -05:00
.gitignore Enjoy the behind the scenes update! 2022-10-29 10:08:40 -05:00
build.sh Initial commit 2021-01-31 14:08:26 -06:00
clean.sh Initial commit 2021-01-31 14:08:26 -06:00
config.sh Initial commit 2021-01-31 14:08:26 -06:00
COPYING Look, a license! 2021-08-18 18:04:36 -05:00
default-host.sh Initial commit 2021-01-31 14:08:26 -06:00
headers.sh Initial commit 2021-01-31 14:08:26 -06:00
iso.sh Initial commit 2021-01-31 14:08:26 -06:00
qemu.sh Initial commit 2021-01-31 14:08:26 -06:00
README Moved cross-compiler to ~/opt not ~/opt-test 2021-06-13 17:40:52 -05:00
target-triplet-to-arch.sh Initial commit 2021-01-31 14:08:26 -06:00

FENIX - Fenris' UNIX(-like)
===========================

FENIX is Kat's pet project to create a fully POSIX-compliant UNIX from scratch. 
It's a big endeavor, but she's nothing if not bold.

This repository houses some of the project-wide stuff. It should also have the
other bits inside of it, but Kat hasn't figured out how to properly manage
subrepositories yet. Included in this repo are the various notes Kat's taken
on how she'd like to make this operating system and the various bits of the
build script used to compile a working OS image, including stuff for creating
a working cross compiler.

Credit where credit is due, the build system is taken from the Meaty Skeleton
tutorial over on the OSDev Wiki (https://wiki.osdev.org/Meaty_Skeleton). The
cross-compiler test code, similarly, is based off of the Bare Bones tutorial
over there. Everything else is project-original. The cross-compiler build
script was written by Kat and, well, the notes are all Kat's ramblings.

Building
--------

If you'd like to build FENIX, first, make sure to download the kernel and libc
repositories into folders named "kernel" and "libc". Additionally, make sure
you've successfully built the cross-compiler and added ~/opt/cross (or wherever 
you've install the cross-compiler to) to your PATH. From there, you should just 
need to run `build.sh`. If you'd like an ISO, run `iso.sh` and if you'd like to 
test it using `qemu-system-i386`, simply run `qemu.sh`.

Portability
-----------

The build scripts should run on any system that supports the syntax used and on
which you can build the cross-compiler. (They've not been vetted for running on 
pure sh, so if you'd like to check on that, that'd be appreciated.) The 
cross-compiler should build on any system on which the dependencies are 
supported. FENIX itself is currently limited to x86, and has only been tested
in QEMU, so it may or may not work on whatever real hardware you wanna run it
on. The notes can be viewed by anything that can view a text file.

Copyright
---------

Licensed under CC-BY 4.0 by Katlynn Richey

FENIX is free software. Feel free to modify and/or distribute it!
See the file COPYING for more details.