[meta-intel] [yocto][meta-inte][rmc][PATCH 1/1] rmc: add support for alternative EFI bootloaders

Todor Minchev todor.minchev at linux.intel.com
Tue Dec 13 14:08:44 PST 2016


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.

Example for grub-efi:

RMC_BOOTLOADER = "grub-efi"

Signed-off-by: Todor Minchev <todor.minchev at linux.intel.com>
---
 .../{rmc-systemd-boot.bbclass => rmc-boot.bbclass} |  5 +++--
 conf/machine/include/meta-intel.inc                |  2 +-
 documentation/rmc/README                           | 26 +++++++++++++++++++---
 3 files changed, 27 insertions(+), 6 deletions(-)
 rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)

diff --git a/classes/rmc-systemd-boot.bbclass b/classes/rmc-boot.bbclass
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644
--- a/classes/rmc-systemd-boot.bbclass
+++ b/classes/rmc-boot.bbclass
@@ -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"
 
diff --git a/conf/machine/include/meta-intel.inc b/conf/machine/include/meta-intel.inc
index c7555ce..fd0a792 100644
--- a/conf/machine/include/meta-intel.inc
+++ b/conf/machine/include/meta-intel.inc
@@ -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:"
diff --git a/documentation/rmc/README b/documentation/rmc/README
index 2427ffd..7dde8a4 100644
--- a/documentation/rmc/README
+++ b/documentation/rmc/README
@@ -165,14 +165,34 @@ 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
+
+For example
+
+to use grub-efi:
+RMC_BOOTLOADER = "grub-efi"
+
+OR
+
+to use gummiboot:
+RMC_BOOTLOADER = "gummiboot"
 
 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 +210,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
 
-- 
2.11.0



More information about the meta-intel mailing list