Files
KeruOS/README.md
T

77 lines
2.5 KiB
Markdown

# Keru OS <sub>ける</sub>
An independent, source-only Linux distribution built around one idea: you
don't install a system, you *craft* one — **ける・けいとうてき** (keru keitō-teki): a system assembled the way you want it.
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.
Nothing is fixed. Nothing you didn't ask for is forced on you.
## The differentiator: everything is swappable
Keru's installer is a TUI that walks you through designing your exact machine
*before* it ever boots. Every major component is selectable:
- **init system** — Runit (default), s6, OpenRC, systemd, busybox init, and more
- **C library** — glibc, musl, uClibc-ng, and more
- **filesystem** — ext4, btrfs, xfs, zfs, f2fs, jfs, reiserfs, swap, and more
- **kernel** — linux, linux-lts, linux-hardened, linux-cachyos, and more
- **kernel parameters, locale, clock, keymap** — all configurable
Every init, every libc, every filesystem, everything. The selections are made
during install and 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
profile/ make.conf template (the swappables + build flags)
scripts/ build pipeline: build-root, mkfs-root, common helpers
docs/ design docs + the recipe format spec
(ISO build tooling is not in this repo yet — coming later.)
```
## 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
```
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