rmc: add support for alternative EFI bootloaders

RMC was previously configured to work only with the systemd-boot EFI
bootloader. With this commit we can specify alternative bootloaders by
setting the RMC_BOOTLOADER variable in local.conf. If RMC_BOOTLOADER is
not set systemd-boot will be used by default.

Signed-off-by: Todor Minchev <todor.minchev@linux.intel.com>
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
This commit is contained in:
Todor Minchev 2016-12-13 14:56:49 -08:00 committed by California Sullivan
parent 3d218385a7
commit 48c335a46e
3 changed files with 17 additions and 6 deletions

View File

@ -1,9 +1,10 @@
# rmc-systemd-boot bbclass
# rmc-boot bbclass
# Deploy central RMC database file to ESP
IMAGE_INSTALL_append = " rmc"
RMC_BOOTLOADER ?= "systemd-boot"
inherit systemd-boot
inherit ${RMC_BOOTLOADER}
do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"

View File

@ -32,7 +32,7 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS_append = "${@bb.utils.contains('MACHINE_FEATURE
# merge the microcode data in the final initrd image.
INITRD_LIVE_prepend = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', '${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}"
EFI_PROVIDER ?= "rmc-systemd-boot"
EFI_PROVIDER ?= "rmc-boot"
# Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:"

View File

@ -165,14 +165,24 @@ steps still can override results from this hook for boot entries and KBOOTPARAM.
Enable RMC Feature
--------------------------------------------------------------------------------
To Enable RMC feature in build, add the below lines in a conf file:
To enable the RMC feature please add the following variables to your local.conf.
DISTRO_FEATURES_append = " rmc"
EFI_PROVIDER = "rmc-systemd-boot"
EFI_PROVIDER = "rmc-boot"
The default EFI bootloader used with RMC is systemd-boot. To change the default
bootloader please overwrite the RMC_BOOTLOADER variable in your local.conf
Note:
Image could be still bootable if you only have either of two lines, but RMC
feature won't be fully functional.
To install only the RMC client with the systemd-boot bootloader without
including a default RMC database file, add the following lines to your
local.conf:
EFI_PROVIDER = "systemd-boot"
IMAGE_INSTALL_append = " rmc"
Examples
@ -190,7 +200,7 @@ EXAMPLE 1: Support a new board type:
(1) enable the feature and do a build to get a live-boot image by adding these
lines in conf/local.conf:
DISTRO_FEATURES_append = " rmc"
EFI_PROVIDER = "rmc-systemd-boot"
EFI_PROVIDER = "rmc-boot"
(2) flash the image to a USB stick and boot it on your board