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.
- 𧩠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.
You can download the development ISO image from the Actions tab on the GitHub repository.
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 orbase-devel
on Arch Linux
- These can be installed using
doxygen
(optional)- To generate the documentation
You can install the project by building it from source.
First, clone the repository using Git:
git clone https://github.com/EnderIce2/fennix.git
cd fennix
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.
To build the project, run:
make build
This will build the kernel, userspace, and drivers. The iso image will be Fennix.iso
.
You can run the OS using QEMU. First, build the project, then run:
make run
You can configure the project by editing the config.mk
file.
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.
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.
Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on how to contribute to this project.
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.