(Change submitted to FESCo) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 44: | Line 44: | ||
== Current status == | == Current status == | ||
[[Category:SelfContainedChange]] | [[Category:SelfContainedChange]] | ||
[[Category: | [[Category:ChangeAcceptedF34]] | ||
* Targeted release: [[ Releases/34 | Fedora 34 ]] | * Targeted release: [[ Releases/34 | Fedora 34 ]] | ||
Line 56: | Line 56: | ||
--> | --> | ||
* FESCo issue: [https://pagure.io/fesco/issue/2489 #2489] | * FESCo issue: [https://pagure.io/fesco/issue/2489 #2489] | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1889898 #1889898] | ||
* Release notes tracker: | * Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/589 #589] | ||
== Detailed Description == | == Detailed Description == |
Latest revision as of 20:53, 20 October 2020
Reduce installation media size by eliminating the intermediate EXT4 filesystem in the SquashFS
Summary
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.
Owner
- Name: Bohdan Khomutskyi
- Email: bkhomuts@redhat.com
Current status
- Targeted release: Fedora 34
- Last updated: 2020-10-20
- FESCo issue: #2489
- Tracker bug: #1889898
- Release notes tracker: #589
Detailed Description
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)
Scope
- 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.
Upgrade/compatibility impact
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.
Fedora-Rawhide-20200925.n.0
Results of testing could be compared with images without this change:
Fedora-Rawhide-20200924.n.0
Special thanks to Mohan Boddu, Fedora release engineer, for providing the test compose.
User Experience
- 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.
Dependencies
None. All work required for this change has been done already.
Contingency Plan
The backup plan is to keep the current configuration without change.
Documentation
lorax(1)
https://docs.pagure.org/pungi