diff --git a/external-layers/meta-efibootguard b/external-layers/meta-efibootguard index e3581b1..058e3ad 160000 --- a/external-layers/meta-efibootguard +++ b/external-layers/meta-efibootguard @@ -1 +1 @@ -Subproject commit e3581b11d30d91d0363acb48a6aee47043b7e0bc +Subproject commit 058e3ad8650344eb46920ecd5b3b0ebf473aebe1 diff --git a/layers/meta-belden-coreos/recipes-bsp/efibootguard/efibootguard/0001-coreos-add-a-coreos-specific-rootfs-switch-to-the-UK.patch b/layers/meta-belden-coreos/recipes-bsp/efibootguard/efibootguard/0001-coreos-add-a-coreos-specific-rootfs-switch-to-the-UK.patch index 736ef25..c37ff61 100644 --- a/layers/meta-belden-coreos/recipes-bsp/efibootguard/efibootguard/0001-coreos-add-a-coreos-specific-rootfs-switch-to-the-UK.patch +++ b/layers/meta-belden-coreos/recipes-bsp/efibootguard/efibootguard/0001-coreos-add-a-coreos-specific-rootfs-switch-to-the-UK.patch @@ -1,4 +1,4 @@ -From 2e8b73826c6ecaf5168002a18282ba7e4ac95e76 Mon Sep 17 00:00:00 2001 +From af89555f84e4d7fd9229d417c691bda26190b651 Mon Sep 17 00:00:00 2001 From: Samuel Dolt Date: Mon, 12 Jun 2023 16:29:49 +0200 Subject: [PATCH] coreos: add a coreos specific rootfs switch to the UKI stub @@ -14,15 +14,16 @@ by looking the LoadOption string passed by ther firmware: In all other case, the stub will exist without booting the kernel with a INVALID PARAMETER error. + --- kernel-stub/main.c | 55 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 5 deletions(-) diff --git a/kernel-stub/main.c b/kernel-stub/main.c -index c0be1f6..6f456d3 100644 +index 55873e5..ba903a9 100644 --- a/kernel-stub/main.c +++ b/kernel-stub/main.c -@@ -128,11 +128,6 @@ EFI_STATUS efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table) +@@ -129,11 +129,6 @@ EFI_STATUS efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table) error_exit(L"Error getting LoadedImageProtocol", status); } @@ -34,7 +35,7 @@ index c0be1f6..6f456d3 100644 pe_header = get_pe_header(stub_image->ImageBase); for (n = 0, section = get_sections(pe_header); n < pe_header->Coff.NumberOfSections; -@@ -161,6 +156,56 @@ EFI_STATUS efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table) +@@ -162,6 +157,56 @@ EFI_STATUS efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table) kernel_image.LoadOptions = (UINT8 *) stub_image->ImageBase + cmdline_section->VirtualAddress; kernel_image.LoadOptionsSize = cmdline_section->VirtualSize; @@ -76,7 +77,7 @@ index c0be1f6..6f456d3 100644 + break; + } + -+ if(StrnCmp(str, &symbol, StrLen(symbol)) == 0) { ++ if(StrnCmp(str, symbol, StrLen(symbol)) == 0) { + /* Replace symbol by rootfs, works because symbole and rootfs has the same length */ + StrnCpy(str, rootfs, StrLen(rootfs)); + }