Files

79 lines
3.3 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 is the **operating system itself** — the installer, the
profile system, and the build pipeline. The two things Keru leans on live in
their own homes:
- **[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. What you run, you built.
Nothing is fixed. Nothing you didn't ask for is forced on you.
Read the full **philosophy** in [docs/PHILOSOPHY.md](docs/PHILOSOPHY.md).
## 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
- **privilege elevation** — doas, sudo, opendoas, su
- **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.
Keru is stable on the combinations it offers you. If you push past what's
proven — an untested libc/init pair, an unmaintained filesystem — the
installer **warns** you the combination is unstable, then gets out of your way.
You're never blocked, only told the truth.
## How installation works
The ISO carries **only the installer** — nothing else. There is no prebuilt
base image on the disk. Boot it and the live init (`live/init`) starts the
installer immediately — no shell prompt, you just make your choices and it
builds. The installer connects to the network, then fetches and builds
whatever you selected (init system, kernel, libc, filesystem tooling, and
tools) on the fly.
A working **network connection is therefore a hard requirement** for
installing Keru. The installer checks connectivity and offers in-installer
network setup (wireless via `nmtui`/`wifi-menu`, or Ethernet/DHCP) before the
build begins.
## Repository layout
```
installer/ TUI installer — auto-starts on boot, writes make.conf from your choices
profile/ make.conf template (the swappables + build flags)
scripts/ build pipeline: build-root, mkfs-root, common helpers
live/ live-ISO init — boots straight into the installer
docs/ philosophy + design docs + the recipe format spec
```
## Release
Keru OS is currently in development. The first installable release, **0.1**,
will ship as a bootable ISO — no source builds, no manual tooling required.
It will be made available here when it's ready.
## License
AGPL-3.0