From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 11 Mar 2022 11:37:46 +0100 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nSceY-001sJD-IM for lore@lore.pengutronix.de; Fri, 11 Mar 2022 11:37:46 +0100 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1nSceX-0002qb-PE; Fri, 11 Mar 2022 11:37:45 +0100 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nSceN-0002q7-Ti; Fri, 11 Mar 2022 11:37:35 +0100 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1nSceO-0001xi-Fe; Fri, 11 Mar 2022 11:37:35 +0100 Received: from mol by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nSceM-00A194-95; Fri, 11 Mar 2022 11:37:34 +0100 Date: Fri, 11 Mar 2022 11:37:34 +0100 From: Michael Olbrich To: Christian Melki Message-ID: Mail-Followup-To: Christian Melki , ptxdist@pengutronix.de References: <20220304095549.725339-1-christian.melki@t2data.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220304095549.725339-1-christian.melki@t2data.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain Subject: Re: [ptxdist] [PATCH v2] image-root-cpio: Add custom compressor and compressor options. X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: ptxdist@pengutronix.de Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false 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 > --- > 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