Skip to contentSkip to conversation

rmc: add support for alternative EFI bootloaders

PATCH In review Todor Minchev 3 participants 8 messages Dec 13, 2016 – Dec 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 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.

---
Remove references to grub-efi and gummiboot from V1.

 classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} |  5 +++--
 conf/machine/include/meta-intel.inc                    |  2 +-
 documentation/rmc/README                               | 16 +++++++++++++---
 3 files changed, 17 insertions(+), 6 deletions(-)
 rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)
classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +3 -2
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644
@@ -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"
 
conf/machine/include/meta-intel.inc +1 -1
index c7555ce..fd0a792 100644
@@ -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:"
documentation/rmc/README +13 -3
index 2427ffd..dbee6b6 100644
@@ -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
 
Signature · 1 line
2.11.0
#1 lore raw
Quoted 30 lines · Todor Minchev

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.

---
Remove references to grub-efi and gummiboot from V1.

classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} |  5 +++--
conf/machine/include/meta-intel.inc                    |  2 +-
documentation/rmc/README                               | 16 +++++++++++++---
3 files changed, 17 insertions(+), 6 deletions(-)

rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)

classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644
@@ -1,9 +1,10 @@
-# rmc-systemd-boot bbclass
+# rmc-boot bbclass
 # Deploy central RMC database file to ESP
 
Quoted 2 lines

IMAGE_INSTALL_append = " rmc"
+RMC_BOOTLOADER ?= "systemd-boot”

Maybe this is what we could have now without bothering OE. It is better than the corrent code at the cost of another variable to user. I hope in the future we could get rid of the dependency to EFI_PROVIDER (e.g. bz10084).

Also refer to my comment for the document change at the below.

Quoted 41 lines
classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
-inherit systemd-boot
+inherit ${RMC_BOOTLOADER}

do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"

conf/machine/include/meta-intel.inc +0 -0
index c7555ce..fd0a792 100644
@@ -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)}"

conf/machine/include/meta-intel.inc +1 -1
-EFI_PROVIDER ?= "rmc-systemd-boot"
+EFI_PROVIDER ?= "rmc-boot"

# Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:"

documentation/rmc/README +0 -0
index 2427ffd..dbee6b6 100644
@@ -165,14 +165,24 @@ steps still can override results from this hook for boot entries and KBOOTPARAM.
 

Enable RMC Feature
--------------------------------------------------------------------------------

documentation/rmc/README +2 -1
-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"

documentation/rmc/README +4 -1
-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.

documentation/rmc/README steps still can override results from this hook for boot entries and KBOOTPARAM.

Quoted 6 lines
documentation/rmc/README +6 -0
+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”

I think this use case could confuse for user without much benefit. And actually they still can set EFI_PROVIDER to any available efi bootloaders to get this effect as long as it is not “rmc-boot”, right? Maybe we should just say “you won’t get rmc database deployed if you set EFI_PROVIDER to any values not rmc-boot."

Quoted 16 lines

Examples

documentation/rmc/README +0 -0
@@ -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"

documentation/rmc/README +1 -1
-    EFI_PROVIDER = "rmc-systemd-boot"
+    EFI_PROVIDER = "rmc-boot"

(2) flash the image to a USB stick and boot it on your board

Signature · 1 line
2.11.0
#2 lore raw
Quoted 75 lines · Jianxun Zhang
Quoted 29 lines · Todor Minchev

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.

---
Remove references to grub-efi and gummiboot from V1.

classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} |  5 +++--
conf/machine/include/meta-intel.inc                    |  2 +-
documentation/rmc/README                               | 16 +++++++++++++---
3 files changed, 17 insertions(+), 6 deletions(-)

rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)

classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644
@@ -1,9 +1,10 @@
-# rmc-systemd-boot bbclass
+# rmc-boot bbclass
 # Deploy central RMC database file to ESP
 
Quoted 2 lines

IMAGE_INSTALL_append = " rmc"
+RMC_BOOTLOADER ?= "systemd-boot”

Maybe this is what we could have now without bothering OE. It is better than the corrent code at the cost of another variable to user. I hope in the future we could get rid of the dependency to EFI_PROVIDER (e.g. bz10084).

Also refer to my comment for the document change at the below.

Quoted 41 lines
classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
-inherit systemd-boot
+inherit ${RMC_BOOTLOADER}

do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"

conf/machine/include/meta-intel.inc +0 -0
index c7555ce..fd0a792 100644
@@ -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)}"

conf/machine/include/meta-intel.inc +1 -1
-EFI_PROVIDER ?= "rmc-systemd-boot"
+EFI_PROVIDER ?= "rmc-boot"

# Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:"

documentation/rmc/README +0 -0
index 2427ffd..dbee6b6 100644
@@ -165,14 +165,24 @@ steps still can override results from this hook for boot entries and KBOOTPARAM.
 

Enable RMC Feature
--------------------------------------------------------------------------------

documentation/rmc/README +2 -1
-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"

documentation/rmc/README +4 -1
-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.

Quoted 8 lines

documentation/rmc/README steps still can override results from this hook for boot entries and KBOOTPARAM.

Quoted 6 lines
documentation/rmc/README +6 -0
+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”

I think this use case could confuse for user without much benefit. And actually they still can set EFI_PROVIDER to any available efi bootloaders to get this effect as long as it is not “rmc-boot”, right? Maybe we should just say “you won’t get rmc database deployed if you set EFI_PROVIDER to any values not rmc-boot."

Yes, this can be another way to phrase this.

Quoted 15 lines
Quoted 14 lines

Examples

documentation/rmc/README +0 -0
@@ -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"

documentation/rmc/README +1 -1
-    EFI_PROVIDER = "rmc-systemd-boot"
+    EFI_PROVIDER = "rmc-boot"

(2) flash the image to a USB stick and boot it on your board

Signature · 1 line
2.11.0
#3 lore raw

I like where this is heading but does RMC function with bootloaders besides systemd-boot yet? A quick boot test with this patch and RMC_BOOTLOADER = "grub-efi" seems to give me vanilla grub-efi.

Thanks,
Cal

Quoted 99 lines · Todor Minchev
Quoted 74 lines · Jianxun Zhang
Quoted 29 lines · Todor Minchev

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.

---
Remove references to grub-efi and gummiboot from V1.

classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} |  5 +++--
conf/machine/include/meta-intel.inc                    |  2 +-
documentation/rmc/README                               | 16 +++++++++++++---
3 files changed, 17 insertions(+), 6 deletions(-)

rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)

classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644
@@ -1,9 +1,10 @@
-# rmc-systemd-boot bbclass
+# rmc-boot bbclass
 # Deploy central RMC database file to ESP
 
Quoted 2 lines

IMAGE_INSTALL_append = " rmc"
+RMC_BOOTLOADER ?= "systemd-boot”

Maybe this is what we could have now without bothering OE. It is better than the corrent code at the cost of another variable to user. I hope in the future we could get rid of the dependency to EFI_PROVIDER (e.g. bz10084).

Also refer to my comment for the document change at the below.

Quoted 40 lines
classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
-inherit systemd-boot
+inherit ${RMC_BOOTLOADER}

do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"

conf/machine/include/meta-intel.inc +0 -0
index c7555ce..fd0a792 100644
@@ -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)}"

conf/machine/include/meta-intel.inc +1 -1
-EFI_PROVIDER ?= "rmc-systemd-boot"
+EFI_PROVIDER ?= "rmc-boot"

# Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:"

documentation/rmc/README +0 -0
index 2427ffd..dbee6b6 100644
@@ -165,14 +165,24 @@ steps still can override results from this hook for boot entries and KBOOTPARAM.
 

Enable RMC Feature
--------------------------------------------------------------------------------

documentation/rmc/README +2 -1
-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"

documentation/rmc/README +4 -1
-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.

Quoted 8 lines

documentation/rmc/README steps still can override results from this hook for boot entries and KBOOTPARAM.

Quoted 6 lines
documentation/rmc/README +6 -0
+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”

I think this use case could confuse for user without much benefit. And actually they still can set EFI_PROVIDER to any available efi bootloaders to get this effect as long as it is not “rmc-boot”, right? Maybe we should just say “you won’t get rmc database deployed if you set EFI_PROVIDER to any values not rmc-boot."

Yes, this can be another way to phrase this.

Quoted 13 lines
Quoted 13 lines

Examples

documentation/rmc/README +0 -0
@@ -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"

