feat: bt-layer --boot builds an appliance's boot layer #20

Merged
marcos-mendez merged 1 commit from feat/boot-layer into 19.x 2026-10-08 04:27:10 -03:00
marcos-mendez commented 2026-10-08 04:01:28 -03:00 (Migrated from github.com)

Decision 0052, point 1: every appliance gets a boot layer of its own, used only by the ISO.

Change

  • bt-layer --boot APP (also -b) builds the layer APP-boot on top of APP's layer from products/boot. Set $BT_BOOT_PRODUCT to use a different product. It cannot be combined with --parent.
  • products/boot: its plan is #include <keel-boot> (Keel-Linux/common#47), and its conf and overlay are keel-boot on top of turnkey.d. As with every child layer, bt-layer applies only turnkey.d/hostname (plus the SSL ciphers when they are needed) and keel-boot.
  • tests/layer: covers the parsing, a --boot core export (delta, parent, conf, overlays, altstrap), a missing product, --boot together with --parent, and the conf and overlays products/boot resolves to against a stand-in turnkey.mk. kcov run locally: bt-layer 99.15 %, layer-lib 99.58 %.

The container template is still assembled from APP's chain without this layer. Keel-Linux/keel refuses a template that has any of these packages. keel-release is not changed here. Until the ISO builder exists, a release builds no boot layer (decision 0052, point 4). The ISO plan is in #21.

Merge after Keel-Linux/common#47.

Decision 0052, point 1: every appliance gets a boot layer of its own, used only by the ISO. ## Change - `bt-layer --boot APP` (also `-b`) builds the layer `APP-boot` on top of `APP`'s layer from `products/boot`. Set `$BT_BOOT_PRODUCT` to use a different product. It cannot be combined with `--parent`. - `products/boot`: its plan is `#include <keel-boot>` (Keel-Linux/common#47), and its conf and overlay are `keel-boot` on top of `turnkey.d`. As with every child layer, bt-layer applies only `turnkey.d/hostname` (plus the SSL ciphers when they are needed) and `keel-boot`. - `tests/layer`: covers the parsing, a `--boot core` export (delta, parent, conf, overlays, altstrap), a missing product, `--boot` together with `--parent`, and the conf and overlays `products/boot` resolves to against a stand-in turnkey.mk. kcov run locally: bt-layer 99.15 %, layer-lib 99.58 %. The container template is still assembled from `APP`'s chain without this layer. Keel-Linux/keel refuses a template that has any of these packages. `keel-release` is not changed here. Until the ISO builder exists, a release builds no boot layer (decision 0052, point 4). The ISO plan is in #21. Merge after Keel-Linux/common#47.
github-advanced-security[bot] (Migrated from github.com) reviewed 2026-10-08 04:02:15 -03:00
github-advanced-security[bot] (Migrated from github.com) commented 2026-10-08 04:02:15 -03:00

shellcheck /

LAYER_ERROR appears unused. Verify use (or export if used externally).

Show more details

## shellcheck / LAYER_ERROR appears unused. Verify use (or export if used externally). [Show more details](https://github.com/Keel-Linux/buildtasks/security/code-scanning/4)
Sign in to join this conversation.
No description provided.