From Fedora Project Wiki

Revision as of 16:16, 31 January 2025 by Dustymabe (talk | contribs) (fix caption text)

Switch to EROFS for Live Media

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

Summary

Switch the read-only filesystem image format from SquashFS to EROFS for Fedora live media.

Owner

  • Name: Neal Gompa for kiwi produced media
  • Email: ngompa13@gmail.com
  • Name: Dusty Mabe for CoreOS produced media
  • Email: dusty@dustymabe.com


Current status

Detailed Description

In recent years, there has been increasing adoption of a new, more advanced read-only filesystem for a variety of use-cases called the Enhanced Read-Only FileSystem (EROFS). Support for EROFS as the backing read-only filesystem for live environments was introduced in Dracut v103. This change switches over the following live media to use EROFS instead of SquashFS:

  • all kiwi-produced live media. Currently:
    • KDE Desktop
    • KDE Mobile
    • LXQt
    • MiracleWM
    • COSMIC
    • Xfce
    • Budgie
  • Fedora CoreOS Live media
    • i.e. fedora-coreos-42.2025XXXX.91.0-live-iso.x86_64.iso

Note: When future editions/spins get moved to kiwi they will inherit this change.

Feedback

Benefit to Fedora

EROFS is more actively developed than SquashFS, and offers more modern file system features that can be utilized in the future. Moving to EROFS for Fedora Live media will also help to align with downstream RHEL 10 that will use EROFS for live media.

Scope

  • Other developers:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with the Fedora Strategy: N/A (not needed for this Change)

Upgrade/compatibility impact

There should be no visible impact. This only affects live media used to make fresh installations.


Recent tests on Fedora CoreOS Live media show EROFS producing media that is on-par with squashfs; slightly better compression size, but slightly worse compression times:

Numbers for FCOS comparison
Command Time Size
mksquashfs -comp zstd (level 15) 22.5s 699M
mksquashfs -comp xz 44.4s 668M
mkfs.erofs -zlzma,6 -Eall-fragments,fragdedupe=inode -C131072 47.9s 656M
mkfs.erofs -zlzma,6 -Eall-fragments,fragdedupe=inode -C1048576 57.1s 629M


How To Test

Once the change is applied, users can grab nightly Fedora live images that fall in scope (such as the KDE and LXQt images) to test it. Simply booting the images in a VM and installing the environment is a sufficient test.

For Fedora CoreOS, nightly rawhide installation media can be used to perform an install.


User Experience

There should be no visible impact to users. Live installations continue to work as expected, and live environments may be slightly faster.

Dependencies

N/A. Everything has been in place and supported since Fedora Linux 41.

Contingency Plan

If we find issues or serious performance regressions we can revert the change. For Fedora CoreOS each build's media is exhaustively tested in CI, so any issues should be found well in advance of shipping media to end users.

  • Contingency mechanism: Revert back to SquashFS.
  • Contingency deadline: Final Freeze.
  • Blocks release? Yes.


Documentation

N/A (not a System Wide Change)

Release Notes

Fedora Linux live environments now use the Enhanced Read-Only FileSystem (EROFS), a modern, feature-rich read-only filesystem.