Debian: UEFI RT pxeboot installs need efi=runtime option

Add the efi=runtime kernel command line option for all lowlatency UEFI
installs so that the efibootmgr has access to EFI non-volatile
variables. LAT will run the efibootmgr as one of that last steps of the
ISO/pxeboot install to change the device boot order of the host.

When the PREEMPT_RT kernel is enable this is required otherwise we will
rely on the existing boot order of the system, often resulting in a
pxeboot loop.

As reference here is the difference in the std and rt kernel requiring
this change:

    $ diff linux-yocto-{std,rt}/drivers/firmware/efi/efi.c
    69c69
    < static bool disable_runtime;
    ---
    > static bool disable_runtime = IS_ENABLED(CONFIG_PREEMPT_RT);
    98a99,101
    >
    >       if (parse_option_str(str, "runtime"))
    >               disable_runtime = false;

Test Plan:
PASS - Added parameter on a UEFI RT worker install in a H/W lab and
       observe that the previously failing post install reboot now
       boots successfully.

Signed-off-by: Robert Church <robert.church@windriver.com>
Closes-Bug: #1990895
Change-Id: Iff41e1125bb5a6e27f7de92862da1ef4899de794
This commit is contained in:
Robert Church 2022-09-26 01:52:13 -05:00
parent dfced4f56c
commit 0b614831c8
2 changed files with 2 additions and 2 deletions

View File

@ -4,6 +4,6 @@ GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT_STYLE='countdown'
menuentry 'UEFI All-in-one (lowlatency)' {
linux rel-xxxSW_VERSIONxxx/bzImage-rt rdinit=/install defaultkernel=vmlinuz-*-rt-amd64 traits=controller,worker,lowlatency instname=debian instbr=starlingx instsh=0 instab=0 BOOTIF=$net_default_mac ks=xxxBASE_URLxxx/feed/rel-xxxSW_VERSIONxxx/kickstart/kickstart.cfg insturl=xxxBASE_URLxxx/feed/rel-xxxSW_VERSIONxxx/ostree_repo console=ttyS0,115200 console=tty1 biosdevname=0 biosplusefi=1 xxxAPPEND_OPTIONSxxx
linux rel-xxxSW_VERSIONxxx/bzImage-rt rdinit=/install defaultkernel=vmlinuz-*-rt-amd64 traits=controller,worker,lowlatency instname=debian instbr=starlingx instsh=0 instab=0 BOOTIF=$net_default_mac ks=xxxBASE_URLxxx/feed/rel-xxxSW_VERSIONxxx/kickstart/kickstart.cfg insturl=xxxBASE_URLxxx/feed/rel-xxxSW_VERSIONxxx/ostree_repo console=ttyS0,115200 console=tty1 biosdevname=0 biosplusefi=1 efi=runtime xxxAPPEND_OPTIONSxxx
initrd rel-xxxSW_VERSIONxxx/initrd
}

View File

@ -4,6 +4,6 @@ GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT_STYLE='countdown'
menuentry 'UEFI Worker (lowlatency)' {
linux rel-xxxSW_VERSIONxxx/bzImage-rt rdinit=/install defaultkernel=vmlinuz-*-rt-amd64 traits=worker,lowlatency instname=debian instbr=starlingx instsh=0 instab=0 BOOTIF=$net_default_mac ks=xxxBASE_URLxxx/feed/rel-xxxSW_VERSIONxxx/kickstart/kickstart.cfg insturl=xxxBASE_URLxxx/feed/rel-xxxSW_VERSIONxxx/ostree_repo console=ttyS0,115200 console=tty1 biosdevname=0 biosplusefi=1 xxxAPPEND_OPTIONSxxx
linux rel-xxxSW_VERSIONxxx/bzImage-rt rdinit=/install defaultkernel=vmlinuz-*-rt-amd64 traits=worker,lowlatency instname=debian instbr=starlingx instsh=0 instab=0 BOOTIF=$net_default_mac ks=xxxBASE_URLxxx/feed/rel-xxxSW_VERSIONxxx/kickstart/kickstart.cfg insturl=xxxBASE_URLxxx/feed/rel-xxxSW_VERSIONxxx/ostree_repo console=ttyS0,115200 console=tty1 biosdevname=0 biosplusefi=1 efi=runtime xxxAPPEND_OPTIONSxxx
initrd rel-xxxSW_VERSIONxxx/initrd
}