Having written a similar inquiry not too long ago, I welcome this discussion, thanks! :)
On Tue, Nov 01, 2022 at 09:29:07PM +0100, Bastian Blank wrote: > ## Prior works > > [..] > - systemd install-kernel: only BLS as target, which nothing used by > default in Debian can read > [..] To maybe clarify this a bit: While kernel-install does target BLS primarily, it has support for differing layouts via the KERNEL_INSTALL_LAYOUT environment variable (set via layout= in {/usr/lib,/etc}/kernel/install.conf). kernel-install scripts are also just that, executables with two CLI entry points (add and remove) and a set of fixed environment variables that they receive. Currently all of this is written in POSIX shell (compatible with dash) - they can be made to do everything. The BLS type 1 loader entries (an example can be found in the BLS [1]) can in the worst case be read with a line of AWK or shell, but Unified Kernel Images (UKIs / BLS type 2) are fully self-contained and can do without any sidecar config files. > ## File system layout > > Some initial ideas about how stuff could look. > > ### Boot file system (/boot) > > This file system might be shared, so everything is somewhat referenced > to the machine id. This should be somewhat compatible with BLS (type > 1). > > * /boot/$machineid/ > * ./grub/: config snippets, so we can do "no overwrite" > kernel-install and BLS support a bit more than the machine ID here, The relevant keyword to look for in the kernel-install manpage and BLS is "entry-token". This was added for golden master setups, because the machine ID will probably only generated on first boot, but the initrd would be generated beforehand. best regards, Jörg [1] https://uapi-group.org/specifications/specs/boot_loader_specification/