* [PATCH v3 1/2] wic: isoimage-isohybrid: add grubefi configfile support
@ 2016-04-21 10:10 Ioan-Adrian Ratiu
2016-04-21 10:10 ` [PATCH v3 2/2] wic: isoimage-isohybrid: fix splash file paths Ioan-Adrian Ratiu
2016-04-21 14:37 ` [PATCH v3 1/2] wic: isoimage-isohybrid: add grubefi configfile support Ed Bartosh
0 siblings, 2 replies; 3+ messages in thread
From: Ioan-Adrian Ratiu @ 2016-04-21 10:10 UTC (permalink / raw)
To: openembedded-core
The latest wic kickstart refactoring introduced a bootloader option
"--configfile" which lets wks' specify a custom grub.cfg for use
while booting. This is very useful for creating stuff like boot menus.
This change lets isoimage-isohybrid use --configfile; if this option is
not specified in a wks, it generates a default cfg as before.
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
---
.../lib/wic/plugins/source/isoimage-isohybrid.py | 53 +++++++++++++---------
1 file changed, 32 insertions(+), 21 deletions(-)
diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
index bc99283..8440581 100644
--- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
+++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
@@ -27,6 +27,7 @@ import glob
from wic import msger
from wic.pluginbase import SourcePlugin
+from wic.utils.misc import get_custom_config
from wic.utils.oe.misc import exec_cmd, exec_native_cmd, get_bitbake_var
class IsoImagePlugin(SourcePlugin):
@@ -94,33 +95,43 @@ class IsoImagePlugin(SourcePlugin):
"""
Create loader-specific (grub-efi) config
"""
- splash = os.path.join(cr_workdir, "/EFI/boot/splash.jpg")
- if os.path.exists(splash):
- splashline = "menu background splash.jpg"
+ configfile = creator.ks.bootloader.configfile
+ if configfile:
+ grubefi_conf = get_custom_config(configfile)
+ if grubefi_conf:
+ msger.debug("Using custom configuration file "
+ "%s for grub.cfg" % configfile)
+ else:
+ msger.error("configfile is specified but failed to "
+ "get it from %s." % configfile)
else:
- splashline = ""
+ splash = os.path.join(cr_workdir, "/EFI/boot/splash.jpg")
+ if os.path.exists(splash):
+ splashline = "menu background splash.jpg"
+ else:
+ splashline = ""
- bootloader = creator.ks.bootloader
+ bootloader = creator.ks.bootloader
- grubefi_conf = ""
- grubefi_conf += "serial --unit=0 --speed=115200 --word=8 "
- grubefi_conf += "--parity=no --stop=1\n"
- grubefi_conf += "default=boot\n"
- grubefi_conf += "timeout=%s\n" % (bootloader.timeout or 10)
- grubefi_conf += "\n"
- grubefi_conf += "search --set=root --label %s " % part.label
- grubefi_conf += "\n"
- grubefi_conf += "menuentry 'boot'{\n"
+ grubefi_conf = ""
+ grubefi_conf += "serial --unit=0 --speed=115200 --word=8 "
+ grubefi_conf += "--parity=no --stop=1\n"
+ grubefi_conf += "default=boot\n"
+ grubefi_conf += "timeout=%s\n" % (bootloader.timeout or 10)
+ grubefi_conf += "\n"
+ grubefi_conf += "search --set=root --label %s " % part.label
+ grubefi_conf += "\n"
+ grubefi_conf += "menuentry 'boot'{\n"
- kernel = "/bzImage"
+ kernel = "/bzImage"
- grubefi_conf += "linux %s rootwait %s\n" \
- % (kernel, bootloader.append)
- grubefi_conf += "initrd /initrd \n"
- grubefi_conf += "}\n"
+ grubefi_conf += "linux %s rootwait %s\n" \
+ % (kernel, bootloader.append)
+ grubefi_conf += "initrd /initrd \n"
+ grubefi_conf += "}\n"
- if splashline:
- grubefi_conf += "%s\n" % splashline
+ if splashline:
+ grubefi_conf += "%s\n" % splashline
msger.debug("Writing grubefi config %s/EFI/BOOT/grub.cfg" \
% cr_workdir)
--
2.8.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH v3 2/2] wic: isoimage-isohybrid: fix splash file paths
2016-04-21 10:10 [PATCH v3 1/2] wic: isoimage-isohybrid: add grubefi configfile support Ioan-Adrian Ratiu
@ 2016-04-21 10:10 ` Ioan-Adrian Ratiu
2016-04-21 14:37 ` [PATCH v3 1/2] wic: isoimage-isohybrid: add grubefi configfile support Ed Bartosh
1 sibling, 0 replies; 3+ messages in thread
From: Ioan-Adrian Ratiu @ 2016-04-21 10:10 UTC (permalink / raw)
To: openembedded-core
os.path.join discards the cr_workdir var contents if the path of the
second arguments is absolute.
Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
---
scripts/lib/wic/plugins/source/isoimage-isohybrid.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
index 8440581..ed59d85 100644
--- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
+++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
@@ -60,7 +60,7 @@ class IsoImagePlugin(SourcePlugin):
"""
Create loader-specific (syslinux) config
"""
- splash = os.path.join(cr_workdir, "/ISO/boot/splash.jpg")
+ splash = os.path.join(cr_workdir, "ISO/boot/splash.jpg")
if os.path.exists(splash):
splashline = "menu background splash.jpg"
else:
@@ -105,7 +105,7 @@ class IsoImagePlugin(SourcePlugin):
msger.error("configfile is specified but failed to "
"get it from %s." % configfile)
else:
- splash = os.path.join(cr_workdir, "/EFI/boot/splash.jpg")
+ splash = os.path.join(cr_workdir, "EFI/boot/splash.jpg")
if os.path.exists(splash):
splashline = "menu background splash.jpg"
else:
--
2.8.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v3 1/2] wic: isoimage-isohybrid: add grubefi configfile support
2016-04-21 10:10 [PATCH v3 1/2] wic: isoimage-isohybrid: add grubefi configfile support Ioan-Adrian Ratiu
2016-04-21 10:10 ` [PATCH v3 2/2] wic: isoimage-isohybrid: fix splash file paths Ioan-Adrian Ratiu
@ 2016-04-21 14:37 ` Ed Bartosh
1 sibling, 0 replies; 3+ messages in thread
From: Ed Bartosh @ 2016-04-21 14:37 UTC (permalink / raw)
To: Ioan-Adrian Ratiu; +Cc: openembedded-core
Hi Ioan-Adrian,
Great! Thank you!
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
On Thu, Apr 21, 2016 at 01:10:12PM +0300, Ioan-Adrian Ratiu wrote:
> The latest wic kickstart refactoring introduced a bootloader option
> "--configfile" which lets wks' specify a custom grub.cfg for use
> while booting. This is very useful for creating stuff like boot menus.
>
> This change lets isoimage-isohybrid use --configfile; if this option is
> not specified in a wks, it generates a default cfg as before.
>
> Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
> ---
> .../lib/wic/plugins/source/isoimage-isohybrid.py | 53 +++++++++++++---------
> 1 file changed, 32 insertions(+), 21 deletions(-)
>
> diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
> index bc99283..8440581 100644
> --- a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
> +++ b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
> @@ -27,6 +27,7 @@ import glob
>
> from wic import msger
> from wic.pluginbase import SourcePlugin
> +from wic.utils.misc import get_custom_config
> from wic.utils.oe.misc import exec_cmd, exec_native_cmd, get_bitbake_var
>
> class IsoImagePlugin(SourcePlugin):
> @@ -94,33 +95,43 @@ class IsoImagePlugin(SourcePlugin):
> """
> Create loader-specific (grub-efi) config
> """
> - splash = os.path.join(cr_workdir, "/EFI/boot/splash.jpg")
> - if os.path.exists(splash):
> - splashline = "menu background splash.jpg"
> + configfile = creator.ks.bootloader.configfile
> + if configfile:
> + grubefi_conf = get_custom_config(configfile)
> + if grubefi_conf:
> + msger.debug("Using custom configuration file "
> + "%s for grub.cfg" % configfile)
> + else:
> + msger.error("configfile is specified but failed to "
> + "get it from %s." % configfile)
> else:
> - splashline = ""
> + splash = os.path.join(cr_workdir, "/EFI/boot/splash.jpg")
> + if os.path.exists(splash):
> + splashline = "menu background splash.jpg"
> + else:
> + splashline = ""
>
> - bootloader = creator.ks.bootloader
> + bootloader = creator.ks.bootloader
>
> - grubefi_conf = ""
> - grubefi_conf += "serial --unit=0 --speed=115200 --word=8 "
> - grubefi_conf += "--parity=no --stop=1\n"
> - grubefi_conf += "default=boot\n"
> - grubefi_conf += "timeout=%s\n" % (bootloader.timeout or 10)
> - grubefi_conf += "\n"
> - grubefi_conf += "search --set=root --label %s " % part.label
> - grubefi_conf += "\n"
> - grubefi_conf += "menuentry 'boot'{\n"
> + grubefi_conf = ""
> + grubefi_conf += "serial --unit=0 --speed=115200 --word=8 "
> + grubefi_conf += "--parity=no --stop=1\n"
> + grubefi_conf += "default=boot\n"
> + grubefi_conf += "timeout=%s\n" % (bootloader.timeout or 10)
> + grubefi_conf += "\n"
> + grubefi_conf += "search --set=root --label %s " % part.label
> + grubefi_conf += "\n"
> + grubefi_conf += "menuentry 'boot'{\n"
>
> - kernel = "/bzImage"
> + kernel = "/bzImage"
>
> - grubefi_conf += "linux %s rootwait %s\n" \
> - % (kernel, bootloader.append)
> - grubefi_conf += "initrd /initrd \n"
> - grubefi_conf += "}\n"
> + grubefi_conf += "linux %s rootwait %s\n" \
> + % (kernel, bootloader.append)
> + grubefi_conf += "initrd /initrd \n"
> + grubefi_conf += "}\n"
>
> - if splashline:
> - grubefi_conf += "%s\n" % splashline
> + if splashline:
> + grubefi_conf += "%s\n" % splashline
>
> msger.debug("Writing grubefi config %s/EFI/BOOT/grub.cfg" \
> % cr_workdir)
> --
> 2.8.0
>
--
--
Regards,
Ed
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-04-21 16:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-21 10:10 [PATCH v3 1/2] wic: isoimage-isohybrid: add grubefi configfile support Ioan-Adrian Ratiu
2016-04-21 10:10 ` [PATCH v3 2/2] wic: isoimage-isohybrid: fix splash file paths Ioan-Adrian Ratiu
2016-04-21 14:37 ` [PATCH v3 1/2] wic: isoimage-isohybrid: add grubefi configfile support Ed Bartosh
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.