summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/partition.py
diff options
context:
space:
mode:
authorDaniel Gomez <daniel@qtec.com>2021-08-17 22:11:14 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-08-20 08:53:03 +0100
commit6fdbc5144f3505b11f09364775a0c08cf62f4d21 (patch)
tree11b4eeac6b6ef2e9e5d42e104fb5c0274afd104e /scripts/lib/wic/partition.py
parent901b82a4c8b343b378293956420ad5a4943b6be7 (diff)
downloadpoky-6fdbc5144f3505b11f09364775a0c08cf62f4d21.tar.gz
wic: Add --no-fstab-update part option
When embedding a rootfs image (e.g. 'rootfs-dir') as a partition we might want to keep the stock fstab for that image. In such a case, use this option to not update the fstab and use the stock one instead. This option allows you to specify which partitions get the fstab updated and which get the stock fstab. The option matches the argument you can pass to wic itself where the same action is performed but for all the partitions. Example: part /export --source rootfs --rootfs-dir=hockeycam-image --fstype=ext4 --label export --align 1024 --no-fstab-update part / --source rootfs --fstype=ext4 --label rootfs --align 1024 (From OE-Core rev: ab4c95af8ecd15dc136194ab761afae756db5803) Signed-off-by: Daniel Gomez <daniel@qtec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/wic/partition.py')
-rw-r--r--scripts/lib/wic/partition.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
index e0b2c5bdf2..ab304f1b2a 100644
--- a/scripts/lib/wic/partition.py
+++ b/scripts/lib/wic/partition.py
@@ -54,6 +54,7 @@ class Partition():
54 self.uuid = args.uuid 54 self.uuid = args.uuid
55 self.fsuuid = args.fsuuid 55 self.fsuuid = args.fsuuid
56 self.type = args.type 56 self.type = args.type
57 self.no_fstab_update = args.no_fstab_update
57 self.updated_fstab_path = None 58 self.updated_fstab_path = None
58 self.has_fstab = False 59 self.has_fstab = False
59 self.update_fstab_in_rootfs = False 60 self.update_fstab_in_rootfs = False
@@ -286,7 +287,7 @@ class Partition():
286 (self.fstype, extraopts, rootfs, label_str, self.fsuuid, rootfs_dir) 287 (self.fstype, extraopts, rootfs, label_str, self.fsuuid, rootfs_dir)
287 exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo) 288 exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo)
288 289
289 if self.updated_fstab_path and self.has_fstab: 290 if self.updated_fstab_path and self.has_fstab and not self.no_fstab_update:
290 debugfs_script_path = os.path.join(cr_workdir, "debugfs_script") 291 debugfs_script_path = os.path.join(cr_workdir, "debugfs_script")
291 with open(debugfs_script_path, "w") as f: 292 with open(debugfs_script_path, "w") as f:
292 f.write("cd etc\n") 293 f.write("cd etc\n")
@@ -350,7 +351,7 @@ class Partition():
350 mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir) 351 mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir)
351 exec_native_cmd(mcopy_cmd, native_sysroot) 352 exec_native_cmd(mcopy_cmd, native_sysroot)
352 353
353 if self.updated_fstab_path and self.has_fstab: 354 if self.updated_fstab_path and self.has_fstab and not self.no_fstab_update:
354 mcopy_cmd = "mcopy -i %s %s ::/etc/fstab" % (rootfs, self.updated_fstab_path) 355 mcopy_cmd = "mcopy -i %s %s ::/etc/fstab" % (rootfs, self.updated_fstab_path)
355 exec_native_cmd(mcopy_cmd, native_sysroot) 356 exec_native_cmd(mcopy_cmd, native_sysroot)
356 357