documentation/rmc/README +1 -1
-    EFI_PROVIDER = "rmc-systemd-boot"
+    EFI_PROVIDER = "rmc-boot"

(2) flash the image to a USB stick and boot it on your board

Signature · 1 line
2.11.0
#4 lore raw
Quoted 4 lines · Cal Sullivan

I like where this is heading but does RMC function with bootloaders besides systemd-boot yet?
A quick boot test with this patch and RMC_BOOTLOADER = "grub-efi" seems to give me vanilla grub-efi.

At the moment RMC works end-to-end only with systemd-boot. This patch resolves bug 10212 which blocks the changes required for RMC support in grub-efi (bug 10126).

https://bugzilla.yoctoproject.org/show_bug.cgi?id=10212

https://bugzilla.yoctoproject.org/show_bug.cgi?id=10226

Todor

Quoted 104 lines

Thanks,
Cal

Quoted 99 lines · Todor Minchev
Quoted 74 lines · Jianxun Zhang
Quoted 29 lines · Todor Minchev

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.

---
Remove references to grub-efi and gummiboot from V1.

classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} |  5 +++--
conf/machine/include/meta-intel.inc                    |  2 +-
documentation/rmc/README                               | 16 +++++++++++++---
3 files changed, 17 insertions(+), 6 deletions(-)

rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)

classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644
@@ -1,9 +1,10 @@
-# rmc-systemd-boot bbclass
+# rmc-boot bbclass
 # Deploy central RMC database file to ESP
 
Quoted 2 lines

IMAGE_INSTALL_append = " rmc"
+RMC_BOOTLOADER ?= "systemd-boot”

Maybe this is what we could have now without bothering OE. It is better than the corrent code at the cost of another variable to user. I hope in the future we could get rid of the dependency to EFI_PROVIDER (e.g. bz10084).

Also refer to my comment for the document change at the below.

Quoted 40 lines
classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
-inherit systemd-boot
+inherit ${RMC_BOOTLOADER}

do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"

conf/machine/include/meta-intel.inc +0 -0
index c7555ce..fd0a792 100644
@@ -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)}"

conf/machine/include/meta-intel.inc +1 -1
-EFI_PROVIDER ?= "rmc-systemd-boot"
+EFI_PROVIDER ?= "rmc-boot"

# Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:"

documentation/rmc/README +0 -0
index 2427ffd..dbee6b6 100644
@@ -165,14 +165,24 @@ steps still can override results from this hook for boot entries and KBOOTPARAM.
 

Enable RMC Feature
--------------------------------------------------------------------------------

documentation/rmc/README +2 -1
-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"

documentation/rmc/README +4 -1
-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.

Quoted 8 lines

documentation/rmc/README steps still can override results from this hook for boot entries and KBOOTPARAM.

Quoted 6 lines
documentation/rmc/README +6 -0
+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”

I think this use case could confuse for user without much benefit. And actually they still can set EFI_PROVIDER to any available efi bootloaders to get this effect as long as it is not “rmc-boot”, right? Maybe we should just say “you won’t get rmc database deployed if you set EFI_PROVIDER to any values not rmc-boot."

Yes, this can be another way to phrase this.

Quoted 13 lines
Quoted 13 lines

Examples

documentation/rmc/README +0 -0
@@ -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"

documentation/rmc/README +1 -1
-    EFI_PROVIDER = "rmc-systemd-boot"
+    EFI_PROVIDER = "rmc-boot"

(2) flash the image to a USB stick and boot it on your board

Signature · 1 line
2.11.0
#5 lore raw
In reply to Todor Minchev
Quoted 83 lines · Todor Minchev
Quoted 74 lines · Jianxun Zhang
Quoted 29 lines · Todor Minchev

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.

---
Remove references to grub-efi and gummiboot from V1.

classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} |  5 +++--
conf/machine/include/meta-intel.inc                    |  2 +-
documentation/rmc/README                               | 16 +++++++++++++---
3 files changed, 17 insertions(+), 6 deletions(-)

rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)

classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644
@@ -1,9 +1,10 @@
-# rmc-systemd-boot bbclass
+# rmc-boot bbclass
 # Deploy central RMC database file to ESP
 
Quoted 2 lines

IMAGE_INSTALL_append = " rmc"
+RMC_BOOTLOADER ?= "systemd-boot”

Maybe this is what we could have now without bothering OE. It is better than the corrent code at the cost of another variable to user. I hope in the future we could get rid of the dependency to EFI_PROVIDER (e.g. bz10084).

Also refer to my comment for the document change at the below.

Quoted 40 lines
classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
-inherit systemd-boot
+inherit ${RMC_BOOTLOADER}

do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"

conf/machine/include/meta-intel.inc +0 -0
index c7555ce..fd0a792 100644
@@ -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)}"

conf/machine/include/meta-intel.inc +1 -1
-EFI_PROVIDER ?= "rmc-systemd-boot"
+EFI_PROVIDER ?= "rmc-boot"

# Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:"

documentation/rmc/README +0 -0
index 2427ffd..dbee6b6 100644
@@ -165,14 +165,24 @@ steps still can override results from this hook for boot entries and KBOOTPARAM.
 

Enable RMC Feature
--------------------------------------------------------------------------------

documentation/rmc/README +2 -1
-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"

documentation/rmc/README +4 -1
-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.

Quoted 8 lines

documentation/rmc/README steps still can override results from this hook for boot entries and KBOOTPARAM.

Quoted 6 lines
documentation/rmc/README +6 -0
+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”

I think this use case could confuse for user without much benefit. And actually they still can set EFI_PROVIDER to any available efi bootloaders to get this effect as long as it is not “rmc-boot”, right? Maybe we should just say “you won’t get rmc database deployed if you set EFI_PROVIDER to any values not rmc-boot."

Quoted 1 line

Yes, this can be another way to phrase this.

Is there going to be a v3 or is it sufficient as-is?

Thanks,
Cal

Quoted 15 lines
Quoted 14 lines
Quoted 14 lines

Examples

documentation/rmc/README +0 -0
@@ -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"

documentation/rmc/README +1 -1
-    EFI_PROVIDER = "rmc-systemd-boot"
+    EFI_PROVIDER = "rmc-boot"

(2) flash the image to a USB stick and boot it on your board

Signature · 1 line
2.11.0
#6 lore raw
Quoted 117 lines · Cal Sullivan
Quoted 115 lines · Todor Minchev
Quoted 113 lines · Jianxun Zhang
Quoted 39 lines

On Dec 13, 2016, at 2:56 PM, Todor Minchev <todor.minchev@linux .intel.com> wrote:

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.

---
Remove references to grub-efi and gummiboot from V1.

classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} |  5
+++--
conf/machine/include/meta-intel.inc                    |  2 +- documentation/rmc/README                               | 16
+++++++++++++---

3 files changed, 17 insertions(+), 6 deletions(-)

rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)

classes/rmc- renamed from classes/rmc-systemd-boot.bbclass +0 -0

boot.bbclass
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644

classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
@@ -1,9 +1,10 @@
-# rmc-systemd-boot bbclass
+# rmc-boot bbclass
 # Deploy central RMC database file to ESP
 
Quoted 2 lines

IMAGE_INSTALL_append = " rmc"
+RMC_BOOTLOADER ?= "systemd-boot”

Maybe this is what we could have now without bothering OE. It is better than the corrent code at the cost of another variable to user. I hope in the future we could get rid of  the dependency to EFI_PROVIDER (e.g. bz10084).

Also refer to my comment for the document change at the below.

Quoted 56 lines
classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
-inherit systemd-boot
+inherit ${RMC_BOOTLOADER}

do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"

conf/machine/include/meta-intel.inc +0 -0
index c7555ce..fd0a792 100644
@@ -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)}"
conf/machine/include/meta-intel.inc +1 -1
-EFI_PROVIDER ?= "rmc-systemd-boot"
+EFI_PROVIDER ?= "rmc-boot"

# Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:"

documentation/rmc/README +0 -0
index 2427ffd..dbee6b6 100644
@@ -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"

documentation/rmc/README +3 -1
-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

documentation/rmc/README steps still can override results from this hook for boot entries and KBOOTPARAM.

Quoted 4 lines
documentation/rmc/README +4 -0
+local.conf:
+
+EFI_PROVIDER = "systemd-boot"
+IMAGE_INSTALL_append = " rmc”

