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 # Deploy central RMC database file to ESP
IMAGE_INSTALL_append = " rmc" IMAGE_INSTALL_append = " rmc"
RMC_BOOTLOADER ?= "systemd-boot"
inherit systemd-boot inherit ${RMC_BOOTLOADER}
do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy" 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. # 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)}" 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 # Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:" 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 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" 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: Note:
Image could be still bootable if you only have either of two lines, but RMC Image could be still bootable if you only have either of two lines, but RMC
feature won't be fully functional. 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 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 (1) enable the feature and do a build to get a live-boot image by adding these
lines in conf/local.conf: lines in conf/local.conf:
DISTRO_FEATURES_append = " rmc" 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 (2) flash the image to a USB stick and boot it on your board