Hexahedron is a modern replacement for the reduceOS kernel.
Warning
Hexahedron has been merged into the reduceOS project and this repository is now obsolete.
A replacement for the reduceOS kernel, developed to follow standards better and have higher code quality.
base: Contains the base filesystem. Files inbase/initrdgo in the initial ramdisk and files inbase/sysrootgo in sysroot.buildscripts: Contains buildscripts for the build systemconf: Contains misc. configuration files, such as architecture files, GRUB configs, extra boot files, etc.drivers: Drivers for Hexahedron, copied based on their configuration.external: Contains external projects, such as ACPICA. See External Components.hexahedron: The main kernel projectlibpolyhedron: The libc/libk for the project.libkstructures: Contains misc. kernel structures, like lists/hashmaps/parsers/whatever
First, gather the prerequisites. See the section on External Components.
Run make all to perform a build.
To change the build configuration, edit buildscripts/config.sh and conf/build/<architecture>.mk.
Certain external components are available in external. Here is a list of them and their versions:
- ACPICA UNIX* (Intel License): Version 20240927 available here
- Relocatable code is not implemented in x86_64
- GRUB might error out on Multiboot2 if the relocatable max address is too low
- USB device structure uses a lot of memory (it stores all configurations, interfaces, and endpoints but this is probably a terrible idea - implement getter functions instead?)
- Some legacy code/unused functions in the USB stack (or other areas) may have been left
Hexahedron and reduceOS are released under the terms of the BSD 3-clause license (available in LICENSE).
All files unless specified fall under this license.