Caution
Zeronix is in early development. Many components are incomplete, experimental, or not yet implemented.
Zeronix is a minimal operating system designed to serve as a foundation for other distributions rather than as a standalone system. It provides only the essential components, including a bootloader, kernel, package manager, and a set of core utilities.
This section covers building Zeronix.
You will need the following external dependencies to build Zeronix:
| Dependency | Version | Purpose |
|---|---|---|
clang |
18+ | C23 compiler |
nasm |
2.16+ | Assembler |
make |
4.4+ | Build system |
xorriso |
1.5+ | ISO creation |
git |
2+ | Version control |
Keep in mind that you do not need to check every version unless you have issues building. Only Clang must meet the version requirement because of C23 support.
git clone https://github.com/projectzerodev/zeronix.git
cd zeronix
git submodule update --initmakeThis section covers running Zeronix
Before running in QEMU make sure both curl and qemu-system-x86 are installed.
You can run Zeronix in QEMU by running:
make runYou can run Zeronix on real hardware by using Balena Etcher to flash the ISO to a thumb drive. Keep in mind that Rufus is not supported.
Testing on real hardware is made at least every merge into the stable branch.
The hardware which is being tested on is the following:
- Intel i7-2760QM
- ATI Radeon 6970M
- 16 GB DDR3
You can configure the build using Kconfig. Keep in mind you will need to
have kconfig-frontends installed.
You can launch the configuration menu by running:
make menuconfigThe compile_commands.json file provides clangd and code editors with
information about how each source file in a project is compiled. Before
generating it make sure bear are installed.
You can get compile_commands.json by running:
make bearAfter that you will need to restart you LSP. In Visual Studio Code press
Ctrl + Shift + P and run clangd: Restart language server.
Zeronix is licensed under the MIT License. See LICENSE for more details.
Copyright © 2024-present Viktor Popp and Contributors.