<div dir="ltr"><div>Another weird behaviour. <br></div><div><br></div><div>I changed the loader.conf to use a glob so it picks whatever entry is, even if boot assessment is in there:</div><div><br></div><div>default passive*.conf<br>timeout 5<br>console-mode max<br>editor no<br>secure-boot-enroll if-safe</div><div><br></div><div><br></div><div>This results in systemd-boot choosing the entry again and again, exhausting the retries, but it still chooses it.</div><div>Notice that this entry has a service that its broken on purpose, so it never reaches the boot-complete.target, and the service has an autoreboot set. But sd-boot keeps on picking it?</div><div><br></div><div>         type: Boot Loader Specification Type #1 (.conf)<br>         title: Kairos (fallback) (default) (not reported/new)<br>         id: passive.conf<br>         source: /efi//loader/entries/passive+0-7.conf<br>         tries: 0 left; 7 done<br>         sort-key: 0002<br>         efi: /efi//EFI/kairos/passive.efi<br></div><div><br></div><div>According to the automatic boot assessment docs:</div><div><br></div><div>If this boot also fails, on the next boot the boot loader will see the tag
<code class="gmail-language-plaintext gmail-highlighter-rouge">+0-3</code>, i.e. the counter reached zero.</div><div>At this point the entry will be
considered “bad”, and ordered after all non-bad entries.</div><div>The next newest
boot entry is now tried, i.e. the system automatically reverted to an
earlier version.</div><div><br></div><div>But this seems to collide with the default value in the loader.conf being a higher priority than the bad entry? <br></div><div><br></div><div>I would say this is a bug, or at least smells like one unless Im doing something wrong (very probable) as even if the default entry is set to an entry X if that entry has been marked as "bad" it should skip it unless manually chosen from the systemd-boot menu.</div><div><br></div><div>Cheers,</div><div>Itxaka<br></div><div><br></div><div> <br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Dec 10, 2024 at 10:56 AM Itxaka Serrano Garcia <<a href="mailto:itxaka.garcia@spectrocloud.com">itxaka.garcia@spectrocloud.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hey all, me again with stupid questions regarding systemd-boot, yay!</div><div dir="ltr"><br></div><div>seems like systemd-boot and bootctl do not agree on the default entries and IDs for the entries somehow?</div><div><br></div><div>Scenario:</div><div><br></div><div>We got 2 entries, with boot assessment enabled. One was already marked as good. We set the passive one as the default in the loader.conf<br></div><div><br></div><div>/efi//EFI/kairos/active.efi with conf at /efi//loader/entries/active.conf</div><div>/efi//EFI/kairos/passive.efi with conf at /efi//loader/entries/passive+2-1.conf</div><div><br></div><div>bootctl shows the entry IDs as the conf name WITHOUT the assessment part:</div><div><br></div><div>         type: Boot Loader Specification Type #1 (.conf)<br>         title: Kairos (selected)<br>         id: active.conf<br>         source: /efi//loader/entries/active.conf<br>         sort-key: 0001<br>         efi: /efi//EFI/kairos/active.efi<br><br>         type: Boot Loader Specification Type #1 (.conf)<br>         title: Kairos (fallback) (default) (not reported/new)<br>         id: passive.conf<br>         source: /efi//loader/entries/passive+2-1.conf<br>         tries: 2 left; 1 done<br>         sort-key: 0002<br>         efi: /efi//EFI/kairos/passive.efi</div><div><br></div><div><br></div><div>Also as you can see, it marks the passive.conf ID as the default entry, which is expected.<br></div><div><br></div><div>We can also check in the loader.conf and we see that we marked the entry ID as the default entry:</div><div><br></div><div>editor no<br>secure-boot-enroll if-safe<br>default passive.conf<br>timeout 5<br>console-mode max</div><div><br></div><div>So I would expect that on reboot the passive entry is selected by default, as it seems like you can refer to it by ID and bootctl agrees that this is the default one, but as you can also see, it booted on the active entry instead.</div><div><br></div><div>And in fact, if you do bootctl set-default {active.conf|passive.conf} it does select the proper one, at least by reported by bootctl, but then again, on reboot systemd-boot shows the active entry as the one selected by default.<br></div><div><br></div><div>I'm baffled by this as I would expect this to work. Who is in the wrong here? loader.conf? bootctl? Me???</div><div><br></div><div>Is this a side effect of using the efivars VS the loader.conf file?</div><div><br></div><div>Is this the assessment in play making the good entry be higher in the selection? Or the sort key?<br></div><div><br></div><div>Does the loader.conf default entry refer to a file name or an ID?</div><div><br></div><div>Ideally if the entry ID is usable and without the assessment part, that would be nice, which is what I expected by the bootctl workflow of showsing and choosing an ID without the assessment part. <br></div><div><br></div><div><br></div><div>Any light show on this would be helpful!</div><div><br></div><div>Thanks!</div><div>Itxaka<br></div>
</div>
</div>
</blockquote></div>