diff mbox series

[v2] fs/cpio: add zstd as compression option

Message ID 20210110190559.1434055-1-salvador.joseluis@gmail.com
State Accepted
Headers show
Series [v2] fs/cpio: add zstd as compression option | expand

Commit Message

José Luis Salvador Rufo Jan. 10, 2021, 7:05 p.m. UTC
U-Boot mkimage zstd is available since v2020.10:
https://gitlab.denx.de/u-boot/u-boot/-/commit/26073f9ed3ab0aaf3c2a2b433fecb30a95a067d6

Signed-off-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com>
---
 fs/common.mk      | 5 +++++
 fs/cpio/Config.in | 5 +++++
 2 files changed, 10 insertions(+)

Comments

Thomas Petazzoni Jan. 16, 2021, 10 p.m. UTC | #1
Hello,

On Sun, 10 Jan 2021 20:05:59 +0100
José Luis Salvador Rufo <salvador.joseluis@gmail.com> wrote:

> U-Boot mkimage zstd is available since v2020.10:
> https://gitlab.denx.de/u-boot/u-boot/-/commit/26073f9ed3ab0aaf3c2a2b433fecb30a95a067d6
> 
> Signed-off-by: José Luis Salvador Rufo <salvador.joseluis@gmail.com>

Thanks, I have applied, with one change, see below.

> ---
>  fs/common.mk      | 5 +++++
>  fs/cpio/Config.in | 5 +++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/fs/common.mk b/fs/common.mk
> index 84e13d1b7e..da008ef9e8 100644
> --- a/fs/common.mk
> +++ b/fs/common.mk
> @@ -154,6 +154,11 @@ ifeq ($(BR2_REPRODUCIBLE),)
>  ROOTFS_$(2)_COMPRESS_CMD += -T $(PARALLEL_JOBS)
>  endif
>  endif
> +ifeq ($(BR2_TARGET_ROOTFS_$(2)_ZSTD),y)
> +ROOTFS_$(2)_DEPENDENCIES += host-zstd
> +ROOTFS_$(2)_COMPRESS_EXT = .zst
> +ROOTFS_$(2)_COMPRESS_CMD = zstd --ultra -22 -z -f -T$(PARALLEL_JOBS)

To me, it felt a bit extreme to use the --ultra -22 level, which is
documented as requiring a lot of memory, both for compression and
uncompression. So I changed to just -19 instead.

Thanks!

Thomas
diff mbox series

Patch

diff --git a/fs/common.mk b/fs/common.mk
index 84e13d1b7e..da008ef9e8 100644
--- a/fs/common.mk
+++ b/fs/common.mk
@@ -154,6 +154,11 @@  ifeq ($(BR2_REPRODUCIBLE),)
 ROOTFS_$(2)_COMPRESS_CMD += -T $(PARALLEL_JOBS)
 endif
 endif
+ifeq ($(BR2_TARGET_ROOTFS_$(2)_ZSTD),y)
+ROOTFS_$(2)_DEPENDENCIES += host-zstd
+ROOTFS_$(2)_COMPRESS_EXT = .zst
+ROOTFS_$(2)_COMPRESS_CMD = zstd --ultra -22 -z -f -T$(PARALLEL_JOBS)
+endif
 
 $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): ROOTFS=$(2)
 $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): FAKEROOT_SCRIPT=$$(ROOTFS_$(2)_DIR)/fakeroot
diff --git a/fs/cpio/Config.in b/fs/cpio/Config.in
index 83a7fa5824..c1151a2881 100644
--- a/fs/cpio/Config.in
+++ b/fs/cpio/Config.in
@@ -51,6 +51,11 @@  config BR2_TARGET_ROOTFS_CPIO_XZ
 	help
 	  Do compress the cpio filesystem with xz.
 
+config BR2_TARGET_ROOTFS_CPIO_ZSTD
+	bool "zstd"
+	help
+	  Do compress the cpio filesystem with zstd.
+
 endchoice
 
 config BR2_TARGET_ROOTFS_CPIO_UIMAGE