]> code.ossystems Code Review - openembedded-core.git/commitdiff
grub-efi-cfg: enable per-label APPEND override
authorRich Persaud <rp@stacktrust.org>
Mon, 9 Mar 2020 22:44:57 +0000 (18:44 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 11 Mar 2020 11:44:12 +0000 (11:44 +0000)
For legacy bios boot configurations, syslinux supports multiple
labels with per-label APPEND definitions.  grub-efi-cfg supports
multiple labels, but only a single APPEND definition.

Enable optional per-label APPEND definitions for grub EFI, with
variable names prefixed by "grub_" to isolate grub definitions from
syslinux defintions.

Example use from an ISO image recipe that inherits grub-efi-cfg:

 LABELS_LIVE="foo bar"
 APPEND_grub_foo = "linuxcmdline"

No change in behavior for those using APPEND without overrides.

Signed-off-by: Rich Persaud <rp@stacktrust.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/grub-efi-cfg.bbclass

index 8b5ff20c72c00c2ee3621ad787ee571c42d36af2..3a2cdd698beb955a5f0bbe1bde5b6f8ee30e5883 100644 (file)
@@ -88,6 +88,12 @@ python build_efi_cfg() {
     for label in labels.split():
         localdata = d.createCopy()
 
+        overrides = localdata.getVar('OVERRIDES')
+        if not overrides:
+            bb.fatal('OVERRIDES not defined')
+
+        localdata.setVar('OVERRIDES', 'grub_' + label + ':' + overrides)
+
         for btype in btypes:
             cfgfile.write('\nmenuentry \'%s%s\'{\n' % (label, btype[0]))
             lb = label