From Fedora Project Wiki
(Change published)
 
m (More precisely write about the EXT4 filesystem image.)
Line 24: Line 24:
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release.  
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release.  
Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
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. As a result of implementation of this change, files will be stored directly in 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.


== Owner ==
== Owner ==

Revision as of 12:07, 2 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

Current status

  • Targeted release: Fedora 34
  • Last updated: 2020-10-02
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

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

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

Release Notes