mck – Minimal Core Kit
mck is a modular, self-contained OS development kit designed to be copied directly into new operating system projects. It provides a minimal kernel structure, a reusable C89 core, utilities, architecture-specific code, and a clean directory layout suitable for both small experiments and long-term OS projects.
The goal is to offer a stable, minimal, dependency-free foundation for kernel development on x86 and x86_64 systems.
Features
- C89-compatible core (no libc required)
- Minimal C++ support (no exceptions, no RTTI, no STL)
- x86 and x86_64 assembly components
- Kernel entry points for 64-bit mode
- Driver and module registries
- Time system (ticks, ms, seconds)
- Memory utilities (arena allocator, mem ops)
- Static containers (lists, vectors)
- String utilities
- Logging system (C and C++)
- Debug utilities (assert, panic)
- Bitset, ring buffer, hash table
- Event queue
- Clean kernel structure (arch/, mm/, sched/, debug/)
- Linker script for kernel layout
- Fully copy-paste friendly
Integration Overview
- Copy the entire
mck/directory into your project. - Use the provided linker script (
ld/kernel.ld) or adapt it. - Implement or integrate a bootloader that enters 64-bit mode and jumps to
_start. - Ensure the stack is set before calling the kernel entry.
- Extend the kernel by adding drivers, modules, and architecture-specific code.
mck does not impose a build system or runtime. It is intended to be adapted freely.