All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ed Bartosh <ed.bartosh@linux.intel.com>
To: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] wic: isoimage-isohybrid: add grubefi configfile support
Date: Wed, 20 Apr 2016 11:16:23 +0300	[thread overview]
Message-ID: <20160420081623.GA15596@linux.intel.com> (raw)
In-Reply-To: <1461143852-2263-1-git-send-email-adrian.ratiu@ni.com>

Hi Ioan-Adrian,

Thank you for the patch! My comment is below.
Please, make sure your change doesn't break wic tests.

On Wed, Apr 20, 2016 at 12:17:32PM +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   | 59 ++++++++++++++--------
>  1 file changed, 37 insertions(+), 22 deletions(-)
> 
> diff --git a/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/scripts/lib/wic/plugins/source/isoimage-isohybrid.py
> index bc99283..37d2fc2 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,47 @@ 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"
> -        else:
> -            splashline = ""
> +        configfile = creator.ks.bootloader.configfile
> +        custom_cfg = None
> +        if configfile:
> +            custom_cfg = get_custom_config(configfile)
> +            if custom_cfg:
> +                # Use a custom configuration for grub
> +                grubefi_conf = custom_cfg
> +                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)
>  
> -        bootloader = creator.ks.bootloader
> +        if not custom_cfg:
Looks like you don't need custom_cfg variable here. This code can be put
into 'else' scope of 'if configfile' statement.
> +            splash = os.path.join(cr_workdir, "/EFI/boot/splash.jpg")
> +            if os.path.exists(splash):
> +                splashline = "menu background splash.jpg"
> +            else:
> +                splashline = ""
>
> -        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"
> +            bootloader = creator.ks.bootloader
>  
> -        kernel = "/bzImage"
> +            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 += "linux %s rootwait %s\n" \
> -            % (kernel, bootloader.append)
> -        grubefi_conf += "initrd /initrd \n"
> -        grubefi_conf += "}\n"
> +            kernel = "/bzImage"
>  
> -        if splashline:
> -            grubefi_conf += "%s\n" % splashline
> +            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
>  
>          msger.debug("Writing grubefi config %s/EFI/BOOT/grub.cfg" \
>                          % cr_workdir)

--
Regards,
Ed


  reply	other threads:[~2016-04-20 10:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-20  9:17 [PATCH] wic: isoimage-isohybrid: add grubefi configfile support Ioan-Adrian Ratiu
2016-04-20  8:16 ` Ed Bartosh [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-04-20 15:06 Ioan-Adrian Ratiu
2016-04-20 15:08 ` Ioan-Adrian Ratiu
2016-04-21  7:03   ` Ed Bartosh
2016-04-21  9:42     ` Ioan-Adrian Ratiu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160420081623.GA15596@linux.intel.com \
    --to=ed.bartosh@linux.intel.com \
    --cc=adrian.ratiu@ni.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.