On Thu, 21 Apr 2016 10:03:31 +0300 Ed Bartosh <ed.bart...@linux.intel.com> wrote:
> On Wed, Apr 20, 2016 at 06:08:38PM +0300, Ioan-Adrian Ratiu wrote: > > I forgot to mention this is v2... sorry. > > > > On Wed, 20 Apr 2016 18:06:15 +0300 > > Ioan-Adrian Ratiu <adrian.ra...@ni.com> 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.ra...@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") > I know, it's not your code, but it looks like the result path(splash > variable) will not include workdir. Look: > > In [2]: os.path.join('/path/to/workdir', '/EFI/boot/splash.jpg') > Out[2]: '/EFI/boot/splash.jpg' > > In [3]: os.path.join('/path/to/workdir/', '/EFI/boot/splash.jpg') > Out[3]: '/EFI/boot/splash.jpg' > > It works this way: > In [4]: os.path.join('/path/to/workdir/', 'EFI/boot/splash.jpg') > Out[4]: '/path/to/workdir/EFI/boot/splash.jpg' > Thanks for spotting this. I'll send another patch to fix it. Ioan > > > + 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) > > > > -- > > _______________________________________________ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core