public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH 1/2] meta-isar: wic: Temporarily reset forked wic files to where we forked
@ 2018-05-04  9:09 Henning Schild
  2018-05-04  9:09 ` [PATCH 2/2] Revert "meta-isar: wic: Temporarily reset forked wic files to where we forked" Henning Schild
  2018-05-04 13:54 ` [PATCH 1/2] meta-isar: wic: Temporarily reset forked wic files to where we forked Alexander Smirnov
  0 siblings, 2 replies; 5+ messages in thread
From: Henning Schild @ 2018-05-04  9:09 UTC (permalink / raw)
  To: isar-users; +Cc: Alexander Smirnov, Henning Schild

Issue: When looking at what we changed in the plugins we could have a
hard time spotting Isar-specific changes, especially when updating wic
some day.

This patch resets the forked files to be exact copies of our current wic
version. This commit breaks wic support in Isar and should only be used
with the following revert. Its only purpose is to hopefully make life
easier in the future.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
---
 .../scripts/lib/wic/canned-wks/common-isar.wks.inc |  2 +-
 .../scripts/lib/wic/canned-wks/directdisk-isar.wks |  3 +-
 .../scripts/lib/wic/canned-wks/sdimage-efi.wks     | 10 +--
 .../lib/wic/plugins/source/bootimg-efi-isar.py     | 76 +++++-----------------
 .../lib/wic/plugins/source/bootimg-pcbios-isar.py  | 35 +++++-----
 5 files changed, 42 insertions(+), 84 deletions(-)

diff --git a/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc b/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc
index c8ea4c2..5cf2fd1 100644
--- a/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc
+++ b/meta-isar/scripts/lib/wic/canned-wks/common-isar.wks.inc
@@ -1,3 +1,3 @@
 # This file is included into 3 canned wks files from this directory
-part /boot --source bootimg-pcbios-isar --ondisk sda --label boot --active --align 1024
+part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024
 part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024
diff --git a/meta-isar/scripts/lib/wic/canned-wks/directdisk-isar.wks b/meta-isar/scripts/lib/wic/canned-wks/directdisk-isar.wks
index 2b9576d..8c8e06b 100644
--- a/meta-isar/scripts/lib/wic/canned-wks/directdisk-isar.wks
+++ b/meta-isar/scripts/lib/wic/canned-wks/directdisk-isar.wks
@@ -2,6 +2,7 @@
 # long-description: Creates a partitioned legacy BIOS disk image that the user
 # can directly dd to boot media.
 
-include common-isar.wks.inc
+include common.wks.inc
 
 bootloader  --timeout=0  --append="rootwait rootfstype=ext4 video=vesafb vga=0x318 console=tty0 console=ttyS0,115200n8"
+
diff --git a/meta-isar/scripts/lib/wic/canned-wks/sdimage-efi.wks b/meta-isar/scripts/lib/wic/canned-wks/sdimage-efi.wks
index 580ad21..9f534fe 100644
--- a/meta-isar/scripts/lib/wic/canned-wks/sdimage-efi.wks
+++ b/meta-isar/scripts/lib/wic/canned-wks/sdimage-efi.wks
@@ -1,9 +1,11 @@
-# short-description: Create an EFI disk image without any swap
-# long-description: Creates a partitioned EFI disk image without any swap that
-# the user can directly dd to boot media.
+# short-description: Create an EFI disk image
+# long-description: Creates a partitioned EFI disk image that the user
+# can directly dd to boot media.
 
-part /boot --source bootimg-efi-isar --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024
+part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024
 
 part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid
 
+part swap --ondisk sda --size 44 --label swap1 --fstype=swap
+
 bootloader --ptable gpt --timeout=5 --append="rootfstype=ext4 console=ttyS0,115200 console=tty0"
diff --git a/meta-isar/scripts/lib/wic/plugins/source/bootimg-efi-isar.py b/meta-isar/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
index fccf96c..9879cb9 100644
--- a/meta-isar/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
+++ b/meta-isar/scripts/lib/wic/plugins/source/bootimg-efi-isar.py
@@ -18,7 +18,7 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 # DESCRIPTION
-# This implements the 'bootimg-efi-isar' source plugin class for 'wic'
+# This implements the 'bootimg-efi' source plugin class for 'wic'
 #
 # AUTHORS
 # Tom Zanussi <tom.zanussi (at] linux.intel.com>
