Re: Fedora 32 system-wide change proposal: reduce installation media size by improving the compression ratio of SquashFS filesystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday, January 5, 2020 5:23:12 AM MST Bohdan Khomutskyi wrote:
>  Summary
> 
> Improve compression ratio of SquashFS filesystem on the installation media.
> Owner
> 
> Name: Bohdan Khomutskyi
> 
> Email: bkhomuts@xxxxxxxxxx
> 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

This looks like an excellent Change, especially as these images grow.

-- 
John M. Harris, Jr.
Splentity

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux