mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
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>
This commit is contained in:
committed by
Richard Purdie
parent
901b82a4c8
commit
6fdbc5144f
@@ -991,6 +991,9 @@ DESCRIPTION
|
||||
multiple partitions and we want to keep the right
|
||||
permissions and usernames in all the partitions.
|
||||
|
||||
--no-fstab-update: This option is specific to wic. It does not update the
|
||||
'/etc/fstab' stock file for the given partition.
|
||||
|
||||
--extra-space: This option is specific to wic. It adds extra
|
||||
space after the space filled by the content
|
||||
of the partition. The final size can go
|
||||
|
||||
@@ -185,6 +185,7 @@ class KickStart():
|
||||
part.add_argument('--use-uuid', action='store_true')
|
||||
part.add_argument('--uuid')
|
||||
part.add_argument('--fsuuid')
|
||||
part.add_argument('--no-fstab-update', action='store_true')
|
||||
|
||||
bootloader = subparsers.add_parser('bootloader')
|
||||
bootloader.add_argument('--append')
|
||||
|
||||
@@ -54,6 +54,7 @@ class Partition():
|
||||
self.uuid = args.uuid
|
||||
self.fsuuid = args.fsuuid
|
||||
self.type = args.type
|
||||
self.no_fstab_update = args.no_fstab_update
|
||||
self.updated_fstab_path = None
|
||||
self.has_fstab = False
|
||||
self.update_fstab_in_rootfs = False
|
||||
@@ -286,7 +287,7 @@ class Partition():
|
||||
(self.fstype, extraopts, rootfs, label_str, self.fsuuid, rootfs_dir)
|
||||
exec_native_cmd(mkfs_cmd, native_sysroot, pseudo=pseudo)
|
||||
|
||||
if self.updated_fstab_path and self.has_fstab:
|
||||
if self.updated_fstab_path and self.has_fstab and not self.no_fstab_update:
|
||||
debugfs_script_path = os.path.join(cr_workdir, "debugfs_script")
|
||||
with open(debugfs_script_path, "w") as f:
|
||||
f.write("cd etc\n")
|
||||
@@ -350,7 +351,7 @@ class Partition():
|
||||
mcopy_cmd = "mcopy -i %s -s %s/* ::/" % (rootfs, rootfs_dir)
|
||||
exec_native_cmd(mcopy_cmd, native_sysroot)
|
||||
|
||||
if self.updated_fstab_path and self.has_fstab:
|
||||
if self.updated_fstab_path and self.has_fstab and not self.no_fstab_update:
|
||||
mcopy_cmd = "mcopy -i %s %s ::/etc/fstab" % (rootfs, self.updated_fstab_path)
|
||||
exec_native_cmd(mcopy_cmd, native_sysroot)
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ class RootfsPlugin(SourcePlugin):
|
||||
# Update part.has_fstab here as fstab may have been added or
|
||||
# removed by the above modifications.
|
||||
part.has_fstab = os.path.exists(os.path.join(new_rootfs, "etc/fstab"))
|
||||
if part.update_fstab_in_rootfs and part.has_fstab:
|
||||
if part.update_fstab_in_rootfs and part.has_fstab and not part.no_fstab_update:
|
||||
fstab_path = os.path.join(new_rootfs, "etc/fstab")
|
||||
# Assume that fstab should always be owned by root with fixed permissions
|
||||
install_cmd = "install -m 0644 %s %s" % (part.updated_fstab_path, fstab_path)
|
||||
|
||||
Reference in New Issue
Block a user