Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installer bootstrap (curl | sh install-os) — SPEC §13.10

keyboot’s installer normally runs from keyboot’s own rescue mode (PXE/USB/ISO), where all tools are already present. When you’re instead sitting in some other live environment (Alpine live, a Debian/Ubuntu rescue shell, Gentoo/SystemRescue, a Hetzner rescue, …) and don’t want to reboot, the bootstrap sets keyboot’s installer up in place:

curl -fsSL https://packages.osterman.co/keyboot/install-os | sh
# or drive it in one shot:
curl -fsSL https://packages.osterman.co/keyboot/install-os | sh -s -- \
    --run debian --disk <serial> <serial> --hostname newhost --confirm
# or from a profile (SPEC §13.7):
curl -fsSL .../install-os | sh -s -- --run debian --profile profile.yaml --confirm

What it does (§13.10):

  1. Detects the package manager (apk / apt-get / emerge / pacman / dnf) and installs keyboot’s install-time deps: cryptsetup, the ZFS userland, sgdisk/gdisk, mdadm, jq, dosfstools, minisign.
  2. Fetches + minisign-verifies (against the pinned key, same as install) the keyboot-install + keyboot binaries and the keyboot-install-os.tar.gz toolkit (orchestrator + per-distro plugins).
  3. Installs them and either drops you into keyboot-install install-os or, with --run, runs it directly.

Same code paths and UX as keyboot rescue mode; the only difference is that the ZFS userland came from the live env’s package manager rather than keyboot’s bundle.

Acceptable starting environments

The binding constraint is ZFS in the live env’s package manager. Known-good:

EnvironmentZFS sourceNotes
Alpine liveapk add zfsfirst CI-tested target
Debian / Ubuntu rescuezfsutils-linux (contrib)Hetzner rescue works
Gentoo / SystemRescuesys-fs/zfsSystemRescue ships ZFS
Archzfs-utils (+ AUR/dkms for the module)module may need dkms
Fedora / RHELzfs (after the zfs-release repo)repo must be enabled

Bare-bones rescue shells with no ZFS in their package manager are not acceptable starting points — reboot into keyboot’s own rescue mode (which bundles ZFS) or install ZFS by hand first. The bootstrap fails loudly (rather than half-installing) when it can’t get the ZFS userland.