* [PATCH 0/3] #11709: Implemented --mkfs-extraopts
@ 2017-07-06 11:32 Ed Bartosh
2017-07-06 11:32 ` [PATCH 1/3] wic: implement wks option --mkfs-extraopts Ed Bartosh
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Ed Bartosh @ 2017-07-06 11:32 UTC (permalink / raw)
To: openembedded-core
Hi,
This patchset implements new wks option --mkfs-extraopts, updates
documentation and adds test case for it to the wic oe-selftest test suite.
The following changes since commit 302b7497f94a37ccc65541ac6973251969c0ba77:
live-vm-common: add MKDOSFS_EXTRAOPTS variable (2017-07-06 11:38:36 +0300)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib ed/wip
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ed/wip
Ed Bartosh (3):
wic: implement wks option --mkfs-extraopts
wic: add description of --mkfs-extraopts
oe-selftest: wic: add test_mkfs_extraopts test case
meta/lib/oeqa/selftest/cases/wic.py | 19 ++++++++++++++++++
scripts/lib/wic/help.py | 6 ++++++
scripts/lib/wic/ksparser.py | 1 +
scripts/lib/wic/partition.py | 39 +++++++++++++++++++++++--------------
4 files changed, 50 insertions(+), 15 deletions(-)
--
Regards,
Ed
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH 1/3] wic: implement wks option --mkfs-extraopts 2017-07-06 11:32 [PATCH 0/3] #11709: Implemented --mkfs-extraopts Ed Bartosh @ 2017-07-06 11:32 ` Ed Bartosh 2017-07-06 11:32 ` [PATCH 2/3] wic: add description of --mkfs-extraopts Ed Bartosh ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Ed Bartosh @ 2017-07-06 11:32 UTC (permalink / raw) To: openembedded-core This option specifies extra options to pass to mkfs.<fstype> utilities. [YOCTO #11709] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> --- scripts/lib/wic/ksparser.py | 1 + scripts/lib/wic/partition.py | 39 ++++++++++++++++++++++++--------------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py index 47afda4..99b66ee 100644 --- a/scripts/lib/wic/ksparser.py +++ b/scripts/lib/wic/ksparser.py @@ -139,6 +139,7 @@ class KickStart(): part.add_argument('--fstype', default='vfat', choices=('ext2', 'ext3', 'ext4', 'btrfs', 'squashfs', 'vfat', 'msdos', 'swap')) + part.add_argument('--mkfs-extraopts', default='') part.add_argument('--label') part.add_argument('--no-table', action='store_true') part.add_argument('--ondisk', '--ondrive', dest='disk', default='sda') diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index 5aa68c9..b623bb9 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py @@ -46,6 +46,7 @@ class Partition(): self.fsopts = args.fsopts self.fstype = args.fstype self.label = args.label + self.mkfs_extraopts = args.mkfs_extraopts self.mountpoint = args.mountpoint self.no_table = args.no_table self.num = None @@ -256,14 +257,14 @@ class Partition(): with open(rootfs, 'w') as sparse: os.ftruncate(sparse.fileno(), rootfs_size * 1024) - extra_imagecmd = "-i 8192" + extraopts = self.mkfs_extraopts or "-F -i 8192" label_str = "" if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -F %s %s %s -d %s" % \ - (self.fstype, extra_imagecmd, rootfs, label_str, rootfs_dir) + mkfs_cmd = "mkfs.%s %s %s %s -d %s" % \ + (self.fstype, extraopts, rootfs, label_str, rootfs_dir) exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo) mkfs_cmd = "fsck.%s -pvfD %s" % (self.fstype, rootfs) @@ -289,8 +290,9 @@ class Partition(): if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -b %d -r %s %s %s" % \ - (self.fstype, rootfs_size * 1024, rootfs_dir, label_str, rootfs) + mkfs_cmd = "mkfs.%s -b %d -r %s %s %s %s" % \ + (self.fstype, rootfs_size * 1024, rootfs_dir, label_str, + self.mkfs_extraopts, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo) def prepare_rootfs_msdos(self, rootfs, oe_builddir, rootfs_dir, @@ -312,8 +314,10 @@ class Partition(): if self.fstype == 'msdos': size_str = "-F 16" # FAT 16 - dosfs_cmd = "mkdosfs %s -S 512 %s -C %s %d" % (label_str, size_str, - rootfs, rootfs_size) + extraopts = self.mkfs_extraopts or '-S 512' + + dosfs_cmd = "mkdosfs %s %s %s -C %s %d" % \ + (label_str, size_str, extraopts, rootfs, rootfs_size) exec_native_cmd(dosfs_cmd, native_sysroot) mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir) @@ -329,8 +333,9 @@ class Partition(): """ Prepare content for a squashfs rootfs partition. """ - squashfs_cmd = "mksquashfs %s %s -noappend" % \ - (rootfs_dir, rootfs) + extraopts = self.mkfs_extraopts or '-noappend' + squashfs_cmd = "mksquashfs %s %s %s" % \ + (rootfs_dir, rootfs, extraopts) exec_native_cmd(squashfs_cmd, native_sysroot, pseudo=pseudo) def prepare_empty_partition_ext(self, rootfs, oe_builddir, @@ -342,14 +347,14 @@ class Partition(): with open(rootfs, 'w') as sparse: os.ftruncate(sparse.fileno(), size * 1024) - extra_imagecmd = "-i 8192" + extraopts = self.mkfs_extraopts or "-i 8192" label_str = "" if self.label: label_str = "-L %s" % self.label mkfs_cmd = "mkfs.%s -F %s %s %s" % \ - (self.fstype, extra_imagecmd, label_str, rootfs) + (self.fstype, extraopts, label_str, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot) def prepare_empty_partition_btrfs(self, rootfs, oe_builddir, @@ -365,8 +370,9 @@ class Partition(): if self.label: label_str = "-L %s" % self.label - mkfs_cmd = "mkfs.%s -b %d %s %s" % \ - (self.fstype, self.size * 1024, label_str, rootfs) + mkfs_cmd = "mkfs.%s -b %d %s %s %s" % \ + (self.fstype, self.size * 1024, label_str, + self.mkfs_extraopts, rootfs) exec_native_cmd(mkfs_cmd, native_sysroot) def prepare_empty_partition_msdos(self, rootfs, oe_builddir, @@ -384,8 +390,11 @@ class Partition(): if self.fstype == 'msdos': size_str = "-F 16" # FAT 16 - dosfs_cmd = "mkdosfs %s -S 512 %s -C %s %d" % (label_str, size_str, - rootfs, blocks) + extraopts = self.mkfs_extraopts or '-S 512' + + dosfs_cmd = "mkdosfs %s %s %s -C %s %d" % \ + (label_str, extraopts, size_str, rootfs, blocks) + exec_native_cmd(dosfs_cmd, native_sysroot) chmod_cmd = "chmod 644 %s" % rootfs -- 2.1.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] wic: add description of --mkfs-extraopts 2017-07-06 11:32 [PATCH 0/3] #11709: Implemented --mkfs-extraopts Ed Bartosh 2017-07-06 11:32 ` [PATCH 1/3] wic: implement wks option --mkfs-extraopts Ed Bartosh @ 2017-07-06 11:32 ` Ed Bartosh 2017-07-06 11:32 ` [PATCH 3/3] oe-selftest: wic: add test_mkfs_extraopts test case Ed Bartosh 2017-07-06 12:31 ` ✗ patchtest: failure for #11709: Implemented --mkfs-extraopts Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Ed Bartosh @ 2017-07-06 11:32 UTC (permalink / raw) To: openembedded-core Updated help contents with the description of new wks option --mkfs-extraopts Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> --- scripts/lib/wic/help.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py index 23d943c..99912cd 100644 --- a/scripts/lib/wic/help.py +++ b/scripts/lib/wic/help.py @@ -943,6 +943,12 @@ DESCRIPTION for the harware that requires non-default partition system ids. The parameter in one byte long hex number either with 0x prefix or without it. + --mkfs-extraopts: This option specifies extra options to pass to mkfs utility. + NOTE, that wic uses default options for some filesystems, for example + '-S 512' for mkfs.fat or '-F -i 8192' for mkfs.ext. Those options will + not take effect when --mkfs-extraopts is used. This should be taken into + account when using --mkfs-extraopts. + * bootloader This command allows the user to specify various bootloader -- 2.1.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] oe-selftest: wic: add test_mkfs_extraopts test case 2017-07-06 11:32 [PATCH 0/3] #11709: Implemented --mkfs-extraopts Ed Bartosh 2017-07-06 11:32 ` [PATCH 1/3] wic: implement wks option --mkfs-extraopts Ed Bartosh 2017-07-06 11:32 ` [PATCH 2/3] wic: add description of --mkfs-extraopts Ed Bartosh @ 2017-07-06 11:32 ` Ed Bartosh 2017-07-06 12:31 ` ✗ patchtest: failure for #11709: Implemented --mkfs-extraopts Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Ed Bartosh @ 2017-07-06 11:32 UTC (permalink / raw) To: openembedded-core Test new wks option --mkfs-extraopts with all filesystems supported by wic. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> --- meta/lib/oeqa/selftest/cases/wic.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index b22a038..9dc8525 100644 --- a/meta/lib/oeqa/selftest/cases/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py @@ -949,3 +949,22 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r status, output = qemu.run_serial(cmd) self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output)) self.assertEqual(output, '2') + + def test_mkfs_extraopts(self): + """Test wks option --mkfs-extraopts for empty and not empty partitions""" + img = 'core-image-minimal' + with NamedTemporaryFile("w", suffix=".wks") as wks: + wks.writelines( + ['part ext2 --fstype ext2 --source rootfs --mkfs-extraopts "-D -F -i 8192"\n', + 'part btrfs --fstype btrfs --source rootfs --size 40M --mkfs-extraopts "--mixed -K"\n', + 'part squash --fstype squashfs --source rootfs --mkfs-extraopts "-no-sparse -b 4096"\n', + 'part emptyvfat --fstype vfat --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', + 'part emptymsdos --fstype msdos --size 1M --mkfs-extraopts "-S 1024 -s 64"\n', + 'part emptyext2 --fstype ext2 --size 1M --mkfs-extraopts "-D -F -i 8192"\n', + 'part emptybtrfs --fstype btrfs --size 100M --mkfs-extraopts "--mixed -K"\n']) + wks.flush() + cmd = "wic create %s -e %s -o %s" % (wks.name, img, self.resultdir) + self.assertEqual(0, runCmd(cmd).status) + wksname = os.path.splitext(os.path.basename(wks.name))[0] + out = glob(self.resultdir + "%s-*direct" % wksname) + self.assertEqual(1, len(out)) -- 2.1.4 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* ✗ patchtest: failure for #11709: Implemented --mkfs-extraopts 2017-07-06 11:32 [PATCH 0/3] #11709: Implemented --mkfs-extraopts Ed Bartosh ` (2 preceding siblings ...) 2017-07-06 11:32 ` [PATCH 3/3] oe-selftest: wic: add test_mkfs_extraopts test case Ed Bartosh @ 2017-07-06 12:31 ` Patchwork 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2017-07-06 12:31 UTC (permalink / raw) To: Ed Bartosh; +Cc: openembedded-core == Series Details == Series: #11709: Implemented --mkfs-extraopts Revision: 1 URL : https://patchwork.openembedded.org/series/7600/ State : failure == Summary == Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures: * Issue Series does not apply on top of target branch [test_series_merge_on_head] Suggested fix Rebase your series on top of targeted branch Targeted branch master (currently at de79149545) If you believe any of these test results are incorrect, please reply to the mailing list (openembedded-core@lists.openembedded.org) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...). --- Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-07-06 12:31 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-07-06 11:32 [PATCH 0/3] #11709: Implemented --mkfs-extraopts Ed Bartosh 2017-07-06 11:32 ` [PATCH 1/3] wic: implement wks option --mkfs-extraopts Ed Bartosh 2017-07-06 11:32 ` [PATCH 2/3] wic: add description of --mkfs-extraopts Ed Bartosh 2017-07-06 11:32 ` [PATCH 3/3] oe-selftest: wic: add test_mkfs_extraopts test case Ed Bartosh 2017-07-06 12:31 ` ✗ patchtest: failure for #11709: Implemented --mkfs-extraopts Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox