Remove ISO build tooling (deferred to later)

This commit is contained in:
Astral
2026-09-01 08:04:35 +02:00
parent 4805fe0f90
commit f0b06a1685
4 changed files with 7 additions and 60 deletions
+3 -4
View File
@@ -7,11 +7,10 @@ SHELL := sh
KAMA ?= ../kama KAMA ?= ../kama
PKGS ?= ../kama-packages PKGS ?= ../kama-packages
.PHONY: iso install recipe-check clean .PHONY: rootfs install recipe-check clean
iso: rootfs:
sh scripts/build-root.sh sh scripts/build-root.sh
sh iso/build-iso.sh
install: install:
sh installer/install.sh sh installer/install.sh
@@ -22,4 +21,4 @@ recipe-check:
done done
clean: clean:
rm -rf iso/work /tmp/keru rm -rf /tmp/keru
+3 -4
View File
@@ -15,8 +15,7 @@ depends on live in their own repositories:
Every package on Keru is built from source by **Kama**, a deliberately small 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 package manager that simply runs the commands in each recipe. No binary
packages, no opaque package machinery. The whole system — toolchain included — packages, no opaque package machinery. The whole system — toolchain included —
is compiled from original source, and the install image is assembled by hand is compiled from original source.
rather than with a stock tool like archiso.
Runit handles services. The standard Linux kernel drives the hardware. Runit handles services. The standard Linux kernel drives the hardware.
`nmtui` manages networking. Nothing you didn't ask for ends up on the disk. `nmtui` manages networking. Nothing you didn't ask for ends up on the disk.
@@ -38,10 +37,11 @@ disk is precisely the one you chose.
``` ```
installer/ TUI installer — writes make.conf from your choices 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) profile/ make.conf template (the swappables + build flags)
scripts/ build pipeline: build-root, mkfs-root, common helpers scripts/ build pipeline: build-root, mkfs-root, common helpers
docs/ design docs + the recipe format spec docs/ design docs + the recipe format spec
(ISO build tooling is not in this repo yet — coming later.)
``` ```
## Building ## Building
@@ -62,7 +62,6 @@ Then, from `KeruOS/`:
make install # run the TUI installer make install # run the TUI installer
# or, headlessly: # or, headlessly:
sh scripts/build-root.sh # build a rootfs into /tmp/keru/root 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. Requires the sibling `kama` and `kama-packages` repos to be present.
-51
View File
@@ -1,51 +0,0 @@
#!/usr/bin/env sh
# build-iso.sh — assemble a Keru OS ISO from the built rootfs and kernel
#
# From-scratch approach (no archiso): we lay out the classic isohybrid
# structure manually, squash the rootfs, and generate the ISO with xorriso +
# isolinux/syslinux (or syslinux's isohybrid). This is the LFS/Debian-live
# style path.
#
# Requires on the build host: xorriso, squashfs-tools, syslinux/isolinux.
set -eu
. "$(dirname "$0")/common.sh"
ROOT="${ROOT:-/tmp/keru/root}" # target rootfs (from make.conf)
ISO_OUT="${ISO_OUT:-$KERU_ROOT/iso/keru-$(date +%Y%m%d).iso}"
WORK="$KERU_ROOT/iso/work"
ISOIMG="$WORK/isolinux"
info "building Keru ISO -> $ISO_OUT"
[ -d "$ROOT" ] || die "rootfs not found at $ROOT (run build-root.sh first)"
have xorriso || die "xorriso not installed"
have mksquashfs || die "squashfs-tools not installed"
rm -rf "$WORK"; mkdir -p "$ISOIMG"
info "generating isolinux config"
cp /usr/lib/syslinux/bios/isolinux.bin "$ISOIMG/" || true
cp /usr/lib/syslinux/bios/ldlinux.c32 "$ISOIMG/" || true
cat > "$ISOIMG/isolinux.cfg" <<'EOF'
UI vesamenu.c32
DEFAULT keru
LABEL keru
LINUX /boot/vmlinuz-keru
INITRD /boot/initramfs-keru.img
APPEND root=live:LABEL=KERU_LIVE toram quiet
EOF
info "packing rootfs into squashfs"
mksquashfs "$ROOT" "$WORK/keru.sfs" -noappend -comp xz
info "writing ISO (isohybrid)"
xorriso -as mkisofs \
-o "$ISO_OUT" \
-V KERU_LIVE \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-isohybrid-mbr /usr/lib/syslinux/bios/isohdpfx.bin \
"$WORK"
info "done: $ISO_OUT"
+1 -1
View File
@@ -1,4 +1,4 @@
# common.sh — shared helpers for Keru scripts (installer, iso, kama) # common.sh — shared helpers for Keru scripts (installer, build pipeline)
PREFIX="\033[1;35m[ keru ]\033[0m" PREFIX="\033[1;35m[ keru ]\033[0m"
msg() { printf '%b %s\n' "$PREFIX" "$*"; } msg() { printf '%b %s\n' "$PREFIX" "$*"; }
info() { printf '%b \033[1;34m==>\033[0m %s\n' "$PREFIX" "$*"; } info() { printf '%b \033[1;34m==>\033[0m %s\n' "$PREFIX" "$*"; }