* 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 <[email protected]> --- 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. endchoice 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 config IMAGE_ROOT_CPIO_COMPRESSION_UTIL string - 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 + 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 [email protected] To unsubscribe, send a mail with subject "unsubscribe" to [email protected]
