Skip to content

Add support for generating Bootloader Specification files#32

Open
sjg20 wants to merge 2 commits intocanonical:mainfrom
sjg20:extc
Open

Add support for generating Bootloader Specification files#32
sjg20 wants to merge 2 commits intocanonical:mainfrom
sjg20:extc

Conversation

@sjg20
Copy link
Copy Markdown
Contributor

@sjg20 sjg20 commented Mar 26, 2026

  • Add BLS (Boot Loader Specification) Type 1 as a new bootloader option alongside grub and extlinux
  • New install_bls module generates loader.conf and per-kernel entry files in /boot/loader/entries/ with machine-id and architecture fields
  • Refactor common boot-parameter logic into shared _get_boot_params() helper

sjg20 added 2 commits March 26, 2026 13:33
Add install_bls.py which generates BLS Type 1 boot entries in
/boot/loader/entries/ and a loader.conf file. Each installed kernel
gets a default entry and optionally a rescue entry, following the
naming convention l{seq}-{version}.conf. Entries include machine-id
(from /etc/machine-id) and architecture fields.

Add 'bls' as a recognised bootloader in the config validator.

Add unit tests covering loader.conf generation, individual entry
building (default, rescue, separate /boot partition, machine-id,
architecture), entry list construction, and the full install flow.

Co-developed-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Boot Loader Specification (BLS) Type 1 defines a standard layout
for boot entries in /boot/loader/entries/ that firmware (such as
U-Boot) can discover without a bootloader-specific configuration
generator.

Extract the common boot-parameter logic (firmware boot directory,
root device specification) from setup_extlinux() into a shared
_get_boot_params() helper.

Add setup_bls() which uses the helper then calls install_bls() to
write the entry files. Wire it into setup_boot() with event
reporting, matching the pattern used by extlinux.

Co-developed-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant