8 Commits

Author SHA1 Message Date
Florian Larysch
df7e428cf5 fs: erofs: reword "all-fragments" Kconfig text
Currently, both BR2_TARGET_ROOTFS_EROFS_ALL_FRAGMENTS and
BR2_TARGET_ROOTFS_EROFS_FRAGMENTS have the same Kconfig prompt, making
them hard to distinguish.

Reword the one for -Eall-fragments to be distinct.

Signed-off-by: Florian Larysch <fl@n621.de>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2025-07-13 15:46:23 +02:00
Peter Korsgaard
585eeb4640 fs/erofs: unbreak custom compression handling
Fixes:
https://autobuild.buildroot.net/results/0f856def945b9a863f45f7a58553b62f6875720b/

Commit a02e437417 ("fs/erofs: add custom compression option with optional
compress-hints file") added logic for custom compression, but in fact it did
not work.

BR2_TARGET_ROOTFS_EROFS_COMPRESSION_{ALGORITHMS,HINTS} are kconfig string
variables, so we need to use qstrip rather than strip.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2025-05-16 20:01:25 +02:00
Jan Čermák
a02e437417 fs/erofs: add custom compression option with optional compress-hints file
Add another option for FS compression that allows fine-grained control using a
list of algorithms and optional compress-hints file. This way multiple
algorithms and pcluster sizes can be used for different files, fully exposing
EROFS compression abilities.

Signed-off-by: Jan Čermák <sairon@sairon.cz>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2025-02-18 21:48:43 +01:00
Jan Čermák
39aec97630 fs/erofs: add config options for dedupe, fragments and ztailpacking
Add Kconfig toggles for a few more extended options that are useful for
reducing size and improving performance of EROFS images. Descriptions of the
config options were taken from the erofs-utils manpage.

Signed-off-by: Jan Čermák <sairon@sairon.cz>
[Arnout: fix Config.in help text and indentation]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2025-02-18 21:48:41 +01:00
Jan Čermák
01b45ef87d fs/erofs: add LZMA compression, allow configurable compression level
Instead of having a bool option for enabling the LZ4HC compression, change the
Kconfig definition to a choice, which also adds more flexibility in the future
(e.g. for enabling ZSTD compression). The name of the old option was preserved
so defconfigs using it won't be affected.

Also both for LZMA and LZ4HC, it's now possible to define compression level.
Previously it defaulted to 9, which generates images larger than squashfs with
comparable settings (which uses level 12 by default). For LZ4HC the default if
unset would be still 9.

Use a separate config option for LZMA and LZ4HC compression level,
because their ranges and meaning are different.

Signed-off-by: Jan Čermák <sairon@sairon.cz>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
2025-02-18 21:48:39 +01:00
Casey Reeves
ac5ecaf868 fs/erofs: enable support for reproducible build
By default, mkfs.erofs will sue the current date to set some metadata
in the filesystem it generates, and will also use generate a random UUID
for that filesystem. This is not reproducible.

When BR2_REPRODUCIBLE is selected, set the filesystem timestamps to
$SOURCE_DATE_EPOCH, and the filesystem UUID to the nil uuid (as good
as any other arbitrary one).

Signed-off-by: Casey Reeves <casey@xogium.me>
[yann.morin.1998@free.fr:
  - one multi-line assignment, not two
  - slightly rephrase the commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-01-16 21:45:15 +01:00
Gao Xiang
90dfc0a596 fs/erofs: add big pcluster support
This enables EROFS big pcluster images for buildroot.

Signed-off-by: Gao Xiang <hsiangkao@aol.com>
[yann.morin.1998@free.fr: must be a multiple of 4KiB]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-07-19 22:34:21 +02:00
Gao Xiang
f69f1fc302 fs/erofs: add support for creating EROFS rootfs image
This patch makes possible to create rootfs image using
EROFS filesystem.

Signed-off-by: Gao Xiang <hsiangkao@aol.com>
[yann.morin.1998@free.fr:
  - simplify help text of filesystem entry
  - drop the compression choice, keep the single boolean
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-03-19 18:43:15 +01:00