A9N is a Capability-Based Microkernel that supports a variety of hardware platforms through appropriate HAL.
It is implemented with an object-oriented interface, making it easy to use and extend.
It combines high portability, stability, and scalability.
.
├── src
│ ├── kernel
│ ├── hal
│ │ └── include/hal/interface
│ │ └── {ARCH}
│ ├── liba9n
└── test
The main hardware-independent part of the A9N microkernel.
A Hardware Abstraction Layer (HAL) is implemented to provide a portable interface
to the underlying hardware.
The {ARCH} directory is referenced during the make process.
The A9N base library. Used by the kernel, and HAL.
Currently supported architectures:
- x86_64 (Long Mode)
- LLVM 18 or later
- Clang
- Clang++
- LLVM Config
- LLD
x86_64
- NASM
docker build -t a9n-build .
docker run --rm -v $(pwd):/A9N a9n-build bash -c "./scripts/setup.sh && make -j8"Warning
Docker-based builds are currently under maintenance and unavailable.
mkdir build
cmake -B build -DARCH={target_arch} -DCMAKE_TOOLCHAIN_FILE=./src/hal/{target_arch}/toolchain.cmake -DCMAKE_BUILD_TYPE={Debug|Release}
cmake --build buildNote
Currently, the CMake build supports only the kernel binary.
- Nun OS Framework is a framework for building Operating Systems based on A9N; Written in Rust.
- A9NLoader is a bootloader for A9N-based systems (compatible with A9N Boot Protocol x86_64); Written in C w/EDK2.
- A9NLoader-rs is a bootloader for A9N-based systems (compatible with A9N Boot Protocol x86_64); Written in Rust.
horizon2k38 ( Rekka "horizon" IGUMI )
Email : horizon "at" sfc.wide.ad.jp
X : @horizon2k38
Mastodon : @[email protected]
Misskey : @horizon
MITOU JR : This project was supported by the MITOU Junior program.
- @kyasbal : My mentor during the MITOU Junior program, who provided valuable advice.
- @nuta : Gave me a advice on the implementation.
MITOU IT : This project was supported by the MITOU IT program.
- @sowawa : My mentor during the MITOU IT program, who provided valuable advice.
And I would also like to thank everyone who supported this project.
