Skip to content
FrederikTobnerPublic

Repository files navigation

JANUS Logo

A small monolithic kernel, supporting x86_64 and aarch64.

Build Tools Doxygen Smoke Coverage C Standard

Quick Start

For building the kernel the usage of one of the presets is recommended to simplify the configuration.

# Using presets (recommended):
cmake --preset x86_64-gcc        # or x86_64-clang, aarch64-gcc, aarch64-clang
cmake --build --preset x86_64-gcc

Currently the following presets are defined:

Architecture Compiler Preset name
x86_64 clang x86_64-clang
x86_64 gcc x86_64-gcc
aarch64 clang aarch64-clang
aarch64 gcc aarch64-gcc

For creating all bootable ISO's for the current architecture with the supported boot protocols, the following command can be used:

cmake --build --preset x86_64-clang --target iso

For running the kernel in QEMU every supported boot protocol defines its own target:

cmake --build --preset x86_64-clang --target run-<protocol>  # E.g cmake --build --preset x86_64-gcc --target run-limine

The following boot protocols are supported by JANUS (per cpu architecture):

Architecture Supported Boot Protocols
x86_64 limine, multiboot2
aarch64 limine

A more detailed setup guide can be found in the documentation

License

This project is licensed under the GNU AFFERO GENERAL PUBLIC LICENSE

Releases

Packages

Contributors

Languages