@@ -31,7 +31,8 @@ import shutil
 from wic import WicError
 from wic.engine import get_custom_config
 from wic.pluginbase import SourcePlugin
-from wic.utils.misc import (exec_cmd, get_bitbake_var, BOOTDD_EXTRA_SPACE)
+from wic.utils.misc import (exec_cmd, exec_native_cmd, get_bitbake_var,
+                            BOOTDD_EXTRA_SPACE)
 
 logger = logging.getLogger('wic')
 
@@ -41,7 +42,7 @@ class BootimgEFIPlugin(SourcePlugin):
     This plugin supports GRUB 2 and systemd-boot bootloaders.
     """
 
-    name = 'bootimg-efi-isar'
+    name = 'bootimg-efi'
 
     @classmethod
     def do_configure_grubefi(cls, creator, cr_workdir):
@@ -69,18 +70,12 @@ class BootimgEFIPlugin(SourcePlugin):
             grubefi_conf += "serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1\n"
             grubefi_conf += "default=boot\n"
             grubefi_conf += "timeout=%s\n" % bootloader.timeout
-            grubefi_conf += "set root='hd0,gpt2'\n"
             grubefi_conf += "menuentry 'boot'{\n"
 
-            kernel = "/vmlinuz"
+            kernel = "/bzImage"
 
             grubefi_conf += "linux %s root=%s rootwait %s\n" \
-                            % (kernel, creator.rootdev, bootloader.append)
-
-            initrd = "/initrd.img"
-
-            grubefi_conf += "initrd %s\n" % initrd
-
+                % (kernel, creator.rootdev, bootloader.append)
             grubefi_conf += "}\n"
 
         logger.debug("Writing grubefi config %s/hdd/boot/EFI/BOOT/grub.cfg",
@@ -89,12 +84,6 @@ class BootimgEFIPlugin(SourcePlugin):
         cfg.write(grubefi_conf)
         cfg.close()
 
-        cfg = open("%s/hdd/boot/EFI/BOOT/grub-mkimage.cfg" % cr_workdir, "w")
-        mkimage_conf = "set root='hd0,gpt1'\n"
-        mkimage_conf += "set prefix=($root)/EFI/BOOT\n"
-        cfg.write(mkimage_conf)
-        cfg.close()
-
     @classmethod
     def do_configure_systemdboot(cls, hdddir, creator, cr_workdir, source_params):
         """
@@ -146,7 +135,7 @@ class BootimgEFIPlugin(SourcePlugin):
 
         if not custom_cfg:
             # Create systemd-boot configuration using parameters from wks file
-            kernel = "/vmlinuz"
+            kernel = "/bzImage"
 
             boot_conf = ""
             boot_conf += "title boot\n"
@@ -182,9 +171,9 @@ class BootimgEFIPlugin(SourcePlugin):
             elif source_params['loader'] == 'systemd-boot':
                 cls.do_configure_systemdboot(hdddir, creator, cr_workdir, source_params)
             else:
-                raise WicError("unrecognized bootimg-efi-isar loader: %s" % source_params['loader'])
+                raise WicError("unrecognized bootimg-efi loader: %s" % source_params['loader'])
         except KeyError:
-            raise WicError("bootimg-efi-isar requires a loader, none specified")
+            raise WicError("bootimg-efi requires a loader, none specified")
 
 
     @classmethod
@@ -205,58 +194,29 @@ class BootimgEFIPlugin(SourcePlugin):
 
         hdddir = "%s/hdd/boot" % cr_workdir
 
+        install_cmd = "install -m 0644 %s/bzImage %s/bzImage" % \
+            (staging_kernel_dir, hdddir)
+        exec_cmd(install_cmd)
+
+
         try:
             if source_params['loader'] == 'grub-efi':
                 shutil.copyfile("%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir,
                                 "%s/grub.cfg" % cr_workdir)
