fs/squashfs: Add option to compress with extreme options
mksquashfs allows to tweak many compressions parameters. Currently they can't be changed from kmenu. Leaving out potential space savings. This adds the option to enable a set of predetermined compression options. This option is enabled by default for lz4 since lz4 currently implicitly added the extreme to it in the makefile. So this aids in keeping backward compatibility. Signed-off-by: Linus Kaschulla <linus@cosmos-ink.net> [yann.morin.1998@free.fr: - fix check-package - change the default code-style, add the legacy comment - always add the qstriped string, as it's empty when not used ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
555f8dfd6e
commit
d9c144d5f5
@ -89,4 +89,30 @@ config BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_ROOTFS_SQUASHFS_EXTREME_COMP
|
||||
bool "extreme compression when available"
|
||||
default y if BR2_TARGET_ROOTFS_SQUASHFS4_LZ4 # legacy
|
||||
help
|
||||
Use options to increase compression ration as much as
|
||||
possible, like using architecture-specific options, at
|
||||
the cost of time when assembling the filesystem image.
|
||||
|
||||
For example:
|
||||
- with gzip and lzo, use -Xcompression-level 9
|
||||
- with xz use arch-specific bcj (branch-call-jump) filters
|
||||
- with zstd use -Xcompression-level 22
|
||||
- and more
|
||||
|
||||
config BR2_TARGET_ROOTFS_SQUASHFS_COMP_OPTS
|
||||
string
|
||||
default "-Xcompression-level 9" if BR2_TARGET_ROOTFS_SQUASHFS4_GZIP
|
||||
default "-Xcompression-level 9" if BR2_TARGET_ROOTFS_SQUASHFS4_LZO
|
||||
default "-Xhc" if BR2_TARGET_ROOTFS_SQUASHFS4_LZ4
|
||||
default "-Xbcj arm,armthumb" if BR2_TARGET_ROOTFS_SQUASHFS4_XZ && (BR2_arm || BR_aarch64)
|
||||
default "-Xbcj powerpc" if BR2_TARGET_ROOTFS_SQUASHFS4_XZ && (BR2_powerpc || BR2_powerpc64)
|
||||
default "-Xbcj sparc" if BR2_TARGET_ROOTFS_SQUASHFS4_XZ && (BR2_sparc || BR2_sparc64)
|
||||
default "-Xbcj x86" if BR2_TARGET_ROOTFS_SQUASHFS4_XZ && (BR2_i386 || BR2_x86_64)
|
||||
default "-Xcompression-level 22" if BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD
|
||||
depends on BR2_TARGET_ROOTFS_SQUASHFS_EXTREME_COMP
|
||||
|
||||
endif
|
||||
|
@ -9,14 +9,15 @@ ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs
|
||||
ROOTFS_SQUASHFS_ARGS = \
|
||||
-noappend \
|
||||
-processors $(PARALLEL_JOBS) \
|
||||
-b $(call qstrip,$(BR2_TARGET_ROOTFS_SQUASHFS_BS))
|
||||
-b $(call qstrip,$(BR2_TARGET_ROOTFS_SQUASHFS_BS)) \
|
||||
$(call qstrip,$(BR2_TARGET_ROOTFS_SQUASHFS_COMP_OPTS))
|
||||
|
||||
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS_PAD),)
|
||||
ROOTFS_SQUASHFS_ARGS += -nopad
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZ4),y)
|
||||
ROOTFS_SQUASHFS_ARGS += -comp lz4 -Xhc
|
||||
ROOTFS_SQUASHFS_ARGS += -comp lz4
|
||||
else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZO),y)
|
||||
ROOTFS_SQUASHFS_ARGS += -comp lzo
|
||||
else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZMA),y)
|
||||
|
Loading…
Reference in New Issue
Block a user