Skip to content

EnderIce2/Fennix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Fennix Operating System

GitHub Repo stars GitHub Actions Workflow Status GitHub commit activity GitHub License

Fennix is an operating system built from scratch using C and C++.


Caution

The project is still in development and is not yet ready for production use. Please use a virtual machine to run the OS.

Features

  • 🧩 Flexible and modular
    • You can easily choose the components you want to include in the kernel
  • πŸŽ›οΈ Compatible with multiple platforms
    • Supports i386, AMD64 and AArch64 platforms
  • πŸ“¦ Support for different operating system binaries
    • You can run Linux and Windows binaries
  • πŸ–¨οΈ Driver support
    • Supports a variety of drivers for different hardware components
  • πŸ“– Detailed documentation
    • The project is well-documented using Doxygen

Important

Some features are still in development and may not be fully functional.

Getting Started

πŸ’Ύ Download ISO Image

You can download the development ISO image from the Actions tab on the GitHub repository.

πŸ› οΈ Prerequisites

To build the project, you need to have the following tools installed:

  • make
  • gcc
  • ld
  • ... and other standard Unix tools
    • These can be installed using build-essential on Ubuntu or base-devel on Arch Linux
  • doxygen (optional)
    • To generate the documentation

πŸš€ Installation

You can install the project by building it from source.

Cloning the Repository

First, clone the repository using Git:

git clone https://github.com/EnderIce2/fennix.git
cd fennix

Preparing the Environment

Before building the project, you need to build the cross-compiler toolchain and QEMU. You can do this by running the following command:

make setup

This will clone, patch, and build the required tools for you.

Building the Project

To build the project, run:

make build

This will build the kernel, userspace, and drivers. The iso image will be Fennix.iso.

Running the OS

You can run the OS using QEMU. First, build the project, then run:

make run

Additional Configuration

You can configure the project by editing the config.mk file.

πŸ§ͺ Debugging

If you use Visual Studio Code, you can press F5 to start debugging the OS. The configuration is already set up for you.

Tip

Make sure you built the project at least once before debugging.

πŸ“š Documentation

The project documentation is generated using Doxygen. To generate the documentation, run:

make docs

The documentation will be available in the doxygen-doc/docs directory.

πŸ‘¨β€πŸ’» Contributing

Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on how to contribute to this project.

Contributors

πŸ“ƒ License

Fennix is licensed under the GNU General Public License v3.0. See the LICENSE.md file for more details.

Other licenses used in the project can be found in the LICENSES.md file.