Initial scaffold

This commit is contained in:
Astral
2026-09-01 08:00:05 +02:00
commit 1b68276cb9
10 changed files with 547 additions and 0 deletions
+76
View File
@@ -0,0 +1,76 @@
# Keru OS
An independent, source-only Linux distribution built around one idea: you
don't install a system, you *craft* one.
This repository holds the **operating system itself** — the installer, the ISO
build tooling, the profile system, and the build pipeline. The two things Keru
depends on live in their own repositories:
- **[kama](https://github.com/AstralZX/kama)** — the package manager (a shell script)
- **[kama-packages](https://github.com/AstralZX/kama-packages)** — the recipe repository
## What is Keru
Every package on Keru is built from source by **Kama**, a deliberately small
package manager that simply runs the commands in each recipe. No binary
packages, no opaque package machinery. The whole system — toolchain included —
is compiled from original source, and the install image is assembled by hand
rather than with a stock tool like archiso.
Runit handles services. The standard Linux kernel drives the hardware.
`nmtui` manages networking. Nothing you didn't ask for ends up on the disk.
## The differentiator: craft your system at install time
Keru's installer is a TUI that walks you through designing your exact machine
*before* it ever boots:
- **init system** — Runit (default), s6, OpenRC, systemd
- **C library** — glibc or musl
- **filesystem** — ext4, btrfs, xfs, zfs, f2fs
- **kernel** — linux, linux-lts, linux-hardened
Swappable at install time, fixed at first boot. The system that lands on your
disk is precisely the one you chose.
## Repository layout
```
installer/ TUI installer — writes make.conf from your choices
iso/ from-scratch ISO build tooling (xorriso + squashfs + syslinux)
profile/ make.conf template (the swappables + build flags)
scripts/ build pipeline: build-root, mkfs-root, common helpers
docs/ design docs + the recipe format spec
```
## Building
The three repos should sit next to each other (or point at each other via
`KAMA_DIR` / `PKGS_DIR` / `PKGDIR`):
```
~/dev/
├── KeruOS/
├── kama/
└── kama-packages/
```
Then, from `KeruOS/`:
```sh
make install # run the TUI installer
# or, headlessly:
sh scripts/build-root.sh # build a rootfs into /tmp/keru/root
make iso # assemble an install image
```
Requires the sibling `kama` and `kama-packages` repos to be present.
## Status
Design + scaffolding. Nothing is building end-to-end yet.
## License
AGPL-3.0