Building Without Containers
This document describes how to build the Kyronix kernel natively on the host system without containers.
Required Packages
Install the following packages for your distribution:
- Alpine:
gcc g++ make binutils musl-dev linux-headers nasm bison flex ncurses-dev cpio e2fsprogs xorriso - Debian/Ubuntu:
gcc g++ make binutils nasm bison flex libncurses-dev cpio e2fsprogs xorriso - Arch:
gcc make binutils nasm bison flex ncurses cpio e2fsprogs xorriso
Build Steps
- Ensure
gcc(orx86_64-elf-gcc) andld(orx86_64-elf-ld) are inPATH. - Run the desired target without
CRUNTIME:
make all
make iso
- The Kconfig toolchain (
scripts/kconfig/conf) is built automatically from source on first run.
Cross-Compilation
If x86_64-elf-gcc and x86_64-elf-ld are found in PATH, the build system uses them automatically. Otherwise, it falls back to the system gcc and ld.
Kernel Configuration
Edit kernel options interactively:
make nconfig
This opens an ncurses interface. Configuration is stored in .config and generates kernel/config.h via Kconfig autoheader.
Formatting
Format all kernel C source files:
make fmt
Check formatting without modifying files:
make fmt-check
Formatting uses clang-format with the project’s .clang-format style file.
Last reviewed: 2026-07-22