I think this use case could confuse for user without much benefit. And actually they still can set EFI_PROVIDER to any available efi bootloaders to get this effect as long as it is not “rmc-boot”, right?
Maybe we should just say “you won’t get rmc database deployed if you set EFI_PROVIDER to any values not rmc-boot."

Quoted 2 lines
Quoted 1 line

Yes, this can be another way to phrase this.

Is there going to be a v3 or is it sufficient as-is?

This is OK for now. I will reword the README after we add full RMC support to grub-efi.

Quoted 18 lines

Thanks,
Cal

Quoted 15 lines
Quoted 15 lines
Quoted 15 lines

Examples

documentation/rmc/README +0 -0
@@ -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

#7 lore raw
Quoted 113 lines · Todor Minchev
Quoted 112 lines · Cal Sullivan
Quoted 111 lines · Todor Minchev
Quoted 110 lines · Jianxun Zhang
Quoted 37 lines

On Dec 13, 2016, at 2:56 PM, Todor Minchev <todor.minchev@linux .intel.com> wrote:

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.

---
Remove references to grub-efi and gummiboot from V1.

classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} | 5
+++--
conf/machine/include/meta-intel.inc | 2 +-
documentation/rmc/README | 16
+++++++++++++---

3 files changed, 17 insertions(+), 6 deletions(-)

rename classes/{rmc-systemd-boot.bbclass => rmc-boot.bbclass} (73%)

classes/rmc- renamed from classes/rmc-systemd-boot.bbclass +0 -0

boot.bbclass
similarity index 73%
rename from classes/rmc-systemd-boot.bbclass
rename to classes/rmc-boot.bbclass
index ad2cf10..a1f2093 100644

classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
@@ -1,9 +1,10 @@
-# rmc-systemd-boot bbclass
+# rmc-boot bbclass
 # Deploy central RMC database file to ESP
 
Quoted 2 lines

IMAGE_INSTALL_append = " rmc"
+RMC_BOOTLOADER ?= "systemd-boot”

Maybe this is what we could have now without bothering OE. It is better than the corrent code at the cost of another variable to user. I hope in the future we could get rid of the dependency to EFI_PROVIDER (e.g. bz10084).

Also refer to my comment for the document change at the below.

Quoted 55 lines
classes/rmc-boot.bbclass renamed from classes/rmc-systemd-boot.bbclass +1 -1
-inherit systemd-boot
+inherit ${RMC_BOOTLOADER}

do_bootimg[depends] += "${MLPREFIX}rmc-db:do_deploy"

conf/machine/include/meta-intel.inc +0 -0
index c7555ce..fd0a792 100644
@@ -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)}"
conf/machine/include/meta-intel.inc +1 -1
-EFI_PROVIDER ?= "rmc-systemd-boot"
+EFI_PROVIDER ?= "rmc-boot"

# Add general MACHINEOVERRIDE for meta-intel
MACHINEOVERRIDES =. "intel-x86-common:"

documentation/rmc/README +0 -0
index 2427ffd..dbee6b6 100644
@@ -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"

documentation/rmc/README +3 -1
-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

documentation/rmc/README steps still can override results from this hook for boot entries and KBOOTPARAM.

Quoted 4 lines
documentation/rmc/README +4 -0
+local.conf:
+
+EFI_PROVIDER = "systemd-boot"
+IMAGE_INSTALL_append = " rmc”

I think this use case could confuse for user without much benefit. And actually they still can set EFI_PROVIDER to any available efi bootloaders to get this effect as long as it is not “rmc-boot”, right?
Maybe we should just say “you won’t get rmc database deployed if you set EFI_PROVIDER to any values not rmc-boot."

Quoted 4 lines
Quoted 2 lines
Quoted 1 line

Yes, this can be another way to phrase this.

Is there going to be a v3 or is it sufficient as-is?

This is OK for now. I will reword the README after we add full RMC support to grub-efi.

Great, thanks. I will merge it shortly along with Ross' changes.

Quoted 15 lines
Quoted 15 lines

Thanks,
Cal

Quoted 12 lines
Quoted 12 lines
Quoted 12 lines

Examples

documentation/rmc/README +0 -0
@@ -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"

documentation/rmc/README +1 -1
-    EFI_PROVIDER = "rmc-systemd-boot"
+    EFI_PROVIDER = "rmc-boot"

(2) flash the image to a USB stick and boot it on your board