[meta-intel] [PATCH 1/3] systemd-boot/rmc-boot.inc: update to work with v237 and meson
California Sullivan
california.l.sullivan at intel.com
Thu Mar 22 08:31:26 PDT 2018
Patch changes:
* 0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch removed
because make is no longer used.
* 0001-sd-boot-stub-check-LoadOptions-contains-data.patch removed because
it was accepted upstream.
* 0001-partially-revert-sd-boot-stub-Obtain-PE-section-offs.patch added to
support RMC functionality. Upstream removed a snippet that found the
root directory because they didn't need it anymore, but RMC does.
* 0002-sd-boot-fix-RMC-compatibility-with-systemd-boot-and-.patch added
to support building with meson instead of make.
* Others refreshed
inc file changes:
* Don't commit pin, we can maintain these patches OK for now
* EXTRA_OEMAKE -> EXTRA_OEMESON, and removed some superfluous options
Signed-off-by: California Sullivan <california.l.sullivan at intel.com>
---
...evert-sd-boot-stub-Obtain-PE-section-offs.patch | 46 ++++++++++++++++
...Link-RMC-library-into-bootloader-and-stub.patch | 39 --------------
...boot-stub-check-LoadOptions-contains-data.patch | 42 ---------------
...-RMC-compatibility-with-systemd-boot-and-.patch | 62 ++++++++++++++++++++++
...-board-specific-boot-entries-from-RMC-da.patch} | 32 +++++------
...port-global-kernel-command-line-fragment.patch} | 11 ++--
...ort-global-kernel-command-line-in-EFI-st.patch} | 15 +++---
recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc | 24 ++++-----
8 files changed, 148 insertions(+), 123 deletions(-)
create mode 100644 recipes-bsp/systemd-boot/systemd-boot/0001-partially-revert-sd-boot-stub-Obtain-PE-section-offs.patch
delete mode 100644 recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch
delete mode 100644 recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-stub-check-LoadOptions-contains-data.patch
create mode 100644 recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-fix-RMC-compatibility-with-systemd-boot-and-.patch
rename recipes-bsp/systemd-boot/systemd-boot/{0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch => 0003-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch} (90%)
rename recipes-bsp/systemd-boot/systemd-boot/{0003-sd-boot-Support-global-kernel-command-line-fragment.patch => 0004-sd-boot-Support-global-kernel-command-line-fragment.patch} (88%)
rename recipes-bsp/systemd-boot/systemd-boot/{0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch => 0005-sd-boot-support-global-kernel-command-line-in-EFI-st.patch} (84%)
diff --git a/recipes-bsp/systemd-boot/systemd-boot/0001-partially-revert-sd-boot-stub-Obtain-PE-section-offs.patch b/recipes-bsp/systemd-boot/systemd-boot/0001-partially-revert-sd-boot-stub-Obtain-PE-section-offs.patch
new file mode 100644
index 00000000..6d7b144d
--- /dev/null
+++ b/recipes-bsp/systemd-boot/systemd-boot/0001-partially-revert-sd-boot-stub-Obtain-PE-section-offs.patch
@@ -0,0 +1,46 @@
+From beb095f41d458b7d684c0cd6cac1749e2fc3f29b Mon Sep 17 00:00:00 2001
+From: California Sullivan <california.l.sullivan at intel.com>
+Date: Wed, 21 Mar 2018 13:01:26 -0700
+Subject: [PATCH 1/5] partially revert "sd-boot: stub: Obtain PE section
+ offsets from RAM, not disk (#6250)"
+
+Only revert the section for finding the root_dir, as RMC needs this to
+find its database file.
+
+Upstream-Status: Inappropriate [upstream doesn't need the root_dir].
+
+Signed-off-by: California Sullivan <california.l.sullivan at intel.com>
+---
+ src/boot/efi/stub.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
+index ff45cebd4..540ca5985 100644
+--- a/src/boot/efi/stub.c
++++ b/src/boot/efi/stub.c
+@@ -30,6 +30,8 @@ static const EFI_GUID global_guid = EFI_GLOBAL_VARIABLE;
+
+ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
+ EFI_LOADED_IMAGE *loaded_image;
++ EFI_FILE *root_dir;
++ CHAR16 *loaded_image_path;
+ CHAR8 *b;
+ UINTN size;
+ BOOLEAN secure = FALSE;
+@@ -58,6 +60,13 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
+ return err;
+ }
+
++ root_dir = LibOpenRoot(loaded_image->DeviceHandle);
++ if (!root_dir) {
++ Print(L"Unable to open root directory: %r ", err);
++ uefi_call_wrapper(BS->Stall, 1, 3 * 1000 * 1000);
++ return EFI_LOAD_ERROR;
++ }
++
+ if (efivar_get_raw(&global_guid, L"SecureBoot", &b, &size) == EFI_SUCCESS) {
+ if (*b > 0)
+ secure = TRUE;
+--
+2.14.3
+
diff --git a/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch b/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch
deleted file mode 100644
index 2f248e21..00000000
--- a/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From fe1c2fdfe81f2ac2b41fe8543ba07f1911770d26 Mon Sep 17 00:00:00 2001
-From: Jianxun Zhang <jianxun.zhang at linux.intel.com>
-Date: Sat, 21 May 2016 18:52:07 -0700
-Subject: [PATCH] sd-boot: Link RMC library into bootloader and stub
-
-Add RMC library into bootloader binary and stub.
-
-Upstream-Status: Pending
-
-Signed-off-by: Jianxun Zhang <jianxun.zhang at linux.intel.com>
----
- Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 305099ab6..9fb6f9b7b 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2802,7 +2802,7 @@ $(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(t
-
- $(systemd_boot_solib): $(systemd_boot_objects)
- $(AM_V_CCLD)$(LD) $(efi_ldflags) $(systemd_boot_objects) \
-- -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
-+ -o $@ -lefi -lgnuefi -lrmcefi $(shell $(CC) -print-libgcc-file-name); \
- nm -D -u $@ | grep ' U ' && exit 1 || :
-
- $(systemd_boot): $(systemd_boot_solib)
-@@ -2852,7 +2852,7 @@ $(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(t
-
- $(stub_solib): $(stub_objects)
- $(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \
-- -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
-+ -o $@ -lefi -lgnuefi -lrmcefi $(shell $(CC) -print-libgcc-file-name); \
- nm -D -u $@ | grep ' U ' && exit 1 || :
-
- $(stub): $(stub_solib)
---
-2.11.0
-
diff --git a/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-stub-check-LoadOptions-contains-data.patch b/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-stub-check-LoadOptions-contains-data.patch
deleted file mode 100644
index 69acc8f8..00000000
--- a/recipes-bsp/systemd-boot/systemd-boot/0001-sd-boot-stub-check-LoadOptions-contains-data.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 87cd5a5e0f06ceb7f9dbdcc4029e0c279a38e6ad Mon Sep 17 00:00:00 2001
-From: Mikko Ylinen <mikko.ylinen at linux.intel.com>
-Date: Mon, 27 Feb 2017 10:04:03 +0200
-Subject: [PATCH] sd-boot: stub: check LoadOptions contains data
-
-With some UEFI shells LoadOptionsSize is reported being > 0
-but the corresponding LoadOptions does not contain any data
-(the first element has value 0).
-
-When that happens, the stub feature that allows .cmdline to be
-replaced by what's in LoadOptions ends up copying nothing/random
-data to the kernel cmdline resulting in different kinds of boot
-problems.
-
-To fix this, add a check to see if LoadOptions contains data
-before replacing the .cmdline.
-
-Upstream-Status: Accepted [https://github.com/systemd/systemd/pull/5467]
-
-Fixes [YOCTO #11078].
-
-Signed-off-by: Mikko Ylinen <mikko.ylinen at linux.intel.com>
----
- src/boot/efi/stub.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
-index 7c1ffb1bc..b7d5d3cda 100644
---- a/src/boot/efi/stub.c
-+++ b/src/boot/efi/stub.c
-@@ -87,7 +87,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
- cmdline_len = szs[0];
-
- /* if we are not in secure boot mode, accept a custom command line and replace the built-in one */
-- if (!secure && loaded_image->LoadOptionsSize > 0) {
-+ if (!secure && loaded_image->LoadOptionsSize > 0 && *(CHAR16 *)loaded_image->LoadOptions != 0) {
- CHAR16 *options;
- CHAR8 *line;
- UINTN i;
---
-2.11.0
-
diff --git a/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-fix-RMC-compatibility-with-systemd-boot-and-.patch b/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-fix-RMC-compatibility-with-systemd-boot-and-.patch
new file mode 100644
index 00000000..a3e496f5
--- /dev/null
+++ b/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-fix-RMC-compatibility-with-systemd-boot-and-.patch
@@ -0,0 +1,62 @@
+From af977853ab722194c4754e6693f430f50a42190f Mon Sep 17 00:00:00 2001
+From: California Sullivan <california.l.sullivan at intel.com>
+Date: Tue, 20 Mar 2018 10:08:14 -0700
+Subject: [PATCH 2/5] sd-boot: fix RMC compatibility with systemd-boot and
+ meson
+
+With autotools swapped out for meson a number of things need to be
+changed.
+
+Upstream-Status: Pending
+
+Signed-off-by: California Sullivan <california.l.sullivan at intel.com>
+---
+ meson_options.txt | 2 ++
+ src/boot/efi/meson.build | 4 +++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 39822d6cd..d8a480401 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -279,6 +279,8 @@ option('efi-ldsdir', type : 'string',
+ description : 'path to the EFI lds directory')
+ option('efi-includedir', type : 'string', value : '/usr/include/efi',
+ description : 'path to the EFI header directory')
++option('rmc-includedir', type : 'string', value : '/usr/include/rmc',
++ description : 'path to the RMC header directory')
+ option('tpm-pcrindex', type : 'string', value : '8',
+ description : 'TPM PCR register number to use')
+
+diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
+index 9f9ec4911..266ff928f 100644
+--- a/src/boot/efi/meson.build
++++ b/src/boot/efi/meson.build
+@@ -83,6 +83,7 @@ if have_gnu_efi
+ efi_conf.set_quoted('EFI_MACHINE_TYPE_NAME', EFI_MACHINE_TYPE_NAME)
+ efi_conf.set10('ENABLE_TPM', get_option('tpm'))
+ efi_conf.set('SD_TPM_PCR', get_option('tpm-pcrindex'))
++ efi_conf.set('RMC_EFI', 'true')
+
+ efi_config_h = configure_file(
+ output : 'efi_config.h',
+@@ -121,6 +122,7 @@ if have_gnu_efi
+ '-Wsign-compare',
+ '-Wno-missing-field-initializers',
+ '-isystem', efi_incdir,
++ '-isystem', get_option('rmc-includedir'),
+ '-isystem', join_paths(efi_incdir, gnu_efi_arch),
+ '-include', efi_config_h]
+ if efi_arch == 'x86_64'
+@@ -191,7 +193,7 @@ if have_gnu_efi
+ output : tuple[0],
+ command : efi_ld.split() + ['-o', '@OUTPUT@'] +
+ efi_ldflags + tuple[2] +
+- ['-lefi', '-lgnuefi', libgcc_file_name])
++ ['-lefi', '-lgnuefi', '-lrmcefi', libgcc_file_name])
+
+ test('no-undefined-symbols-' + tuple[0],
+ no_undefined_symbols,
+--
+2.14.3
+
diff --git a/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch b/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch
similarity index 90%
rename from recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch
rename to recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch
index e88012c3..cef934ce 100644
--- a/recipes-bsp/systemd-boot/systemd-boot/0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch
+++ b/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch
@@ -1,7 +1,7 @@
-From a3c4fc8c2847fe289a617bcba1d905f580f0e18d Mon Sep 17 00:00:00 2001
+From b780c67c780bae2f834d73017044680fabca4268 Mon Sep 17 00:00:00 2001
From: Jianxun Zhang <jianxun.zhang at linux.intel.com>
Date: Wed, 1 Jun 2016 16:32:22 -0700
-Subject: [PATCH 2/3] sd-boot: Load board-specific boot entries from RMC
+Subject: [PATCH 3/5] sd-boot: Load board-specific boot entries from RMC
database
RMC provides a centralized database file on ESP. The DB contains
@@ -38,15 +38,16 @@ bootloader skips loading any boot entries from ESP.
Upstream-Status: Pending
Signed-off-by: Jianxun Zhang <jianxun.zhang at linux.intel.com>
+Signed-off-by: California Sullivan <california.l.sullivan at intel.com>
---
- src/boot/efi/boot.c | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++-
- 1 file changed, 145 insertions(+), 2 deletions(-)
+ src/boot/efi/boot.c | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 146 insertions(+), 2 deletions(-)
diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
-index 30c1ead..d1b029b 100644
+index b9c7c8394..93cfaf193 100644
--- a/src/boot/efi/boot.c
+++ b/src/boot/efi/boot.c
-@@ -15,6 +15,7 @@
+@@ -16,6 +16,7 @@
#include <efi.h>
#include <efilib.h>
@@ -54,7 +55,7 @@ index 30c1ead..d1b029b 100644
#include "console.h"
#include "disk.h"
-@@ -33,6 +34,9 @@ static const char __attribute__((used)) magic[] = "#### LoaderInfo: systemd-boot
+@@ -35,6 +36,9 @@ static const char __attribute__((used)) magic[] = "#### LoaderInfo: systemd-boot
static const EFI_GUID global_guid = EFI_GLOBAL_VARIABLE;
@@ -64,7 +65,7 @@ index 30c1ead..d1b029b 100644
enum loader_type {
LOADER_UNDEFINED,
LOADER_EFI,
-@@ -1702,6 +1706,136 @@ static VOID config_free(Config *config) {
+@@ -1684,6 +1688,136 @@ static VOID config_free(Config *config) {
FreePool(config->entry_oneshot);
}
@@ -201,7 +202,7 @@ index 30c1ead..d1b029b 100644
EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
CHAR16 *s;
CHAR8 *b;
-@@ -1714,6 +1848,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
+@@ -1696,6 +1830,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
UINT64 init_usec;
BOOLEAN menu = FALSE;
CHAR16 uuid[37];
@@ -209,16 +210,17 @@ index 30c1ead..d1b029b 100644
InitializeLib(image, sys_table);
init_usec = time_usec();
-@@ -1745,6 +1880,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
- return EFI_LOAD_ERROR;
+@@ -1736,6 +1871,9 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
+ }
}
+ /* Initialize rmc before loading any config */
+ rmc_initialize(root_dir, sys_table, &rmc_db, &rmc_fp);
-
++
/* the filesystem path to this image, to prevent adding ourselves to the menu */
loaded_image_path = DevicePathToStr(loaded_image->FilePath);
-@@ -1753,11 +1890,15 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
+ efivar_set(L"LoaderImageIdentifier", loaded_image_path, FALSE);
+@@ -1743,11 +1881,15 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
ZeroMem(&config, sizeof(Config));
config_load_defaults(&config, root_dir);
@@ -236,7 +238,7 @@ index 30c1ead..d1b029b 100644
/* sort entries after version number */
config_sort_entries(&config);
-@@ -1851,6 +1992,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
+@@ -1841,6 +1983,8 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
out:
FreePool(loaded_image_path);
config_free(&config);
@@ -246,5 +248,5 @@ index 30c1ead..d1b029b 100644
uefi_call_wrapper(BS->CloseProtocol, 4, image, &LoadedImageProtocol, image, NULL);
return err;
--
-2.7.4
+2.14.3
diff --git a/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Support-global-kernel-command-line-fragment.patch b/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment.patch
similarity index 88%
rename from recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Support-global-kernel-command-line-fragment.patch
rename to recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment.patch
index a4b63557..b4dd9c42 100644
--- a/recipes-bsp/systemd-boot/systemd-boot/0003-sd-boot-Support-global-kernel-command-line-fragment.patch
+++ b/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment.patch
@@ -1,7 +1,7 @@
-From 1e33f99e13a70c19c1f63f6ef1c5522a09adece6 Mon Sep 17 00:00:00 2001
+From 159c8c54f92fb44d8abd2919fa83ad1cb640fac3 Mon Sep 17 00:00:00 2001
From: Jianxun Zhang <jianxun.zhang at linux.intel.com>
Date: Mon, 20 Jun 2016 13:08:20 -0700
-Subject: [PATCH 3/3] sd-boot: Support global kernel command line fragment
+Subject: [PATCH 4/5] sd-boot: Support global kernel command line fragment
Query file blob KBOOTPARAM from RMC. If it exists, we append
it to the new linux boot entry's cmdline. A boot entry could
@@ -12,15 +12,16 @@ these cases.
Upstream-Status: Pending
Signed-off-by: Jianxun Zhang <jianxun.zhang at linux.intel.com>
+Signed-off-by: California Sullivan <california.l.sullivan at intel.com>
---
src/boot/efi/boot.c | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c
-index d1b029b..8dffc48 100644
+index 93cfaf193..2f400db3c 100644
--- a/src/boot/efi/boot.c
+++ b/src/boot/efi/boot.c
-@@ -846,6 +846,40 @@ static VOID config_add_entry(Config *config, ConfigEntry *entry) {
+@@ -851,6 +851,40 @@ static VOID config_add_entry(Config *config, ConfigEntry *entry) {
config->entries = ReallocatePool(config->entries,
sizeof(VOID *) * config->entry_count, sizeof(VOID *) * i);
}
@@ -62,5 +63,5 @@ index d1b029b..8dffc48 100644
}
--
-2.7.4
+2.14.3
diff --git a/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch b/recipes-bsp/systemd-boot/systemd-boot/0005-sd-boot-support-global-kernel-command-line-in-EFI-st.patch
similarity index 84%
rename from recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch
rename to recipes-bsp/systemd-boot/systemd-boot/0005-sd-boot-support-global-kernel-command-line-in-EFI-st.patch
index 75082693..60e93ca8 100644
--- a/recipes-bsp/systemd-boot/systemd-boot/0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch
+++ b/recipes-bsp/systemd-boot/systemd-boot/0005-sd-boot-support-global-kernel-command-line-in-EFI-st.patch
@@ -1,7 +1,7 @@
-From 4cb9c65ea9c0eba3ba04d036dccd4a5ab3d2547b Mon Sep 17 00:00:00 2001
+From 405a77233dde990fa7815d1546dc5a6b5a608479 Mon Sep 17 00:00:00 2001
From: Mikko Ylinen <mikko.ylinen at intel.com>
Date: Fri, 27 Jan 2017 13:31:45 +0200
-Subject: [PATCH] sd-boot: support global kernel command line in EFI stub
+Subject: [PATCH 5/5] sd-boot: support global kernel command line in EFI stub
This change integrates rmc into EFI stub and supports a
global fragment (RMC KBOOTPARAM) that is appended to the
@@ -14,15 +14,16 @@ Implements [YOCTO #10924].
Upstream-status: Pending
Signed-off-by: Mikko Ylinen <mikko.ylinen at intel.com>
+Signed-off-by: California Sullivan <california.l.sullivan at intel.com>
---
src/boot/efi/stub.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c
-index 1e250f34f..f3865199f 100644
+index 540ca5985..11047477b 100644
--- a/src/boot/efi/stub.c
+++ b/src/boot/efi/stub.c
-@@ -13,6 +13,7 @@
+@@ -14,6 +14,7 @@
#include <efi.h>
#include <efilib.h>
@@ -30,7 +31,7 @@ index 1e250f34f..f3865199f 100644
#include "disk.h"
#include "graphics.h"
-@@ -48,6 +49,9 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
+@@ -49,6 +50,9 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
UINTN cmdline_len;
CHAR16 uuid[37];
EFI_STATUS err;
@@ -40,7 +41,7 @@ index 1e250f34f..f3865199f 100644
InitializeLib(image, sys_table);
-@@ -112,6 +116,35 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
+@@ -109,6 +113,35 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
#endif
}
@@ -77,5 +78,5 @@ index 1e250f34f..f3865199f 100644
if (disk_get_part_uuid(loaded_image->DeviceHandle, uuid) == EFI_SUCCESS)
efivar_set(L"LoaderDevicePartUUID", uuid, FALSE);
--
-2.11.0
+2.14.3
diff --git a/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc b/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc
index 11fddaf9..e27d4951 100644
--- a/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc
+++ b/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc
@@ -1,21 +1,15 @@
-# Pin systemd revision down for systemd-boot recipe.
-# Patches could not be applied cleanly when systemd in OE is updated,
-# though we don't expect a lot of changes could happen in bootloader.
-# RMC is designed to support a large number of types of boards, so we
-# should do explicit update with validation to prevent regression even
-# resolving conflicts for a new tip could be done in a short time.
-
-# Revision: systemd v232 in OE
-SRCREV_intel-x86-common = "a1e2ef7ec912902d8142e7cb5830cbfb47dba86c"
+# This patchset contains hooks that allows systemd-boot to use RMC capablilities.
DEPENDS_append_intel-x86-common = " rmc rmc-efi"
-EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" EFI_CFLAGS="-I${STAGING_INCDIR}/rmc -DRMC_EFI"'
+EXTRA_OEMESON_append_intel-x86-common = ' \
+ -Drmc-includedir="${STAGING_INCDIR}/rmc" \
+ '
SRC_URI_append_intel-x86-common = " \
- file://0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch \
- file://0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch \
- file://0003-sd-boot-Support-global-kernel-command-line-fragment.patch \
- file://0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch \
- file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \
+ file://0001-partially-revert-sd-boot-stub-Obtain-PE-section-offs.patch \
+ file://0002-sd-boot-fix-RMC-compatibility-with-systemd-boot-and-.patch \
+ file://0003-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch \
+ file://0004-sd-boot-Support-global-kernel-command-line-fragment.patch \
+ file://0005-sd-boot-support-global-kernel-command-line-in-EFI-st.patch \
"
--
2.14.3
More information about the meta-intel
mailing list