mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: Christian Melki <christian.melki@t2data.com>
Cc: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH v2] image-root-cpio: Add custom compressor and compressor options.
Date: Fri, 11 Mar 2022 11:37:34 +0100	[thread overview]
Message-ID: <Yismbguifnm+WjcO@pengutronix.de> (raw)
In-Reply-To: <20220304095549.725339-1-christian.melki@t2data.com>

Sorry, I missed this one.

It's not quite what I meant:

On Fri, Mar 04, 2022 at 10:55:49AM +0100, Christian Melki wrote:
> * Add possibility for custom compression.
> * Options are now issued with the compressor util.
> * Fill in some more help regarding the methods.
> * xz needs crc32 instead of crc64 for the kernel cpio.
> * Set zstd compression level to the same as for the kernel (19).
> * Use multithreading for zstd (deterministic, afaiu).
> 
> Actively decided against -T0 for xz, as compression
> is not deterministic when number of threads varies.
> 
> Signed-off-by: Christian Melki <christian.melki@t2data.com>
> ---
>  platforms/image-root-cpio.in | 48 +++++++++++++++++++++++++-----------
>  rules/image-root-cpio.make   |  2 +-
>  2 files changed, 35 insertions(+), 15 deletions(-)
> 
> diff --git a/platforms/image-root-cpio.in b/platforms/image-root-cpio.in
> index d3090dc29..fc95dd3f4 100644
> --- a/platforms/image-root-cpio.in
> +++ b/platforms/image-root-cpio.in
> @@ -32,42 +32,62 @@ config IMAGE_ROOT_CPIO_COMPRESSION_MODE_GZ
>  	bool
>  	prompt "gz"
>  	help
> -	  Compress root.cpio with gz
> +	  Compress root.cpio with gz.
> +	  Uses default compression level.
>  
>  config IMAGE_ROOT_CPIO_COMPRESSION_MODE_ZSTD
>  	bool
>  	prompt "zstd"
>  	help
> -	  Compress root.cpio with zstd
> +	  Compress root.cpio with zstd.
> +	  Uses multithreaded, compression level 19.
>  
>  config IMAGE_ROOT_CPIO_COMPRESSION_MODE_XZ
>  	bool
>  	prompt "xz"
>  	help
> -	  Compress root.cpio with xz
> +	  Compress root.cpio with xz.
> +	  Uses default compression level and
> +	  crc32 checksum for kernel cpio compatibility.
>  
>  config IMAGE_ROOT_CPIO_COMPRESSION_MODE_LZOP
>  	bool
>  	prompt "lzop"
>  	help
> -	  Compress root.cpio with lzop
> +	  Compress root.cpio with lzop.
> +	  Uses default compression level.
> +
> +config IMAGE_ROOT_CPIO_COMPRESSION_MODE_CUSTOM
> +	bool
> +	prompt "custom"
> +	help
> +	  Specify your own compression.
> +	  Default custom compression is set to gzip.
> +	  You need to change compression suffix and
> +	  compression utility with options.
> +	  Beware that unknown compression utils are
> +	  outside the ptxdist host-binary scope,
> +	  so they must reside somewhere in your system
> +	  for ptxdist to find.

not here...

>  
>  endchoice

but here:

config IMAGE_ROOT_CPIO_CUSTOM_COMPRESSION
	bool
	prompt "customize compression command"
	help
	  This allows specifying additional arguments to the compressor
	  command. Note that the command itself should not be changed.
	  Otherwise ptxdist cannot ensure that the tool is available.

>  
>  config IMAGE_ROOT_CPIO_COMPRESSION_SUFFIX
>  	string
> -	default ""		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_NONE
> -	default ".gz"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_GZ
> -	default ".zst"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_ZSTD
> -	default ".xz"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_XZ
> -	default ".lzo"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_LZOP
> +	default ""			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_NONE
> +	default ".gz"			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_GZ
> +	default ".zst"			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_ZSTD
> +	default ".xz"			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_XZ
> +	default ".lzo"			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_LZOP
> +	prompt  ".gz"			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_CUSTOM

no changes to the suffix


>  config IMAGE_ROOT_CPIO_COMPRESSION_UTIL
>  	string

	prompt "compression tool" if IMAGE_ROOT_CPIO_CUSTOM_COMPRESSION

> -	default ""		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_NONE
> -	default "gzip"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_GZ
> -	default "zstd"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_ZSTD
> -	default "xz"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_XZ
> -	default "lzop"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_LZOP
> +	default ""			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_NONE
> +	default "gzip"			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_GZ
> +	default "zstd -T0 -19"		if IMAGE_ROOT_CPIO_COMPRESSION_MODE_ZSTD
> +	default "xz --check=crc32"	if IMAGE_ROOT_CPIO_COMPRESSION_MODE_XZ
> +	default "lzop"			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_LZOP

These are ok.

So when IMAGE_ROOT_CPIO_CUSTOM_COMPRESSION is enabled then
IMAGE_ROOT_CPIO_COMPRESSION_UTIL will show up in the menu and the command
can be modified. The dependencies will still be ok unless the user changes
the tool itself.

Michael

> +	prompt  "gzip"			if IMAGE_ROOT_CPIO_COMPRESSION_MODE_CUSTOM

>  
>  endif
> diff --git a/rules/image-root-cpio.make b/rules/image-root-cpio.make
> index fdb0ccfff..447a649c8 100644
> --- a/rules/image-root-cpio.make
> +++ b/rules/image-root-cpio.make
> @@ -26,7 +26,7 @@ IMAGE_ROOT_CPIO_CONFIG	:= cpio.config
>  
>  IMAGE_ROOT_CPIO_ENV := \
>  	FORMAT="newc" \
> -	COMPRESS=$(call remove_quotes, $(PTXCONF_IMAGE_ROOT_CPIO_COMPRESSION_UTIL))
> +	COMPRESS=$(PTXCONF_IMAGE_ROOT_CPIO_COMPRESSION_UTIL)
>  
>  ifdef PTXCONF_IMAGE_ROOT_CPIO
>  $(IMAGE_ROOT_CPIO_IMAGE):
> -- 
> 2.30.2
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
> To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de


      reply	other threads:[~2022-03-11 10:37 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-04  9:55 Christian Melki
2022-03-11 10:37 ` Michael Olbrich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yismbguifnm+WjcO@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=christian.melki@t2data.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox