* [PATCH 1/7] wic: Add '--sourceparams' partition option
2014-08-12 1:35 [PATCH 0/7] wic: Add gummiboot support Tom Zanussi
@ 2014-08-12 1:35 ` Tom Zanussi
2014-08-12 1:35 ` [PATCH 2/7] wic: Add utility function for parsing sourceparams Tom Zanussi
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Tom Zanussi @ 2014-08-12 1:35 UTC (permalink / raw)
To: openembedded-core; +Cc: Tom Zanussi
To go along with '--source' as a way to parameterize source plugins.
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
scripts/lib/wic/kickstart/custom_commands/partition.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/scripts/lib/wic/kickstart/custom_commands/partition.py b/scripts/lib/wic/kickstart/custom_commands/partition.py
index 24f523a..3920adb 100644
--- a/scripts/lib/wic/kickstart/custom_commands/partition.py
+++ b/scripts/lib/wic/kickstart/custom_commands/partition.py
@@ -47,6 +47,7 @@ class Wic_PartData(Mic_PartData):
Mic_PartData.__init__(self, *args, **kwargs)
self.deleteRemovedAttrs()
self.source = kwargs.get("source", None)
+ self.sourceparams = kwargs.get("sourceparams", None)
self.rootfs = kwargs.get("rootfs-dir", None)
self.source_file = ""
self.size = 0
@@ -56,6 +57,8 @@ class Wic_PartData(Mic_PartData):
if self.source:
retval += " --source=%s" % self.source
+ if self.sourceparams:
+ retval += " --sourceparams=%s" % self.sourceparams
if self.rootfs:
retval += " --rootfs-dir=%s" % self.rootfs
@@ -490,6 +493,9 @@ class Wic_Partition(Mic_Partition):
# and calculate partition size
op.add_option("--source", type="string", action="store",
dest="source", default=None)
+ # comma-separated list of param=value pairs
+ op.add_option("--sourceparams", type="string", action="store",
+ dest="sourceparams", default=None)
# use specified rootfs path to fill the partition
op.add_option("--rootfs-dir", type="string", action="store",
dest="rootfs", default=None)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/7] wic: Add utility function for parsing sourceparams
2014-08-12 1:35 [PATCH 0/7] wic: Add gummiboot support Tom Zanussi
2014-08-12 1:35 ` [PATCH 1/7] wic: Add '--sourceparams' partition option Tom Zanussi
@ 2014-08-12 1:35 ` Tom Zanussi
2014-08-12 1:35 ` [PATCH 3/7] wic: Add sourceparam param to partition plugin methods Tom Zanussi
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Tom Zanussi @ 2014-08-12 1:35 UTC (permalink / raw)
To: openembedded-core; +Cc: Tom Zanussi
Parses strings of the form key1=val1[,key2=val2,...] and returns a
dict. Also accepts valueless keys i.e. without =.
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
scripts/lib/wic/utils/oe/misc.py | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/scripts/lib/wic/utils/oe/misc.py b/scripts/lib/wic/utils/oe/misc.py
index 87e3041..aa9b235 100644
--- a/scripts/lib/wic/utils/oe/misc.py
+++ b/scripts/lib/wic/utils/oe/misc.py
@@ -179,3 +179,26 @@ def get_bitbake_var(key):
val = get_line_val(line, key)
return val
return None
+
+def parse_sourceparams(sourceparams):
+ """
+ Split sourceparams string of the form key1=val1[,key2=val2,...]
+ into a dict. Also accepts valueless keys i.e. without =.
+
+ Returns dict of param key/val pairs (note that val may be None).
+ """
+ params_dict = {}
+
+ params = sourceparams.split(',')
+ if params:
+ for p in params:
+ if not p:
+ continue
+ if not '=' in p:
+ key = p
+ val = None
+ else:
+ key, val = p.split('=')
+ params_dict[key] = val
+
+ return params_dict
--
1.8.3.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/7] wic: Add sourceparam param to partition plugin methods
2014-08-12 1:35 [PATCH 0/7] wic: Add gummiboot support Tom Zanussi
2014-08-12 1:35 ` [PATCH 1/7] wic: Add '--sourceparams' partition option Tom Zanussi
2014-08-12 1:35 ` [PATCH 2/7] wic: Add utility function for parsing sourceparams Tom Zanussi
@ 2014-08-12 1:35 ` Tom Zanussi
2014-08-12 1:35 ` [PATCH 4/7] wic: Parse and pass sourceparams " Tom Zanussi
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Tom Zanussi @ 2014-08-12 1:35 UTC (permalink / raw)
To: openembedded-core; +Cc: Tom Zanussi
The sourceparam param allows source plugins to be parameterized
generically (via --sourceparams="key=val[,key=val], implemented
previously).
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
scripts/lib/wic/kickstart/custom_commands/partition.py | 6 +++---
scripts/lib/wic/pluginbase.py | 15 +++++++++------
scripts/lib/wic/plugins/source/bootimg-efi.py | 10 ++++++----
scripts/lib/wic/plugins/source/bootimg-pcbios.py | 10 ++++++----
scripts/lib/wic/plugins/source/rootfs.py | 5 +++--
5 files changed, 27 insertions(+), 19 deletions(-)
diff --git a/scripts/lib/wic/kickstart/custom_commands/partition.py b/scripts/lib/wic/kickstart/custom_commands/partition.py
index 3920adb..76cf7a9 100644
--- a/scripts/lib/wic/kickstart/custom_commands/partition.py
+++ b/scripts/lib/wic/kickstart/custom_commands/partition.py
@@ -143,16 +143,16 @@ class Wic_PartData(Mic_PartData):
msger.error("The '%s' --source specified for %s doesn't exist.\n\tSee 'wic list source-plugins' for a list of available --sources.\n\tSee 'wic help source-plugins' for details on adding a new source plugin." % (self.source, self.mountpoint))
self._source_methods = pluginmgr.get_source_plugin_methods(self.source, partition_methods)
- self._source_methods["do_configure_partition"](self, cr, cr_workdir,
+ self._source_methods["do_configure_partition"](self, None, cr, cr_workdir,
oe_builddir,
bootimg_dir,
kernel_dir,
native_sysroot)
- self._source_methods["do_stage_partition"](self, cr, cr_workdir,
+ self._source_methods["do_stage_partition"](self, None, cr, cr_workdir,
oe_builddir,
bootimg_dir, kernel_dir,
native_sysroot)
- self._source_methods["do_prepare_partition"](self, cr, cr_workdir,
+ self._source_methods["do_prepare_partition"](self, None, cr, cr_workdir,
oe_builddir,
bootimg_dir, kernel_dir, rootfs_dir,
native_sysroot)
diff --git a/scripts/lib/wic/pluginbase.py b/scripts/lib/wic/pluginbase.py
index 06f318f..b8b3a46 100644
--- a/scripts/lib/wic/pluginbase.py
+++ b/scripts/lib/wic/pluginbase.py
@@ -64,8 +64,9 @@ class SourcePlugin(_Plugin):
msger.debug("SourcePlugin: do_install_disk: disk: %s" % disk_name)
@classmethod
- def do_stage_partition(self, part, cr, workdir, oe_builddir, bootimg_dir,
- kernel_dir, native_sysroot):
+ def do_stage_partition(self, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ native_sysroot):
"""
Special content staging hook called before do_prepare_partition(),
normally empty.
@@ -80,8 +81,9 @@ class SourcePlugin(_Plugin):
msger.debug("SourcePlugin: do_stage_partition: part: %s" % part)
@classmethod
- def do_configure_partition(self, part, cr, cr_workdir, oe_builddir,
- bootimg_dir, kernel_dir, native_sysroot):
+ def do_configure_partition(self, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ native_sysroot):
"""
Called before do_prepare_partition(), typically used to create
custom configuration files for a partition, for example
@@ -90,8 +92,9 @@ class SourcePlugin(_Plugin):
msger.debug("SourcePlugin: do_configure_partition: part: %s" % part)
@classmethod
- def do_prepare_partition(self, part, cr, cr_workdir, oe_builddir, bootimg_dir,
- kernel_dir, rootfs_dir, native_sysroot):
+ def do_prepare_partition(self, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir, rootfs_dir,
+ native_sysroot):
"""
Called to do the actual content population for a partition i.e. it
'prepares' the partition to be incorporated into the image.
diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py
index 53f1782..ea94fd2 100644
--- a/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -42,8 +42,9 @@ class BootimgEFIPlugin(SourcePlugin):
name = 'bootimg-efi'
@classmethod
- def do_configure_partition(self, part, cr, cr_workdir, oe_builddir,
- bootimg_dir, kernel_dir, native_sysroot):
+ def do_configure_partition(self, source_params, part, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ native_sysroot):
"""
Called before do_prepare_partition(), creates grubefi config
"""
@@ -92,8 +93,9 @@ class BootimgEFIPlugin(SourcePlugin):
cfg.close()
@classmethod
- def do_prepare_partition(self, part, cr, cr_workdir, oe_builddir, bootimg_dir,
- kernel_dir, rootfs_dir, native_sysroot):
+ def do_prepare_partition(self, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ rootfs_dir, native_sysroot):
"""
Called to do the actual content population for a partition i.e. it
'prepares' the partition to be incorporated into the image.
diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/scripts/lib/wic/plugins/source/bootimg-pcbios.py
index bd2225e..aceed20 100644
--- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py
+++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py
@@ -65,8 +65,9 @@ class BootimgPcbiosPlugin(SourcePlugin):
raise ImageError("Unable to set MBR to %s" % full_path)
@classmethod
- def do_configure_partition(self, part, cr, cr_workdir, oe_builddir,
- bootimg_dir, kernel_dir, native_sysroot):
+ def do_configure_partition(self, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ native_sysroot):
"""
Called before do_prepare_partition(), creates syslinux config
"""
@@ -118,8 +119,9 @@ class BootimgPcbiosPlugin(SourcePlugin):
cfg.close()
@classmethod
- def do_prepare_partition(self, part, cr, cr_workdir, oe_builddir, bootimg_dir,
- kernel_dir, rootfs_dir, native_sysroot):
+ def do_prepare_partition(self, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ rootfs_dir, native_sysroot):
"""
Called to do the actual content population for a partition i.e. it
'prepares' the partition to be incorporated into the image.
diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py
index 919e97e..a432a18 100644
--- a/scripts/lib/wic/plugins/source/rootfs.py
+++ b/scripts/lib/wic/plugins/source/rootfs.py
@@ -62,8 +62,9 @@ class RootfsPlugin(SourcePlugin):
return image_rootfs_dir
@classmethod
- def do_prepare_partition(self, part, cr, cr_workdir, oe_builddir, bootimg_dir,
- kernel_dir, krootfs_dir, native_sysroot):
+ def do_prepare_partition(self, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ krootfs_dir, native_sysroot):
"""
Called to do the actual content population for a partition i.e. it
'prepares' the partition to be incorporated into the image.
--
1.8.3.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 0/7] wic: Add gummiboot support
@ 2014-08-12 1:35 Tom Zanussi
2014-08-12 1:35 ` [PATCH 1/7] wic: Add '--sourceparams' partition option Tom Zanussi
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Tom Zanussi @ 2014-08-12 1:35 UTC (permalink / raw)
To: openembedded-core; +Cc: Tom Zanussi
This add gummiboot support to wic. It also adds a new --sourceparams
variable to the partition command, allowing plugins to be
parameterized. The BootImgEFIPlugin makes use of it to support
multiple loaders.
The following changes since commit 0f24d9c569db733b4f63803ee4a9c12ec1789791:
SIGGEN_EXCLUDERECIPES_ABISAFE: add initscripts (2014-08-11 17:44:12 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib.git tzanussi/wic-gummiboot-v1
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=tzanussi/wic-gummiboot-v1
Tom Zanussi (7):
wic: Add '--sourceparams' partition option
wic: Add utility function for parsing sourceparams
wic: Add sourceparam param to partition plugin methods
wic: Parse and pass sourceparams to partition plugin methods
wic: Add gummiboot support to bootimg-efi
wic: Add sourceparams to mkefidisk.wks
wic: Add mkgummidisk kickstart file
scripts/lib/image/canned-wks/mkefidisk.wks | 2 +-
scripts/lib/image/canned-wks/mkgummidisk.wks | 11 ++
.../lib/wic/kickstart/custom_commands/partition.py | 20 +++-
scripts/lib/wic/pluginbase.py | 15 +--
scripts/lib/wic/plugins/source/bootimg-efi.py | 117 +++++++++++++++++----
scripts/lib/wic/plugins/source/bootimg-pcbios.py | 10 +-
scripts/lib/wic/plugins/source/rootfs.py | 5 +-
scripts/lib/wic/utils/oe/misc.py | 23 ++++
8 files changed, 164 insertions(+), 39 deletions(-)
create mode 100644 scripts/lib/image/canned-wks/mkgummidisk.wks
--
1.8.3.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 4/7] wic: Parse and pass sourceparams to partition plugin methods
2014-08-12 1:35 [PATCH 0/7] wic: Add gummiboot support Tom Zanussi
` (2 preceding siblings ...)
2014-08-12 1:35 ` [PATCH 3/7] wic: Add sourceparam param to partition plugin methods Tom Zanussi
@ 2014-08-12 1:35 ` Tom Zanussi
2014-08-12 1:35 ` [PATCH 5/7] wic: Add gummiboot support to bootimg-efi Tom Zanussi
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Tom Zanussi @ 2014-08-12 1:35 UTC (permalink / raw)
To: openembedded-core; +Cc: Tom Zanussi
Add code to parse the sourceparams and pass them to the partition
plugin methods.
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
scripts/lib/wic/kickstart/custom_commands/partition.py | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/scripts/lib/wic/kickstart/custom_commands/partition.py b/scripts/lib/wic/kickstart/custom_commands/partition.py
index 76cf7a9..a3d5ef3 100644
--- a/scripts/lib/wic/kickstart/custom_commands/partition.py
+++ b/scripts/lib/wic/kickstart/custom_commands/partition.py
@@ -126,6 +126,11 @@ class Wic_PartData(Mic_PartData):
Prepare content for individual partitions, depending on
partition command parameters.
"""
+ self.sourceparams_dict = {}
+
+ if self.sourceparams:
+ self.sourceparams_dict = parse_sourceparams(self.sourceparams)
+
if not self.source:
if not self.size:
msger.error("The %s partition has a size of zero. Please specify a non-zero --size for that partition." % self.mountpoint)
@@ -143,16 +148,19 @@ class Wic_PartData(Mic_PartData):
msger.error("The '%s' --source specified for %s doesn't exist.\n\tSee 'wic list source-plugins' for a list of available --sources.\n\tSee 'wic help source-plugins' for details on adding a new source plugin." % (self.source, self.mountpoint))
self._source_methods = pluginmgr.get_source_plugin_methods(self.source, partition_methods)
- self._source_methods["do_configure_partition"](self, None, cr, cr_workdir,
+ self._source_methods["do_configure_partition"](self, self.sourceparams_dict,
+ cr, cr_workdir,
oe_builddir,
bootimg_dir,
kernel_dir,
native_sysroot)
- self._source_methods["do_stage_partition"](self, None, cr, cr_workdir,
+ self._source_methods["do_stage_partition"](self, self.sourceparams_dict,
+ cr, cr_workdir,
oe_builddir,
bootimg_dir, kernel_dir,
native_sysroot)
- self._source_methods["do_prepare_partition"](self, None, cr, cr_workdir,
+ self._source_methods["do_prepare_partition"](self, self.sourceparams_dict,
+ cr, cr_workdir,
oe_builddir,
bootimg_dir, kernel_dir, rootfs_dir,
native_sysroot)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 5/7] wic: Add gummiboot support to bootimg-efi
2014-08-12 1:35 [PATCH 0/7] wic: Add gummiboot support Tom Zanussi
` (3 preceding siblings ...)
2014-08-12 1:35 ` [PATCH 4/7] wic: Parse and pass sourceparams " Tom Zanussi
@ 2014-08-12 1:35 ` Tom Zanussi
2014-08-12 1:35 ` [PATCH 6/7] wic: Add sourceparams to mkefidisk.wks Tom Zanussi
2014-08-12 1:35 ` [PATCH 7/7] wic: Add mkgummidisk kickstart file Tom Zanussi
6 siblings, 0 replies; 8+ messages in thread
From: Tom Zanussi @ 2014-08-12 1:35 UTC (permalink / raw)
To: openembedded-core; +Cc: Tom Zanussi
Add gummiboot support to bootimg-efi, which retains the existing
grub-efi support (though requires an update to the .wks file).
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
scripts/lib/wic/plugins/source/bootimg-efi.py | 113 +++++++++++++++++++++-----
1 file changed, 91 insertions(+), 22 deletions(-)
diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py
index ea94fd2..855bbc2 100644
--- a/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -42,19 +42,10 @@ class BootimgEFIPlugin(SourcePlugin):
name = 'bootimg-efi'
@classmethod
- def do_configure_partition(self, source_params, part, cr, cr_workdir,
- oe_builddir, bootimg_dir, kernel_dir,
- native_sysroot):
+ def do_configure_grubefi(self, hdddir, cr, cr_workdir):
"""
- Called before do_prepare_partition(), creates grubefi config
+ Create loader-specific (grub-efi) config
"""
- hdddir = "%s/hdd/boot" % cr_workdir
- rm_cmd = "rm -rf %s" % cr_workdir
- exec_cmd(rm_cmd)
-
- install_cmd = "install -d %s/EFI/BOOT" % hdddir
- exec_cmd(install_cmd)
-
splash = os.path.join(cr_workdir, "/EFI/boot/splash.jpg")
if os.path.exists(splash):
splashline = "menu background splash.jpg"
@@ -73,7 +64,7 @@ class BootimgEFIPlugin(SourcePlugin):
grubefi_conf += "timeout=%s\n" % timeout
grubefi_conf += "menuentry 'boot'{\n"
- kernel = "/vmlinuz"
+ kernel = "/bzImage"
if cr._ptable_format == 'msdos':
rootstr = rootdev
@@ -93,6 +84,79 @@ class BootimgEFIPlugin(SourcePlugin):
cfg.close()
@classmethod
+ def do_configure_gummiboot(self, hdddir, cr, cr_workdir):
+ """
+ Create loader-specific (gummiboot) config
+ """
+ install_cmd = "install -d %s/loader" % hdddir
+ exec_cmd(install_cmd)
+
+ install_cmd = "install -d %s/loader/entries" % hdddir
+ exec_cmd(install_cmd)
+
+ (rootdev, root_part_uuid) = cr._get_boot_config()
+ options = cr.ks.handler.bootloader.appendLine
+
+ timeout = kickstart.get_timeout(cr.ks)
+ if not timeout:
+ timeout = 0
+
+ loader_conf = ""
+ loader_conf += "default boot\n"
+ loader_conf += "timeout %d\n" % timeout
+
+ msger.debug("Writing gummiboot config %s/hdd/boot/loader/loader.conf" \
+ % cr_workdir)
+ cfg = open("%s/hdd/boot/loader/loader.conf" % cr_workdir, "w")
+ cfg.write(loader_conf)
+ cfg.close()
+
+ kernel = "/bzImage"
+
+ if cr._ptable_format == 'msdos':
+ rootstr = rootdev
+ else:
+ raise ImageError("Unsupported partition table format found")
+
+ boot_conf = ""
+ boot_conf += "title boot\n"
+ boot_conf += "linux %s\n" % kernel
+ boot_conf += "options LABEL=Boot root=%s %s\n" \
+ % (rootstr, options)
+
+ msger.debug("Writing gummiboot 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)
+ cfg.close()
+
+
+ @classmethod
+ def do_configure_partition(self, part, source_params, cr, cr_workdir,
+ oe_builddir, bootimg_dir, kernel_dir,
+ native_sysroot):
+ """
+ Called before do_prepare_partition(), creates loader-specific config
+ """
+ hdddir = "%s/hdd/boot" % cr_workdir
+ rm_cmd = "rm -rf %s" % cr_workdir
+ exec_cmd(rm_cmd)
+
+ install_cmd = "install -d %s/EFI/BOOT" % hdddir
+ exec_cmd(install_cmd)
+
+ try:
+ if source_params['loader'] == 'grub-efi':
+ self.do_configure_grubefi(hdddir, cr, cr_workdir)
+ elif source_params['loader'] == 'gummiboot':
+ self.do_configure_gummiboot(hdddir, cr, cr_workdir)
+ else:
+ msger.error("unrecognized bootimg-efi loader: %s" % source_params['loader'])
+ except KeyError:
+ msger.error("bootimg-efi requires a loader, none specified")
+
+
+ @classmethod
def do_prepare_partition(self, part, source_params, cr, cr_workdir,
oe_builddir, bootimg_dir, kernel_dir,
rootfs_dir, native_sysroot):
@@ -117,14 +181,21 @@ class BootimgEFIPlugin(SourcePlugin):
(staging_kernel_dir, hdddir)
exec_cmd(install_cmd)
- shutil.copyfile("%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir,
- "%s/grub.cfg" % cr_workdir)
-
- cp_cmd = "cp %s/EFI/BOOT/* %s/EFI/BOOT" % (staging_data_dir, hdddir)
- exec_cmd(cp_cmd, True)
-
- shutil.move("%s/grub.cfg" % cr_workdir,
- "%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir)
+ try:
+ if source_params['loader'] == 'grub-efi':
+ shutil.copyfile("%s/hdd/boot/EFI/BOOT/grub.cfg" % cr_workdir,
+ "%s/grub.cfg" % cr_workdir)
+ cp_cmd = "cp %s/EFI/BOOT/* %s/EFI/BOOT" % (staging_data_dir, hdddir)
+ 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':
+ cp_cmd = "cp %s/EFI/BOOT/* %s/EFI/BOOT" % (staging_data_dir, hdddir)
+ exec_cmd(cp_cmd, True)
+ else:
+ msger.error("unrecognized bootimg-efi loader: %s" % source_params['loader'])
+ except KeyError:
+ msger.error("bootimg-efi requires a loader, none specified")
du_cmd = "du -bks %s" % hdddir
out = exec_cmd(du_cmd)
@@ -164,5 +235,3 @@ class BootimgEFIPlugin(SourcePlugin):
part.set_size(bootimg_size)
part.set_source_file(bootimg)
-
-
--
1.8.3.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 6/7] wic: Add sourceparams to mkefidisk.wks
2014-08-12 1:35 [PATCH 0/7] wic: Add gummiboot support Tom Zanussi
` (4 preceding siblings ...)
2014-08-12 1:35 ` [PATCH 5/7] wic: Add gummiboot support to bootimg-efi Tom Zanussi
@ 2014-08-12 1:35 ` Tom Zanussi
2014-08-12 1:35 ` [PATCH 7/7] wic: Add mkgummidisk kickstart file Tom Zanussi
6 siblings, 0 replies; 8+ messages in thread
From: Tom Zanussi @ 2014-08-12 1:35 UTC (permalink / raw)
To: openembedded-core; +Cc: Tom Zanussi
The bootimg-efi plugin now requires a loader param, so supply it to
retain existing behavior.
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
scripts/lib/image/canned-wks/mkefidisk.wks | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/lib/image/canned-wks/mkefidisk.wks b/scripts/lib/image/canned-wks/mkefidisk.wks
index db86caa..58d42e6 100644
--- a/scripts/lib/image/canned-wks/mkefidisk.wks
+++ b/scripts/lib/image/canned-wks/mkefidisk.wks
@@ -2,7 +2,7 @@
# long-description: Creates a partitioned EFI disk image that the user
# can directly dd to boot media.
-part /boot --source bootimg-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=ext3 --label platform --align 1024
--
1.8.3.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 7/7] wic: Add mkgummidisk kickstart file
2014-08-12 1:35 [PATCH 0/7] wic: Add gummiboot support Tom Zanussi
` (5 preceding siblings ...)
2014-08-12 1:35 ` [PATCH 6/7] wic: Add sourceparams to mkefidisk.wks Tom Zanussi
@ 2014-08-12 1:35 ` Tom Zanussi
6 siblings, 0 replies; 8+ messages in thread
From: Tom Zanussi @ 2014-08-12 1:35 UTC (permalink / raw)
To: openembedded-core; +Cc: Tom Zanussi
This is the same as mkefidisk but uses gummiboot instead of grub-efi.
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
---
scripts/lib/image/canned-wks/mkgummidisk.wks | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 scripts/lib/image/canned-wks/mkgummidisk.wks
diff --git a/scripts/lib/image/canned-wks/mkgummidisk.wks b/scripts/lib/image/canned-wks/mkgummidisk.wks
new file mode 100644
index 0000000..f81cbdf
--- /dev/null
+++ b/scripts/lib/image/canned-wks/mkgummidisk.wks
@@ -0,0 +1,11 @@
+# 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 --sourceparams="loader=gummiboot" --ondisk sda --label msdos --active --align 1024
+
+part / --source rootfs --ondisk sda --fstype=ext3 --label platform --align 1024
+
+part swap --ondisk sda --size 44 --label swap1 --fstype=swap
+
+bootloader --timeout=10 --append="rootwait rootfstype=ext3 console=ttyPCH0,115200 console=tty0 vmalloc=256MB snd-hda-intel.enable_msi=0"
--
1.8.3.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-08-12 1:36 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-12 1:35 [PATCH 0/7] wic: Add gummiboot support Tom Zanussi
2014-08-12 1:35 ` [PATCH 1/7] wic: Add '--sourceparams' partition option Tom Zanussi
2014-08-12 1:35 ` [PATCH 2/7] wic: Add utility function for parsing sourceparams Tom Zanussi
2014-08-12 1:35 ` [PATCH 3/7] wic: Add sourceparam param to partition plugin methods Tom Zanussi
2014-08-12 1:35 ` [PATCH 4/7] wic: Parse and pass sourceparams " Tom Zanussi
2014-08-12 1:35 ` [PATCH 5/7] wic: Add gummiboot support to bootimg-efi Tom Zanussi
2014-08-12 1:35 ` [PATCH 6/7] wic: Add sourceparams to mkefidisk.wks Tom Zanussi
2014-08-12 1:35 ` [PATCH 7/7] wic: Add mkgummidisk kickstart file Tom Zanussi
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.