- CMake ≥ 3.24
- Ninja
- QEMU (
qemu-system-aarch64)
Note
The AArch64 bare-metal toolchain is automatically downloaded and configured by setup.sh.
No manual toolchain installation is required.
sudo apt updateThen run
./setup.shInstall Homebrew, then run
./setup.shRecommended options:
- WSL (Ubuntu)
After cloning the repository, follow the Linux instructions.
This project uses CMake Presets for consistent builds.
cmake --preset aarch64-debug
cmake --build --preset aarch64-debugcmake --preset aarch64-release
cmake --build --preset aarch64-releaseEach build produces:
prismOS.aarch64.elf # Linked kernel (symbols included)
prismOS.aarch64.bin # Raw bootable image
prismOS.aarch64.map # Linker map file
Located in:
build/aarch64-debug/
build/aarch64-release/
./run-aarch64.shDefaults to Debug.
./run-aarch64.sh releaseSupported Modes:
./run-aarch64.sh debug
./run-aarch64.sh release
BUILD_TYPE=release ./run-aarch64.sh- Fully freestanding (-nostdlib)
- No host libc or runtime
- Toolchain enforced via CMake toolchain file
This project is open-source under the MIT License. Feel free to modify and contribute!
# Fork the repository
git clone https://github.com/xKingDark/prismOS.git
# Create a new branch
git checkout -b feature-branch
# Commit your changes
git commit -m "Added new feature"
# Push to GitHub
git push origin feature-branch
# Submit a Pull Request