48a2e836ff
This is done for moving packages that are related to secure boot out of LAT and into integ. Use grub version: 2.06-1 . Port grub-efi from LAT and make its build independent from grub2. The patches for code and changes for debian build are ported from layers ( meta-lat and meta-secure-core ) of yocto upstream. Make grub-efi independent from grub2 because some code changes for secure boot can make grub-pc's build fail. This porting of grub-efi customizes grub images and grub.cfg for efi boot. Install those files customized to grub-efi-amd64 package. Test Plan: The tests are done with all the changes for this porting, which involves efitools/shim/grub2/grub-efi/lat-sdk.sh, because they are in a chain for secure boot verification. - PASS: secure boot OK on qemu. - PASS: secure boot OK on PowerEdge R430 lab. - PASS: secure boot NG on qemu/hardware when shim/grub-efi images are without the right signatures. Story: 2009221 Task: 46402 Signed-off-by: Li Zhou <li.zhou@windriver.com> Change-Id: Ia3b482c1959b5e6462fe54f0b0e59a69db1b1ca7
46 lines
1.4 KiB
Diff
46 lines
1.4 KiB
Diff
From fcab9daa2e62bcf2f6165fca4378d0e8a919a276 Mon Sep 17 00:00:00 2001
|
|
From: Hongxu Jia <hongxu.jia@windriver.com>
|
|
Date: Sat, 19 Mar 2022 20:01:58 +0800
|
|
Subject: [PATCH] correct grub_errno
|
|
|
|
Correct grub_errno if allocate memory at preferred address success.
|
|
|
|
Usually allocate memory at preferred address will fail and then
|
|
allocate to another address. During second time allocate, it reset
|
|
grub_errno = GRUB_ERR_NONE.
|
|
|
|
While grub efi working on a server with huge memory, allocate memory at
|
|
preferred address will succeed, no need to allocate again, and no change
|
|
to correct grub_errno. It caused load kernel image fail in this
|
|
situation.
|
|
|
|
Set grub_errno = GRUB_ERR_NONE if first allocate success
|
|
|
|
Upstream-Status: Inappropriate [oe specific]
|
|
|
|
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
|
[lz: Adapt the git shortlog.]
|
|
Signed-off-by: Li Zhou <li.zhou@windriver.com>
|
|
---
|
|
grub-core/loader/i386/linux.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c
|
|
index 9f74a96..747cfe0 100644
|
|
--- a/grub-core/loader/i386/linux.c
|
|
+++ b/grub-core/loader/i386/linux.c
|
|
@@ -179,6 +179,10 @@ allocate_pages (grub_size_t prot_size, grub_size_t *align,
|
|
prot_size, 1,
|
|
GRUB_RELOCATOR_PREFERENCE_LOW,
|
|
1);
|
|
+
|
|
+ if (!err)
|
|
+ grub_errno = GRUB_ERR_NONE;
|
|
+
|
|
for (; err && *align + 1 > min_align; (*align)--)
|
|
{
|
|
grub_errno = GRUB_ERR_NONE;
|
|
--
|
|
2.17.1
|
|
|