From 0b614831c84768013645d07151619a94487f343c Mon Sep 17 00:00:00 2001 From: Robert Church Date: Mon, 26 Sep 2022 01:52:13 -0500 Subject: [PATCH] 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 Closes-Bug: #1990895 Change-Id: Iff41e1125bb5a6e27f7de92862da1ef4899de794 --- .../efi-debian-pxe-smallsystem_lowlatency-install | 2 +- .../efi-debian-pxe-worker_lowlatency-install | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/installer/pxe-network-installer/pxe-network-installer/efi-debian-pxe-smallsystem_lowlatency-install b/installer/pxe-network-installer/pxe-network-installer/efi-debian-pxe-smallsystem_lowlatency-install index b9211630..01a1c3b9 100644 --- a/installer/pxe-network-installer/pxe-network-installer/efi-debian-pxe-smallsystem_lowlatency-install +++ b/installer/pxe-network-installer/pxe-network-installer/efi-debian-pxe-smallsystem_lowlatency-install @@ -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 } diff --git a/installer/pxe-network-installer/pxe-network-installer/efi-debian-pxe-worker_lowlatency-install b/installer/pxe-network-installer/pxe-network-installer/efi-debian-pxe-worker_lowlatency-install index 2b211303..99a10d13 100644 --- a/installer/pxe-network-installer/pxe-network-installer/efi-debian-pxe-worker_lowlatency-install +++ b/installer/pxe-network-installer/pxe-network-installer/efi-debian-pxe-worker_lowlatency-install @@ -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 }