update installer and docs
This commit is contained in:
@@ -3,9 +3,9 @@
|
||||
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:
|
||||
This repository holds the **operating system itself** — the installer, 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
|
||||
@@ -19,6 +19,8 @@ is compiled from original source.
|
||||
|
||||
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
|
||||
@@ -28,48 +30,39 @@ Keru's installer is a TUI that walks you through designing your exact machine
|
||||
- **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.
|
||||
|
||||
## How installation works
|
||||
|
||||
The ISO carries **only the installer** — nothing else. There is no prebuilt
|
||||
base image on the disk. When you boot it, the installer connects to the
|
||||
network, and 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 — 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.)
|
||||
docs/ philosophy + design docs + the recipe format spec
|
||||
```
|
||||
|
||||
## Building
|
||||
## Release
|
||||
|
||||
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.
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user