Welcome to the BenOS documentation
What is BenOS?
BenOS is a small, hand-written, free and open-source 64-bit operating system currently under active development. The goal of BenOS is not to become the new most used operating system in the world but to work. If it works, then it's good.
Features
- 64-bit x86_64 kernel
- PS/2 keyboard support
- Basic text console
- UEFI boot via OVMF
- ISO generation support
Repository structure
Note: a branch marked as ⚠️ will maybe get removed or replaced soon.
This repository is very simple. It contains 3 branches:
- Main (the last stable version)
- Indev (the last unstable version) ⚠️
- Tofix (broken/buggy code that needs fixes) ⚠️
Every stable versions (and unstable versions since the 0.0.9-Indev1) can be downloaded as raw images (excepted after the 0.0.9-Indev2, which provides an ISO file) directly from the (releases)[https://github.com/thebenos/benos/releases].
Project structure
docs/
: the website codekernel/
: the kernel source codeGNUmakefile
: main build systemiso.sh
: ISO creation script
Programming languages
BenOS uses the following programming languages:
- C
- BASH
- GNU make
- x86_64 NASM
How to build
Building BenOS is a very simple process.
Before building
Make sure you have the following tools installed on your system:
- a C compiler (gcc/clang)
- ld
- nasm
- xorriso (for ISO creation)
Build instructions
- Clone the repository:
git clone https://github.com/thebenos/benos
- Build the OS:
make all
chmod +x iso.sh
./iso.sh
Congratulations! benos.iso
should appear in the root folder.
How to run
BenOS has not been tested on real hardware yet!
You can run BenOS in an emulator. In this example, we will use qemu
(from scripts/
).
qemu-system-x86_64 -m 512 -cdrom benos.iso -bios /usr/share/OVMF/OVMF_CODE.fd
Make sure OVMF is installed if you are using UEFI.
How to contribute
If you want to contribute to the project, please read CONTRIBUTING.md first!
License
BenOS is licensed under the MIT license.