summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon Anavi <leon.anavi@konsulko.com>2023-05-15 15:00:10 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-05-25 10:29:08 +0100
commit08d26fb3755935ec9247e99f657960c9d68da7a6 (patch)
treede61a02d0d2e0cce380232162c7a85765ced07ca
parent7fbf5fdd02bbd9766a90e78dd1fcf98bc26b961c (diff)
downloadpoky-08d26fb3755935ec9247e99f657960c9d68da7a6.tar.gz
wic: Add argument --hidden to default imager
Add argument --hidden to avoid MS Windows prompting to format partition after flashing to a USB stick, SD card on another media. Set Bit 0 (RequiredPartition) to mark that the partition is required for the platform to function on GUID Partition Table (GPT). The new argument simplifies setting RequiredPartition on GPT through a WKS file and the default imager plugin. Otherwise, without this feature, to achieve the same result a new imager plugin has to be implemented and set in WIC_CREATE_EXTRA_ARGS. (From OE-Core rev: 7a111ff58d7390b79e2e63c8059f6c25f40f8977) Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--scripts/lib/wic/ksparser.py1
-rw-r--r--scripts/lib/wic/partition.py1
-rw-r--r--scripts/lib/wic/plugins/imager/direct.py7
3 files changed, 9 insertions, 0 deletions
diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py
index d1e546b12d..667b2ff9c3 100644
--- a/scripts/lib/wic/ksparser.py
+++ b/scripts/lib/wic/ksparser.py
@@ -171,6 +171,7 @@ class KickStart():
171 part.add_argument('--rootfs-dir') 171 part.add_argument('--rootfs-dir')
172 part.add_argument('--type', default='primary', 172 part.add_argument('--type', default='primary',
173 choices = ('primary', 'logical')) 173 choices = ('primary', 'logical'))
174 part.add_argument('--hidden', action='store_true')
174 175
175 # --size and --fixed-size cannot be specified together; options 176 # --size and --fixed-size cannot be specified together; options
176 # ----extra-space and --overhead-factor should also raise a parser 177 # ----extra-space and --overhead-factor should also raise a parser
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
index 382afa44bc..bda4aef1b4 100644
--- a/scripts/lib/wic/partition.py
+++ b/scripts/lib/wic/partition.py
@@ -59,6 +59,7 @@ class Partition():
59 self.updated_fstab_path = None 59 self.updated_fstab_path = None
60 self.has_fstab = False 60 self.has_fstab = False
61 self.update_fstab_in_rootfs = False 61 self.update_fstab_in_rootfs = False
62 self.hidden = args.hidden
62 63
63 self.lineno = lineno 64 self.lineno = lineno
64 self.source_file = "" 65 self.source_file = ""
diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py
index 7315d8f073..55347f5480 100644
--- a/scripts/lib/wic/plugins/imager/direct.py
+++ b/scripts/lib/wic/plugins/imager/direct.py
@@ -605,6 +605,13 @@ class PartitionedImage():
605 (self.path, part.num, part.system_id), 605 (self.path, part.num, part.system_id),
606 self.native_sysroot) 606 self.native_sysroot)
607 607
608 if part.hidden and self.ptable_format == "gpt":
609 logger.debug("Set hidden attribute for partition '%s' on disk '%s'",
610 part.num, self.path)
611 exec_native_cmd("sfdisk --part-attrs %s %s RequiredPartition" % \
612 (self.path, part.num),
613 self.native_sysroot)
614
608 def cleanup(self): 615 def cleanup(self):
609 pass 616 pass
610 617