-                shutil.copyfile("%s/hdd/boot/EFI/BOOT/grub-mkimage.cfg" % cr_workdir,
-                                "%s/grub-mkimage.cfg" % cr_workdir)
                 for mod in [x for x in os.listdir(kernel_dir) if x.startswith("grub-efi-")]:
                     cp_cmd = "cp %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, mod[9:])
                     exec_cmd(cp_cmd, True)
                 shutil.move("%s/grub.cfg" % cr_workdir,
                             "%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir)
-
-                distro_arch = get_bitbake_var("DISTRO_ARCH")
-                if not distro_arch:
-                    raise WicError("Couldn't find target architecture")
-
-                if distro_arch == "amd64":
-                    grub_target = 'x86_64-efi'
-                    grub_image = "bootx64.efi"
-                elif distro_arch == "i386":
-                    grub_target = 'i386-efi'
-                    grub_image = "bootia32.efi"
-                else:
-                    raise WicError("grub-efi is incompatible with target %s" %
-                                   distro_arch)
-
-                bootimg_dir = "%s/hdd/boot" % cr_workdir
-                if not os.path.isfile("%s/EFI/BOOT/%s" \
-                                      % (bootimg_dir, grub_image)):
-
-                    # TODO: check that grub-mkimage is available
-                    grub_cmd = "grub-mkimage -p /EFI/BOOT "
-                    grub_cmd += "-c %s/grub-mkimage.cfg " % cr_workdir
-                    grub_cmd += "-O %s -o %s/EFI/BOOT/%s " \
-                                % (grub_target, bootimg_dir, grub_image)
-                    grub_cmd += "part_gpt part_msdos ntfs ntfscomp fat ext2 "
-                    grub_cmd += "normal chain boot configfile linux multiboot "
-                    grub_cmd += "search efi_gop efi_uga font gfxterm gfxmenu "
-                    grub_cmd += "terminal minicmd test iorw loadenv echo help "
-                    grub_cmd += "reboot serial terminfo iso9660 loopback tar "
-                    grub_cmd += "memdisk ls search_fs_uuid udf btrfs xfs lvm "
-                    grub_cmd += "reiserfs ata "
-                    exec_cmd(grub_cmd)
             elif source_params['loader'] == 'systemd-boot':
                 for mod in [x for x in os.listdir(kernel_dir) if x.startswith("systemd-")]:
                     cp_cmd = "cp %s/%s %s/EFI/BOOT/%s" % (kernel_dir, mod, hdddir, mod[8:])
                     exec_cmd(cp_cmd, True)
             else:
-                raise WicError("unrecognized bootimg-efi-isar loader: %s" %
+                raise WicError("unrecognized bootimg-efi loader: %s" %
                                source_params['loader'])
         except KeyError:
-            raise WicError("bootimg-efi-isar requires a loader, none specified")
+            raise WicError("bootimg-efi requires a loader, none specified")
 
         startup = os.path.join(kernel_dir, "startup.nsh")
         if os.path.exists(startup):
@@ -281,10 +241,10 @@ class BootimgEFIPlugin(SourcePlugin):
         bootimg = "%s/boot.img" % cr_workdir
 
         dosfs_cmd = "mkdosfs -n efi -C %s %d" % (bootimg, blocks)
-        exec_cmd(dosfs_cmd)
+        exec_native_cmd(dosfs_cmd, native_sysroot)
 
         mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (bootimg, hdddir)
-        exec_cmd(mcopy_cmd, True)
+        exec_native_cmd(mcopy_cmd, native_sysroot)
 
         chmod_cmd = "chmod 644 %s" % bootimg
         exec_cmd(chmod_cmd)
diff --git a/meta-isar/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py b/meta-isar/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py
index 0423862..11db304 100644
--- a/meta-isar/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py
+++ b/meta-isar/scripts/lib/wic/plugins/source/bootimg-pcbios-isar.py
@@ -18,7 +18,7 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 #
 # DESCRIPTION
-# This implements the 'bootimg-pcbios-isar' source plugin class for 'wic'
+# This implements the 'bootimg-pcbios' source plugin class for 'wic'
 #
 # AUTHORS
 # Tom Zanussi <tom.zanussi (at] linux.intel.com>
@@ -36,12 +36,12 @@ from wic.utils.misc import (exec_cmd, exec_native_cmd,
 
 logger = logging.getLogger('wic')
 
-class BootimgPcbiosIsarPlugin(SourcePlugin):
+class BootimgPcbiosPlugin(SourcePlugin):
     """
     Create MBR boot partition and install syslinux on it.
     """
 
-    name = 'bootimg-pcbios-isar'
+    name = 'bootimg-pcbios'
 
     @classmethod
     def _get_syslinux_dir(cls, bootimg_dir):
@@ -67,9 +67,9 @@ class BootimgPcbiosIsarPlugin(SourcePlugin):
         """
         syslinux_dir = cls._get_syslinux_dir(bootimg_dir)
         if creator.ptable_format == 'msdos':
-            mbrfile = os.path.join(syslinux_dir, "mbr/mbr.bin")
+            mbrfile = os.path.join(syslinux_dir, "mbr.bin")
         elif creator.ptable_format == 'gpt':
-            mbrfile = os.path.join(syslinux_dir, "mbr/gptmbr.bin")
+            mbrfile = os.path.join(syslinux_dir, "gptmbr.bin")
         else:
             raise WicError("Unsupported partition table: %s" %
                            creator.ptable_format)
@@ -134,12 +134,11 @@ class BootimgPcbiosIsarPlugin(SourcePlugin):
             syslinux_conf += "DEFAULT boot\n"
             syslinux_conf += "LABEL boot\n"
 
-            kernel = get_bitbake_var("KERNEL_IMAGE")
-            initrd = get_bitbake_var("INITRD_IMAGE")
+            kernel = "/vmlinuz"
             syslinux_conf += "KERNEL " + kernel + "\n"
 
-            syslinux_conf += "APPEND label=boot root=%s initrd=%s %s\n" % \
-                             (creator.rootdev, initrd, bootloader.append)
+            syslinux_conf += "APPEND label=boot root=%s %s\n" % \
+                             (creator.rootdev, bootloader.append)
 
         logger.debug("Writing syslinux config %s/hdd/boot/syslinux.cfg",
                      cr_workdir)
@@ -159,22 +158,18 @@ class BootimgPcbiosIsarPlugin(SourcePlugin):
         syslinux_dir = cls._get_syslinux_dir(bootimg_dir)
 
         staging_kernel_dir = kernel_dir
-        kernel = get_bitbake_var("KERNEL_IMAGE")
-        initrd = get_bitbake_var("INITRD_IMAGE")
 
         hdddir = "%s/hdd/boot" % cr_workdir
 
-        cmds = ("install -m 0644 %s/%s %s/%s" %
-                (staging_kernel_dir, kernel, hdddir, kernel),
-                "install -m 0644 %s/%s %s/%s" %
-                (staging_kernel_dir, initrd, hdddir, initrd),
-                "install -m 444 %s/modules/bios/ldlinux.c32 %s/ldlinux.c32" %
+        cmds = ("install -m 0644 %s/bzImage %s/vmlinuz" %
+                (staging_kernel_dir, hdddir),
+                "install -m 444 %s/ldlinux.sys %s/ldlinux.sys" %
                 (syslinux_dir, hdddir),
-                "install -m 0644 %s/modules/bios/vesamenu.c32 %s/vesamenu.c32" %
+                "install -m 0644 %s/vesamenu.c32 %s/vesamenu.c32" %
                 (syslinux_dir, hdddir),
-                "install -m 444 %s/modules/bios/libcom32.c32 %s/libcom32.c32" %
+                "install -m 444 %s/libcom32.c32 %s/libcom32.c32" %
                 (syslinux_dir, hdddir),
-                "install -m 444 %s/modules/bios/libutil.c32 %s/libutil.c32" %
+                "install -m 444 %s/libutil.c32 %s/libutil.c32" %
                 (syslinux_dir, hdddir))
 
         for install_cmd in cmds:
@@ -201,7 +196,7 @@ class BootimgPcbiosIsarPlugin(SourcePlugin):
         exec_native_cmd(dosfs_cmd, native_sysroot)
 
         mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (bootimg, hdddir)
-        exec_cmd(mcopy_cmd, native_sysroot)
+        exec_native_cmd(mcopy_cmd, native_sysroot)
 
         syslinux_cmd = "syslinux %s" % bootimg
         exec_native_cmd(syslinux_cmd, native_sysroot)
-- 
2.16.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-05-05 11:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-04  9:09 [PATCH 1/2] meta-isar: wic: Temporarily reset forked wic files to where we forked Henning Schild
2018-05-04  9:09 ` [PATCH 2/2] Revert "meta-isar: wic: Temporarily reset forked wic files to where we forked" Henning Schild
2018-05-04 13:54 ` [PATCH 1/2] meta-isar: wic: Temporarily reset forked wic files to where we forked Alexander Smirnov
2018-05-04 14:53   ` Henning Schild
2018-05-05 11:55     ` Alexander Smirnov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox