diff options
author | Todor Minchev <todor.minchev@linux.intel.com> | 2017-06-23 15:58:17 -0700 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2017-06-23 16:07:40 -0700 |
commit | a70ba3debd103708c4c40d7c19bb56e7b66ef2a5 (patch) | |
tree | 804ce63b5a016fe2cfd20c299e8c2e98a5e640aa /common/recipes-bsp | |
parent | 54d18a7efe307b9fb45d64156d53b886abc3792b (diff) | |
download | meta-intel-a70ba3debd103708c4c40d7c19bb56e7b66ef2a5.tar.gz |
systemd-boot: disable RMC for systemd-boot EFI_PROVIDER
Previously the RMC library was always linked into systemd-boot. Non
rmc-boot EFI_PROVIDERs will not build the rmc.db and userspace tool and
therefore linking the library into these bootloaders is redundant.
This change disables RMC completely when the EFI_PROVIDER is not rmc-boot.
The default EFI_PROVIDER in meta-intel is rmc-boot. To use systemd-boot
without RMC, set EFI_PROVIDER to systemd-boot in your conf/local.conf.
Example:
EFI_PROVIDER = "systemd-boot"
Signed-off-by: Todor Minchev <todor.minchev@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'common/recipes-bsp')
3 files changed, 20 insertions, 12 deletions
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc b/common/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc new file mode 100644 index 00000000..db75eb68 --- /dev/null +++ b/common/recipes-bsp/systemd-boot/systemd-boot/rmc-boot.inc | |||
@@ -0,0 +1,12 @@ | |||
1 | DEPENDS_append_intel-x86-common = " rmc" | ||
2 | |||
3 | EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" EFI_CFLAGS="-I${STAGING_INCDIR}/rmc -DRMC_EFI"' | ||
4 | |||
5 | SRC_URI_append_intel-x86-common = " \ | ||
6 | file://0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch \ | ||
7 | file://0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch \ | ||
8 | file://0003-sd-boot-Support-global-kernel-command-line-fragment.patch \ | ||
9 | file://0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch \ | ||
10 | file://0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch \ | ||
11 | file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \ | ||
12 | " | ||
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot/systemd-boot.inc b/common/recipes-bsp/systemd-boot/systemd-boot/systemd-boot.inc new file mode 100644 index 00000000..fcce6ce1 --- /dev/null +++ b/common/recipes-bsp/systemd-boot/systemd-boot/systemd-boot.inc | |||
@@ -0,0 +1,7 @@ | |||
1 | EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" ' | ||
2 | |||
3 | SRC_URI_append_intel-x86-common = " \ | ||
4 | file://0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch \ | ||
5 | file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \ | ||
6 | " | ||
7 | |||
diff --git a/common/recipes-bsp/systemd-boot/systemd-boot_%.bbappend b/common/recipes-bsp/systemd-boot/systemd-boot_%.bbappend index 98eaf45e..c574041b 100644 --- a/common/recipes-bsp/systemd-boot/systemd-boot_%.bbappend +++ b/common/recipes-bsp/systemd-boot/systemd-boot_%.bbappend | |||
@@ -1,9 +1,5 @@ | |||
1 | DEPENDS_append_intel-x86-common = " rmc" | ||
2 | |||
3 | FILESEXTRAPATHS_prepend := "${THISDIR}/systemd-boot:" | 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/systemd-boot:" |
4 | 2 | ||
5 | EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" EFI_CFLAGS="-I${STAGING_INCDIR}/rmc -DRMC_EFI"' | ||
6 | |||
7 | # Pin systemd revision down for systemd-boot recipe. | 3 | # Pin systemd revision down for systemd-boot recipe. |
8 | # Patches could not be applied cleanly when systemd in OE is updated, | 4 | # Patches could not be applied cleanly when systemd in OE is updated, |
9 | # though we don't expect a lot of changes could happen in bootloader. | 5 | # though we don't expect a lot of changes could happen in bootloader. |
@@ -14,13 +10,6 @@ EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/ | |||
14 | # Revision: systemd v232 in OE | 10 | # Revision: systemd v232 in OE |
15 | SRCREV_intel-x86-common = "a1e2ef7ec912902d8142e7cb5830cbfb47dba86c" | 11 | SRCREV_intel-x86-common = "a1e2ef7ec912902d8142e7cb5830cbfb47dba86c" |
16 | 12 | ||
17 | SRC_URI_append_intel-x86-common = " \ | 13 | include systemd-boot/${EFI_PROVIDER}.inc |
18 | file://0001-sd-boot-Link-RMC-library-into-bootloader-and-stub.patch \ | ||
19 | file://0002-sd-boot-Load-board-specific-boot-entries-from-RMC-da.patch \ | ||
20 | file://0003-sd-boot-Support-global-kernel-command-line-fragment.patch \ | ||
21 | file://0004-sd-boot-Support-global-kernel-command-line-fragment-in-EFI-stub.patch \ | ||
22 | file://0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch \ | ||
23 | file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \ | ||
24 | " | ||
25 | 14 | ||
26 | PACKAGE_ARCH_intel-x86-common = "${INTEL_COMMON_PACKAGE_ARCH}" | 15 | PACKAGE_ARCH_intel-x86-common = "${INTEL_COMMON_PACKAGE_ARCH}" |