You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Regular read-write filesystems (e.g. ext4, vfat) are created early with the image-partition action (using mkfs tools) and mounted inside the fakemachine container. The filesystem-deploy action may simply copy the files into the mounted tree and everything works fine.
For read-only filesystems (e.g. squashfs, EROFS) however, this is not the case. The files are generally built up in a temporary directory, then turned into an image using the squashfs tool (e.g. mksquashfs <dir> out.squashfs).
So for these kinds of RO filesystems, we need to:
carve out space for the image in the image-partition action (by simply skipping over RO partitions, or by requireing filesystem: none).
when the filesystem-deploy action is called, build up each RO partition image using the correct tooling.
flash the RO partitions to the image file.
mount the RO partitions as per the image-partition action configuration (as read-only) for the remainder of the run.
We also need to be careful with filesystem hierarchy (e.g. nested images).
The text was updated successfully, but these errors were encountered:
The same syntax could be used to create ext2,3,4 read-only images, as well as partitions which have verity hash-tree appended to them.
obbardc
changed the title
filesystem-deploy action should handle creation of read-only filesystems
filesystem-deploy action should handle creation of read-only/verity-protected filesystems
May 1, 2024
Regular read-write filesystems (e.g. ext4, vfat) are created early with the
image-partition
action (usingmkfs
tools) and mounted inside the fakemachine container. Thefilesystem-deploy
action may simply copy the files into the mounted tree and everything works fine.For read-only filesystems (e.g. squashfs, EROFS) however, this is not the case. The files are generally built up in a temporary directory, then turned into an image using the squashfs tool (e.g.
mksquashfs <dir> out.squashfs
).So for these kinds of RO filesystems, we need to:
image-partition
action (by simply skipping over RO partitions, or by requireingfilesystem: none
).filesystem-deploy
action is called, build up each RO partition image using the correct tooling.image-partition
action configuration (as read-only) for the remainder of the run.We also need to be careful with filesystem hierarchy (e.g. nested images).
The text was updated successfully, but these errors were encountered: