Skip to content
This repository has been archived by the owner on Oct 17, 2022. It is now read-only.

EnderIce2/FennixProject

Repository files navigation

Project moved here


FennixProject

Opeating System from scratch made in C and C++

Discord GitHub Workflow Status (branch) CodeFactor Codacy Badge GitHub GitHub commit activity wakatime


Fennix Fennix running inside QEMU

The content

  • Fennix Project
    • boot
      • Coming Soon™
    • kernel
      • The core components of the operating system.
    • libc
      • The C standard library.
    • userspace
      • The userland of the operating system.

❗ Warning

Before you do anything, remember that this project is in the early stages of development.

Most things are very unstable or broken.


💾 Download ISO Image

  • Access Actions page from the GitHub page.
  • Select the latest run and under "Artifacts" you will find the ISO file (it's ZIP compressed).
  • Unzip it and add it to a virtual machine as CD-ROM.

🔽 Download, compile & run

  • Clone this repository using
git clone --recurse-submodules https://github.com/EnderIce2/FennixProject

Before doing anything, you must install the following packages:

# Debian Based Systems
sudo apt-get install make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 qemu qemu-kvm xorriso genisoimage ovmf nasm doxygen build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo mtools

And follow this page to install the required packages for QEMU. If you want to use the one that comes with your distribution, go on tools/Makefile and remove do_qemu at line 11 (starts with all:) and update QEMU_PATH variable inside Makefile.conf.

  • Go to the local repository and run the following command
make tools

This command will download all the required files to compile the operating system.

After that, you should be able to compile the operating system.

  • Currently it was tested only on Ubuntu 20.04 and Ubuntu 22.04. I don't guarantee that it will work on other distributions or older versions of Ubuntu.

  • To run the OS:
make run

or make build to build it without running.

  • To cleanup the code:
make clean