Summary

Improve compression ratio of SquashFS filesystem on the installation media.
Owner

Name: Bohdan Khomutskyi

Email: bkhom...@redhat.com
Current status

Targeted release: I propose this change for Fedora 32

Last updated: Jan 5 2020

Pagure.io issue: https://pagure.io/releng/issue/9127

I was unable to create an article in Fedora wiki system.
Detailed Description

As of Fedora 31, the LiveOS/squashfs.img file on the installation image, is
compressed with default settings of mksquashfs. The standard configuration
is set to XZ algorithm with block size of 128k and BCJ filter enabled.
Those parameters can be adjusted which will lead to a better compression
ratio and/or reduction of the CPU usage at build time.

This is simple to achieve. Recently, Lorax has gotten support[1] for
adjusting the compression options for mksquashfs via the configuration
file. The file should be altered as following:

[compression]
bcj = yes
args = -b 1M -Xdict-size 1M -no-recovery

Where -b 1M and -Xdict-size 1M are block and dictionary sizes respectively.
Could be adjusted.
Benefit to Fedora

   -

   Reduction of the installation media size and the cost of storing and
   distributing Fedora.
   -

   Reduction of the CPU usage at build time. Depending on which compression
   parameters chosen.
   -

   See a graphical detail at https://pagure.io/releng/issue/9127.

Scope

   -

   Proposal owners:

The build environment should have support for adjusting the Lorax
configuration file.. Lorax is a program that produces the
LiveOS/squashfs.img file on the installation media.

One of the way to allow for such customization, is to add a feature in
Pungi, to allow for passing -c option to Lorax.

   -

   Release engineering: #9127 <https://pagure.io/releng/issue/9127>
   -

   Policies and guidelines: N/A
   -

   Trademark approval: N/A

Upgrade/compatibility impact

   -

   This change comes at a cost of higher memory usage during the
   installation. Based on my personal estimations, this should not be the
   issue. Since the decompression should require up to 1MiB per thread.

User Experience

   -

   Increasing the block size on the current configuration with EXT4 file
   system, should increase latency while accessing the EXT4 filesystem. The
   exact impact is to be evaluated.
   -

   The impact of latency will be reduced, if the plain SquashFS option is
   be choosen.

Dependencies

   -

   N/A

Contingency Plan

   -

   N/A

Documentation
https://pagure.io/releng/issue/9127.

mksquashfs(1)
Release notes See also

https://pagure.io/releng/issue/8646

--

Bohdan Khomutskyi

Release Configuration Management engineer
Red Hat

Attachment: Proposed change -- Improve the compression ration of squashfs.img.pdf
Description: Adobe PDF document

_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-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@lists.fedoraproject.org

Reply via email to