https://fedoraproject.org/wiki/Changes/OptimizeSquashFSOnDVDByRemovingEXT4FilesystemImageLayer

== 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: [[User:bkhomuts|Bohdan Khomutskyi]]
* Email: bkhom...@redhat.com

== 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.
[https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20200925.n.0/compose/Server/x86_64/iso/
Fedora-Rawhide-20200925.n.0]

Results of testing could be compared with images without this change:
[https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20200924.n.0/compose/Server/x86_64/iso/
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




-- 
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
_______________________________________________
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org

Reply via email to