Skip to content

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

Merged
marcos-mendez merged 1 commit into
19.xfrom
feat/boot-layer
Oct 8, 2026
Merged

marcos-mendez merged 1 commit into
19.xfrom
feat/boot-layer

Conversation

@marcos-mendez

@marcos-mendez marcos-mendez commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

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> (feat: the kernel, initrd, firmware, bootloaders and installer move to plans/keel-boot 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.

Comment thread bin/layer-lib Fixed
Decision 0052: the kernel, initrd, firmware, bootloaders and installer
leave the shared layers (common's plans/turnkey/base) for a boot layer
per appliance, which only the ISO uses. bt-layer --boot APPLIANCE builds
APPLIANCE-boot on top of the appliance's layer from products/boot
($BT_BOOT_PRODUCT to use another), whose plan is common's
plans/keel-boot and whose conf and overlay are keel-boot. The container
template is assembled from the appliance's chain without it.
@marcos-mendez
marcos-mendez merged commit 5314e94 into 19.x Oct 8, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants