All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Wold, Saul" <saul.wold@intel.com>
To: "alejandro.hernandez@linux.intel.com"
	<alejandro.hernandez@linux.intel.com>,
	"openembedded-core@lists.openembedded.org"
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH v3 1/2] gummiboot: Remove/change gummiboot references with systemd-boot
Date: Fri, 16 Dec 2016 21:07:09 +0000	[thread overview]
Message-ID: <1481922428.12532.8.camel@intel.com> (raw)
In-Reply-To: <20161130180043.2242-1-alejandro.hernandez@linux.intel.com>


Ping!  Unfortunately this missed M1, but can we get it into M2 Early
please.

Thanks
  Sau!


On Wed, 2016-11-30 at 12:00 -0600, Alejandro Hernandez wrote:
> After systemd-boot was introduced, its been tested for a while with
> no major
> issues being found until now, this patch completely replaces all
> gummiboot
> instances with systemd-boot ones, taking the next step into cleaning
> up systemd-boot/gummiboot.
> 
> [YOCTO #10332]
> 
> Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.c
> om>
> ---
>  meta/classes/fs-uuid.bbclass                       |  2 +-
>  meta/classes/systemd-boot.bbclass                  |  4 +---
>  meta/conf/distro/include/distro_alias.inc          |  2 +-
>  meta/lib/oeqa/controllers/masterimage.py           |  4 ++--
>  meta/lib/oeqa/selftest/wic.py                      |  6 ++---
>  meta/recipes-bsp/systemd-boot/systemd-boot.bb      |  2 +-
>  .../initrdscripts/files/init-install-efi-testfs.sh | 12 +++++-----
>  .../initrdscripts/files/init-install-efi.sh        | 12 +++++-----
>  scripts/contrib/mkefidisk.sh                       | 26 +++++++++++-
> ----------
>  scripts/lib/wic/plugins/source/bootimg-efi.py      | 22 +++++++++---
> ------
>  10 files changed, 44 insertions(+), 48 deletions(-)
> 
> diff --git a/meta/classes/fs-uuid.bbclass b/meta/classes/fs-
> uuid.bbclass
> index bd2613c..1d5d0c3 100644
> --- a/meta/classes/fs-uuid.bbclass
> +++ b/meta/classes/fs-uuid.bbclass
> @@ -13,7 +13,7 @@ def get_rootfs_uuid(d):
>      bb.fatal('Could not determine filesystem UUID of %s' % rootfs)
>  
>  # Replace the special <<uuid-of-rootfs>> inside a string (like the
> -# root= APPEND string in a syslinux.cfg or gummiboot entry) with the
> +# root= APPEND string in a syslinux.cfg or systemd-boot entry) with
> the
>  # actual UUID of the rootfs. Does nothing if the special string
>  # is not used.
>  def replace_rootfs_uuid(d, string):
> diff --git a/meta/classes/systemd-boot.bbclass
> b/meta/classes/systemd-boot.bbclass
> index 05244c7..3398218 100644
> --- a/meta/classes/systemd-boot.bbclass
> +++ b/meta/classes/systemd-boot.bbclass
> @@ -4,9 +4,7 @@
>  
>  # systemd-boot.bbclass - The "systemd-boot" is essentially the
> gummiboot merged into systemd.
>  #                        The original standalone gummiboot project
> is dead without any more
> -#                        maintenance. As a start point, we replace
> all gummitboot occurrences
> -#                        with systemd-boot in gummiboot.bbclass to
> have a base version of this
> -#                        systemd-boot.bbclass.
> +#                        maintenance.
>  #
>  # Set EFI_PROVIDER = "systemd-boot" to use systemd-boot on your live
> images instead of grub-efi
>  # (images built by image-live.bbclass or image-vm.bbclass)
> diff --git a/meta/conf/distro/include/distro_alias.inc
> b/meta/conf/distro/include/distro_alias.inc
> index 10efb09..9c82854 100644
> --- a/meta/conf/distro/include/distro_alias.inc
> +++ b/meta/conf/distro/include/distro_alias.inc
> @@ -135,7 +135,7 @@ DISTRO_PN_ALIAS_pn-gtk-doc = "Fedora=gtk-doc
> Ubuntu=gtk-doc"
>  DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-
> engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-
> engines"
>  DISTRO_PN_ALIAS_pn-gtk-sato-engine = "OpenedHand"
>  DISTRO_PN_ALIAS_pn-gtk-icon-utils-native = "OSPDT"
> -DISTRO_PN_ALIAS_pn-gummiboot = "Debian=gummiboot Fedora=gummiboot"
> +DISTRO_PN_ALIAS_pn-systemd-boot = "Ubuntu=systemd-boot
> Fedora=systemd-boot"
>  DISTRO_PN_ALIAS_pn-hello-mod = "OE-Core"
>  DISTRO_PN_ALIAS_pn-hostap-conf = "OE-Core"
>  DISTRO_PN_ALIAS_pn-hwlatdetect = "OSPDT"
> diff --git a/meta/lib/oeqa/controllers/masterimage.py
> b/meta/lib/oeqa/controllers/masterimage.py
> index 9ce3bf8..7fcbb6d 100644
> --- a/meta/lib/oeqa/controllers/masterimage.py
> +++ b/meta/lib/oeqa/controllers/masterimage.py
> @@ -159,10 +159,10 @@ class
> MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget,
> metaclass=ABCMeta
>          self.power_cycle(self.connection)
>  
>  
> -class GummibootTarget(MasterImageHardwareTarget):
> +class SystemdbootTarget(MasterImageHardwareTarget):
>  
>      def __init__(self, d):
> -        super(GummibootTarget, self).__init__(d)
> +        super(SystemdbootTarget, self).__init__(d)
>          # this the value we need to set in the LoaderEntryOneShot
> EFI variable
>          # so the system boots the 'test' bootloader label and not
> the default
>          # The first four bytes are EFI bits, and the rest is an utf-
> 16le string
> diff --git a/meta/lib/oeqa/selftest/wic.py
> b/meta/lib/oeqa/selftest/wic.py
> index faac11e..61081cc 100644
> --- a/meta/lib/oeqa/selftest/wic.py
> +++ b/meta/lib/oeqa/selftest/wic.py
> @@ -243,9 +243,9 @@ class Wic(oeSelfTest):
>          self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" %
> image)))
>  
>      @testcase(1349)
> -    def test_mkgummidisk(self):
> -        """Test creation of mkgummidisk image"""
> -        image = "mkgummidisk"
> +    def test_systemd-bootdisk(self):
> +        """Test creation of systemd-bootdisk image"""
> +        image = "systemd-bootdisk"
>          self.assertEqual(0, runCmd("wic create %s -e core-image-
> minimal" \
>                                     % image).status)
>          self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" %
> image)))
> diff --git a/meta/recipes-bsp/systemd-boot/systemd-boot.bb
> b/meta/recipes-bsp/systemd-boot/systemd-boot.bb
> index 7036664..602052c 100644
> --- a/meta/recipes-bsp/systemd-boot/systemd-boot.bb
> +++ b/meta/recipes-bsp/systemd-boot/systemd-boot.bb
> @@ -15,7 +15,7 @@ EXTRA_OECONF = " --enable-gnuefi \
>                   --disable-manpages \
>                 "
>  
> -# Imported from gummiboot recipe
> +# Imported from the old gummiboot recipe
>  TUNE_CCARGS_remove = "-mfpmath=sse"
>  COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
>  
> diff --git a/meta/recipes-core/initrdscripts/files/init-install-efi-
> testfs.sh b/meta/recipes-core/initrdscripts/files/init-install-efi-
> testfs.sh
> index b562109..9c4b263 100644
> --- a/meta/recipes-core/initrdscripts/files/init-install-efi-
> testfs.sh
> +++ b/meta/recipes-core/initrdscripts/files/init-install-efi-
> testfs.sh
> @@ -171,19 +171,19 @@ if [ -f /run/media/$1/EFI/BOOT/grub.cfg ]; then
>  fi
>  
>  if [ -d /run/media/$1/loader ]; then
> -    GUMMIBOOT_CFGS="/ssd/loader/entries/*.conf"
> -    # copy config files for gummiboot
> +    SYSTEMDBOOT_CFGS="/ssd/loader/entries/*.conf"
> +    # copy config files for systemd-boot
>      cp -dr /run/media/$1/loader /ssd
>      # delete the install entry
>      rm -f /ssd/loader/entries/install.conf
>      # delete the initrd lines
> -    sed -i "/initrd /d" $GUMMIBOOT_CFGS
> +    sed -i "/initrd /d" $SYSTEMDBOOT_CFGS
>      # delete any LABEL= strings
> -    sed -i "s/ LABEL=[^ ]*/ /" $GUMMIBOOT_CFGS
> +    sed -i "s/ LABEL=[^ ]*/ /" $SYSTEMDBOOT_CFGS
>      # delete any root= strings
> -    sed -i "s/ root=[^ ]*/ /" $GUMMIBOOT_CFGS
> +    sed -i "s/ root=[^ ]*/ /" $SYSTEMDBOOT_CFGS
>      # add the root= and other standard boot options
> -    sed -i "s@options *@options root=$rootfs rw $rootwait quiet @"
> $GUMMIBOOT_CFGS
> +    sed -i "s@options *@options root=$rootfs rw $rootwait quiet @"
> $SYSTEMDBOOT_CFGS
>      # Add the test label
>      echo -ne "title test\nlinux /test-kernel\noptions root=$testfs
> rw $rootwait quiet\n" > /ssd/loader/entries/test.conf
>  fi
> diff --git a/meta/recipes-core/initrdscripts/files/init-install-
> efi.sh b/meta/recipes-core/initrdscripts/files/init-install-efi.sh
> index ffb709c..5ad3a60 100644
> --- a/meta/recipes-core/initrdscripts/files/init-install-efi.sh
> +++ b/meta/recipes-core/initrdscripts/files/init-install-efi.sh
> @@ -245,19 +245,19 @@ fi
>  
>  if [ -d /run/media/$1/loader ]; then
>      rootuuid=$(blkid -o value -s PARTUUID ${rootfs})
> -    GUMMIBOOT_CFGS="/boot/loader/entries/*.conf"
> -    # copy config files for gummiboot
> +    SYSTEMDBOOT_CFGS="/boot/loader/entries/*.conf"
> +    # copy config files for systemd-boot
>      cp -dr /run/media/$1/loader /boot
>      # delete the install entry
>      rm -f /boot/loader/entries/install.conf
>      # delete the initrd lines
> -    sed -i "/initrd /d" $GUMMIBOOT_CFGS
> +    sed -i "/initrd /d" $SYSTEMDBOOT_CFGS
>      # delete any LABEL= strings
> -    sed -i "s/ LABEL=[^ ]*/ /" $GUMMIBOOT_CFGS
> +    sed -i "s/ LABEL=[^ ]*/ /" $SYSTEMDBOOT_CFGS
>      # delete any root= strings
> -    sed -i "s/ root=[^ ]*/ /" $GUMMIBOOT_CFGS
> +    sed -i "s/ root=[^ ]*/ /" $SYSTEMDBOOT_CFGS
>      # add the root= and other standard boot options
> -    sed -i "s@options *@options root=PARTUUID=$rootuuid rw $rootwait
> quiet @" $GUMMIBOOT_CFGS
> +    sed -i "s@options *@options root=PARTUUID=$rootuuid rw $rootwait
> quiet @" $SYSTEMDBOOT_CFGS
>  fi
>  
>  umount /tgt_root
> diff --git a/scripts/contrib/mkefidisk.sh
> b/scripts/contrib/mkefidisk.sh
> index a175895..800733f 100755
> --- a/scripts/contrib/mkefidisk.sh
> +++ b/scripts/contrib/mkefidisk.sh
> @@ -384,7 +384,7 @@ EFIDIR="$BOOTFS_MNT/EFI/BOOT"
>  cp $HDDIMG_MNT/vmlinuz $BOOTFS_MNT >$OUT 2>&1 || error "Failed to
> copy vmlinuz"
>  # Copy the efi loader and configs (booti*.efi and grub.cfg if it
> exists)
>  cp -r $HDDIMG_MNT/EFI $BOOTFS_MNT >$OUT 2>&1 || error "Failed to
> copy EFI dir"
> -# Silently ignore a missing gummiboot loader dir (we might just be a
> GRUB image)
> +# Silently ignore a missing systemd-boot loader dir (we might just
> be a GRUB image)
>  cp -r $HDDIMG_MNT/loader $BOOTFS_MNT >$OUT 2>&1
>  
>  # Update the boot loaders configurations for an installed image
> @@ -410,25 +410,25 @@ if [ -e "$GRUB_CFG" ]; then
>  	sed -i "s@vmlinuz @vmlinuz root=$TARGET_ROOTFS ro rootwait
> console=ttyS0 console=tty0 @" $GRUB_CFG
>  fi
>  
> -# Look for a gummiboot installation
> -GUMMI_ENTRIES="$BOOTFS_MNT/loader/entries"
> -GUMMI_CFG="$GUMMI_ENTRIES/boot.conf"
> -if [ -d "$GUMMI_ENTRIES" ]; then
> -	info "Configuring Gummiboot"
> +# Look for a systemd-boot installation
> +SYSTEMD_BOOT_ENTRIES="$BOOTFS_MNT/loader/entries"
> +SYSTEMD_BOOT_CFG="$SYSTEMD_BOOT_ENTRIES/boot.conf"
> +if [ -d "$SYSTEMD_BOOT_ENTRIES" ]; then
> +	info "Configuring SystemD-boot"
>  	# remove the install target if it exists
> -	rm $GUMMI_ENTRIES/install.conf >$OUT 2>&1
> +	rm $SYSTEMD_BOOT_ENTRIES/install.conf >$OUT 2>&1
>  
> -	if [ ! -e "$GUMMI_CFG" ]; then
> -		echo "ERROR: $GUMMI_CFG not found"
> +	if [ ! -e "$SYSTEMD_BOOT_CFG" ]; then
> +		echo "ERROR: $SYSTEMD_BOOT_CFG not found"
>  	fi
>  
> -	sed -i "/initrd /d" $GUMMI_CFG
> -	sed -i "s@ root=[^ ]*@ @" $GUMMI_CFG
> -	sed -i "s@options *LABEL=boot @options LABEL=Boot
> root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @"
> $GUMMI_CFG
> +	sed -i "/initrd /d" $SYSTEMD_BOOT_CFG
> +	sed -i "s@ root=[^ ]*@ @" $SYSTEMD_BOOT_CFG
> +	sed -i "s@options *LABEL=boot @options LABEL=Boot
> root=$TARGET_ROOTFS ro rootwait console=ttyS0 console=tty0 @"
> $SYSTEMD_BOOT_CFG
>  fi
>  
>  # Ensure we have at least one EFI bootloader configured
> -if [ ! -e $GRUB_CFG ] && [ ! -e $GUMMI_CFG ]; then
> +if [ ! -e $GRUB_CFG ] && [ ! -e $SYSTEMD_BOOT_CFG ]; then
>  	die "No EFI bootloader configuration found"
>  fi
>  
> diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py
> b/scripts/lib/wic/plugins/source/bootimg-efi.py
> index 4adb80b..305e910 100644
> --- a/scripts/lib/wic/plugins/source/bootimg-efi.py
> +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py
> @@ -36,7 +36,7 @@ from wic.utils.oe.misc import exec_cmd,
> exec_native_cmd, get_bitbake_var, \
>  class BootimgEFIPlugin(SourcePlugin):
>      """
>      Create EFI boot partition.
> -    This plugin supports GRUB 2 and gummiboot bootloaders.
> +    This plugin supports GRUB 2 and systemd-boot bootloaders.
>      """
>  
>      name = 'bootimg-efi'
> @@ -82,7 +82,7 @@ class BootimgEFIPlugin(SourcePlugin):
>          cfg.close()
>  
>      @classmethod
> -    def do_configure_gummiboot(cls, hdddir, creator, cr_workdir):
> +    def do_configure_systemdboot(cls, hdddir, creator, cr_workdir):
>          """
>          Create loader-specific systemd-boot/gummiboot config
>          """
> @@ -98,7 +98,7 @@ class BootimgEFIPlugin(SourcePlugin):
>          loader_conf += "default boot\n"
>          loader_conf += "timeout %d\n" % bootloader.timeout
>  
> -        msger.debug("Writing gummiboot config
> %s/hdd/boot/loader/loader.conf" \
> +        msger.debug("Writing systemd-boot config
> %s/hdd/boot/loader/loader.conf" \
>                          % cr_workdir)
>          cfg = open("%s/hdd/boot/loader/loader.conf" % cr_workdir,
> "w")
>          cfg.write(loader_conf)
> @@ -109,16 +109,16 @@ class BootimgEFIPlugin(SourcePlugin):
>          if configfile:
>              custom_cfg = get_custom_config(configfile)
>              if custom_cfg:
> -                # Use a custom configuration for gummiboot
> +                # Use a custom configuration for systemd-boot
>                  boot_conf = custom_cfg
>                  msger.debug("Using custom configuration file "
> -                        "%s for gummiboots's boot.conf" %
> configfile)
> +                        "%s for systemd-boots's boot.conf" %
> configfile)
>              else:
>                  msger.error("configfile is specified but failed to "
>                          "get it from %s." % configfile)
>  
>          if not custom_cfg:
> -            # Create gummiboot configuration using parameters from
> wks file
> +            # Create systemd-boot configuration using parameters
> from wks file
>              kernel = "/bzImage"
>  
>              boot_conf = ""
> @@ -127,7 +127,7 @@ class BootimgEFIPlugin(SourcePlugin):
>              boot_conf += "options LABEL=Boot root=%s %s\n" % \
>                               (creator.rootdev, bootloader.append)
>  
> -        msger.debug("Writing gummiboot config
> %s/hdd/boot/loader/entries/boot.conf" \
> +        msger.debug("Writing systemd-boot config
> %s/hdd/boot/loader/entries/boot.conf" \
>                          % cr_workdir)
>          cfg = open("%s/hdd/boot/loader/entries/boot.conf" %
> cr_workdir, "w")
>          cfg.write(boot_conf)
> @@ -149,9 +149,8 @@ class BootimgEFIPlugin(SourcePlugin):
>          try:
>              if source_params['loader'] == 'grub-efi':
>                  cls.do_configure_grubefi(hdddir, creator,
> cr_workdir)
> -            elif source_params['loader'] == 'gummiboot' \
> -                 or source_params['loader'] == 'systemd-boot':
> -                cls.do_configure_gummiboot(hdddir, creator,
> cr_workdir)
> +            elif source_params['loader'] == 'systemd-boot':
> +                cls.do_configure_systemdboot(hdddir, creator,
> cr_workdir)
>              else:
>                  msger.error("unrecognized bootimg-efi loader: %s" %
> source_params['loader'])
>          except KeyError:
> @@ -190,8 +189,7 @@ class BootimgEFIPlugin(SourcePlugin):
>                  exec_cmd(cp_cmd, True)
>                  shutil.move("%s/grub.cfg" % cr_workdir,
>                              "%s/hdd/boot/EFI/BOOT/grub.cfg" %
> cr_workdir)
> -            elif source_params['loader'] == 'gummiboot' \
> -                 or source_params['loader'] == 'systemd-boot':
> +            elif source_params['loader'] == 'systemd-boot':
>                  cp_cmd = "cp %s/EFI/BOOT/* %s/EFI/BOOT" %
> (bootimg_dir, hdddir)
>                  exec_cmd(cp_cmd, True)
>              else:
> -- 
> 2.10.1
> 

      parent reply	other threads:[~2016-12-16 21:07 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-30 18:00 [PATCH v3 1/2] gummiboot: Remove/change gummiboot references with systemd-boot Alejandro Hernandez
2016-11-30 18:00 ` [PATCH v3 2/2] gummiboot: Remove old gummiboot recipe, related class and wks file Alejandro Hernandez
2016-12-16 21:07 ` Wold, Saul [this message]

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=1481922428.12532.8.camel@intel.com \
    --to=saul.wold@intel.com \
    --cc=alejandro.hernandez@linux.intel.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.