Reduce installation media size by eliminating the intermediate EXT4 filesystem in the SquashFS
Change the process of building installation images such that the Squash filesystem image, which is present on netinstall and DVD ISO images, doesn't contain the EXT4 filesystem image. As a result of implementation of this change, files will be stored directly in SquashFS.
- Name: Bohdan Khomutskyi
- Email: firstname.lastname@example.org
- Targeted release: Fedora 34
- Last updated: 2020-10-20
- FESCo issue: #2489
- Tracker bug: #1889898
- Release notes tracker: #589
Fedora 32 installation ISO contains root filesystem image with files needed during installation. The image is of type EXT4. And for optimal storage footprint, the EXT4 filesystem image is stored inside the compressed SquashFS.
Having only one file --- EXT4 image inside the SquashFS is sub-optimal. Higher compression ratio could be achieved by having files stored without the intermediate layer.
The EXT4 layer inside SquashFS is present for historical reasons. It was needed to support extended attributes (XATTRs), and to mount the read-only filesystem as read-write. Since then, technological advancements were made in software: XATTRs are now supported in SquashFS. The overlay filesystem was merged into the kernel.
Those changes allow solving the problem of storing XATTRs and mounting the SquashFS filesystem as read-write in a more efficient way. It's time to eliminate the historical EXT4 layer and store files directly in SquashFS.
Benefit to Fedora
- Reduction of the installation medium size (boot.iso and DVD) without affecting quality. For x86_64 images, the reduction is 27MiB per ISO.
- This change would be an additional step to make the installation medium reproducible.
- The change could allow further optimizations of the installation process. For example, https://github.com/rhinstaller/anaconda/pull/2292
- No need to know rootfs_size in advance (https://pagure.io/pungi-fedora/blob/master/f/fedora.conf#_112)
- Proposal owners: Proposing the change of Pungi configuration for DVD and netinstall ISO images.
- Other developers: N/A
- Release engineering: Updating Pungi configuration. Specifically this change https://pagure.io/pungi-fedora/pull-request/888
- Policies and guidelines: Not required.
- Trademark approval: N/A. Not needed for this Change.
N/A, not a System Wide Change. No impact to the end user.
How To Test
The change could be tested by booting ISO images from the compose below. Regular Fedora test suite should be sufficient to verify this change.
Results of testing could be compared with images without this change:
Special thanks to Mohan Boddu, Fedora release engineer, for providing the test compose.
- This change won't be visible to the end user.
- Because of the lower image size, download and image burning times will be reduced. The reduction is insignificant when taking into account world average internet speed.
None. All work required for this change has been done already.
The backup plan is to keep the current configuration without change.