[lvc-project] [PATCH v5 22/27] x86/build: set type_of_loader for EFISTUB

Evgeniy Baskov baskov at ispras.ru
Tue Mar 14 13:13:49 MSK 2023


After switching to the local copy of boot_params, EFISTUB stopped
setting type_of_loader, using the default value of 0. Restore that
behavior by assigning the right value at the build time.

Signed-off-by: Evgeniy Baskov <baskov at ispras.ru>
---
 arch/x86/boot/tools/build.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/boot/tools/build.c b/arch/x86/boot/tools/build.c
index 476ef05f16fb..5ac4f08ed923 100644
--- a/arch/x86/boot/tools/build.c
+++ b/arch/x86/boot/tools/build.c
@@ -588,6 +588,8 @@ int main(int argc, char **argv)
 	memcpy(output + setup_size + efi_boot_params + SETUP_HEADER_OFFSET,
 	       setup_header, 0x290 - SETUP_HEADER_OFFSET
 	       /* == max possible sizeof(struct setup_header) */);
+	/* Set type_of_loader to the one that EFISTUB uses for the local copy */
+	output[setup_size + efi_boot_params + SETUP_HEADER_OFFSET + 0x1F] = 0x21;
 #endif
 
 	/* Calculate and write kernel checksum. */
-- 
2.39.2




More information about the lvc-project mailing list