UltimaOS is an operating system project designed for educational and experimental purposes. This repository contains everything needed to build, run, and explore the OS.
Make sure the following tools are installed on your system before getting started:
| Tool | Purpose |
|---|---|
python3 |
Required to run the toolchain setup script |
clang |
C compiler for building the OS |
llvm |
for 'llvm-ar', 'llvm-ranlib' and 'llvm-strip' |
nasm |
Assembler for the assembly components |
qemu |
Emulator for running the OS image |
⚠️ Warning: Additional tools may be required depending on your system configuration or as the project evolves. Always check the repository for the most up-to-date requirements.
| Library | Purpose |
|---|---|
| OVMF | UEFI firmware for use with QEMU — enables UEFI boot emulation |
| EDK2 | Open-source UEFI firmware development kit used as the UEFI implementation base |
Windows users: It is strongly recommended to use WSL2 to build the toolchain and project.
Navigate to the scripts folder and run the setup script:
cd scripts
python3 setup_toolchain.pyThis will download and configure all the tools needed to build the project.
From the root directory of the repository, run:
cd ..
make allThis compiles all components of UltimaOS.
Launch UltimaOS in QEMU with:
make run- 📺 Nanobyte — YouTube Playlist
- 📖 OSDev Wiki — Expanded Main Page
- This project is actively being developed. Refer to the repository for the latest updates and documentation.