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>
This commit is contained in:
Todor Minchev 2017-06-23 15:58:17 -07:00 committed by Saul Wold
parent 54d18a7efe
commit a70ba3debd
3 changed files with 20 additions and 12 deletions

View File

@ -0,0 +1,12 @@
DEPENDS_append_intel-x86-common = " rmc"
EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" EFI_CFLAGS="-I${STAGING_INCDIR}/rmc -DRMC_EFI"'
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-efi-boot.c-workaround-for-Joule-BIOS-hang.patch \
file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \
"

View File

@ -0,0 +1,7 @@
EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" '
SRC_URI_append_intel-x86-common = " \
file://0001-efi-boot.c-workaround-for-Joule-BIOS-hang.patch \
file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \
"

View File

@ -1,9 +1,5 @@
DEPENDS_append_intel-x86-common = " rmc"
FILESEXTRAPATHS_prepend := "${THISDIR}/systemd-boot:"
EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/lib" EFI_CFLAGS="-I${STAGING_INCDIR}/rmc -DRMC_EFI"'
# 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.
@ -14,13 +10,6 @@ EXTRA_OEMAKE_append_intel-x86-common = ' EFI_LDFLAGS="-L${STAGING_DIR_HOST}/usr/
# Revision: systemd v232 in OE
SRCREV_intel-x86-common = "a1e2ef7ec912902d8142e7cb5830cbfb47dba86c"
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-efi-boot.c-workaround-for-Joule-BIOS-hang.patch \
file://0001-sd-boot-stub-check-LoadOptions-contains-data.patch \
"
include systemd-boot/${EFI_PROVIDER}.inc
PACKAGE_ARCH_intel-x86-common = "${INTEL_COMMON_PACKAGE_ARCH}"