On Thu, Nov 21, 2024 at 2:45 PM Lennart Poettering <lennart@xxxxxxxxxxxxxx> wrote:
On Do, 21.11.24 14:35, Itxaka Serrano Garcia (itxaka.garcia@xxxxxxxxxxxxxxxx) wrote:
> Hey folks,
>
> we are currently implementing systemd-boot boot assessment on Kairos, where
> we have a few entries under /loader/entries/
>
> We made it so they start at threes tries so the config fails are for
> example active+3.conf
>
> On boot, we can see the filename renamed properly to active+2-1.conf until
> the systemd-bless-boot starts, checks that the system is in complete boot
> (reached boot-complete.target) and it marks it as good and renames it to
> disable the boot assessment
>
>
> Nov 21 13:08:10 kairos-vfog systemd[1]: Starting systemd-bless-boot.service
> - Mark the Current Boot Loader Entry as Good...
> Nov 21 13:08:10 kairos-vfog systemd-bless-boot[1522]: Marked boot as
> 'good'. (Boot attempt counter is at 1.)
> Nov 21 13:08:10 kairos-vfog systemd[1]: Finished systemd-bless-boot.service
> - Mark the Current Boot Loader Entry as Good.
>
> That's all good and dandy but now, our loader.conf is pointing to the
> active+3.conf as the default key, so that wont match anymore.
>
> Should systemd-bless-boot update the default entry in loader.conf if it
> matches the current boot loader entry? Should systemd-boot ignore the boot
> assessment part in the loader.conf default?
>
> Does loader.conf accept a regex for the default entry so this can be fixed
> by setting the entry to ^WHATEVER\+\d+(-\d+)?.conf$ ?
See loader.conf(5). It supports globs, it's literally in the first
sentence. (i.e. * and ?)
Yeah I saw that but it's pretty difficult to set a glob that will work for both right? Does Not seem a use case for the boot assessment really, hence why I though some regex would make this easier (said no one ever lol)
/efi/loader/entries/active+2-1.conf /efi/loader/entries/active2butbroken.conf
/efi/loader/entries/active.conf
This matches unwanted entries.
The idea is to have a glob that matches both active.conf and active+2-1.conf but doesnt match activeNotReally.conf which with globs is a terrible idea.
I still think that the boot assessment part should be ignored by systemd-boot, so an entry should just automatically remove that part before trying to load the conf file (X+3-1.conf should be autocleaned to X.conf)
I'll keep trying to fix this up without having unwanted consequences, open to ideas :D
That said, i think we actually should check the glob against the
string where we stripped away the counters. Could you file a bug
against that?
Lennart
--
Lennart Poettering, Berlin