From: "Richard Purdie" <richard.purdie@linuxfoundation.org>
To: zboszor@pr.hu, openembedded-core@lists.openembedded.org
Cc: zboszor@gmail.com
Subject: Re: [OE-core] [PATCH v3 4/4] Support zstd-compressed squashfs and cpio initramfs
Date: Thu, 26 Aug 2021 13:04:45 +0100 [thread overview]
Message-ID: <a789a2eaa7233e3a92e9409793d431e70c2ff5b7.camel@linuxfoundation.org> (raw)
In-Reply-To: <20210823145450.103319-6-zboszor@pr.hu>
On Mon, 2021-08-23 at 16:54 +0200, Zoltan Boszormenyi via lists.openembedded.org
wrote:
> From: Zoltán Böszörményi <zboszor@gmail.com>
>
> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> ---
> meta/classes/base.bbclass | 4 ++++
> meta/classes/image_types.bbclass | 6 ++++--
> meta/classes/kernel-fitimage.bbclass | 2 +-
> meta/classes/kernel.bbclass | 10 ++++++++--
> 4 files changed, 17 insertions(+), 5 deletions(-)
>
> diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> index 11b65171d9..340ebe7d78 100644
> --- a/meta/classes/base.bbclass
> +++ b/meta/classes/base.bbclass
> @@ -631,6 +631,10 @@ python () {
> if path.endswith('.lz4'):
> d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot')
>
> + # *.zst should DEPEND on zstd-native for unpacking
> + elif path.endswith('.zst'):
> + d.appendVarFlag('do_unpack', 'depends', ' zstd-native:do_populate_sysroot')
> +
> # *.lz should DEPEND on lzip-native for unpacking
> elif path.endswith('.lz'):
> d.appendVarFlag('do_unpack', 'depends', ' lzip-native:do_populate_sysroot')
> diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
> index e0eb06c1e3..32d4cd4c76 100644
> --- a/meta/classes/image_types.bbclass
> +++ b/meta/classes/image_types.bbclass
> @@ -107,6 +107,7 @@ IMAGE_CMD:squashfs = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${
> IMAGE_CMD:squashfs-xz = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-xz ${EXTRA_IMAGECMD} -noappend -comp xz"
> IMAGE_CMD:squashfs-lzo = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lzo ${EXTRA_IMAGECMD} -noappend -comp lzo"
> IMAGE_CMD:squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-lz4 ${EXTRA_IMAGECMD} -noappend -comp lz4"
> +IMAGE_CMD:squashfs-zst = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.squashfs-zst ${EXTRA_IMAGECMD} -noappend -comp zstd"
>
> IMAGE_CMD:erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs ${IMAGE_ROOTFS}"
> IMAGE_CMD:erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.erofs-lz4 ${IMAGE_ROOTFS}"
> @@ -244,6 +245,7 @@ do_image_squashfs[depends] += "squashfs-tools-native:do_populate_sysroot"
> do_image_squashfs_xz[depends] += "squashfs-tools-native:do_populate_sysroot"
> do_image_squashfs_lzo[depends] += "squashfs-tools-native:do_populate_sysroot"
> do_image_squashfs_lz4[depends] += "squashfs-tools-native:do_populate_sysroot"
> +do_image_squashfs_zst[depends] += "squashfs-tools-native:do_populate_sysroot"
> do_image_ubi[depends] += "mtd-utils-native:do_populate_sysroot"
> do_image_ubifs[depends] += "mtd-utils-native:do_populate_sysroot"
> do_image_multiubi[depends] += "mtd-utils-native:do_populate_sysroot"
> @@ -262,10 +264,10 @@ IMAGE_TYPES = " \
> btrfs \
> iso \
> hddimg \
> - squashfs squashfs-xz squashfs-lzo squashfs-lz4 \
> + squashfs squashfs-xz squashfs-lzo squashfs-lz4 squashfs-zst \
> ubi ubifs multiubi \
> tar tar.gz tar.bz2 tar.xz tar.lz4 tar.zst \
> - cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 \
> + cpio cpio.gz cpio.xz cpio.lzma cpio.lz4 cpio.zst \
> wic wic.gz wic.bz2 wic.lzma wic.zst \
> container \
> f2fs \
> diff --git a/meta/classes/kernel-fitimage.bbclass b/meta/classes/kernel-fitimage.bbclass
> index 2ef8f06b14..38e05153e3 100644
> --- a/meta/classes/kernel-fitimage.bbclass
> +++ b/meta/classes/kernel-fitimage.bbclass
> @@ -576,7 +576,7 @@ fitimage_assemble() {
> #
> if [ "x${ramdiskcount}" = "x1" ] && [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ]; then
> # Find and use the first initramfs image archive type we find
> - for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.gz ext2.gz cpio; do
> + for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst cpio.gz ext2.gz cpio; do
> initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.${img}"
> echo "Using $initramfs_path"
> if [ -e "${initramfs_path}" ]; then
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 9ec7daa17a..ab60e060c6 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -9,6 +9,7 @@ PROVIDES += "${@ "virtual/kernel" if (d.getVar("KERNEL_PACKAGE_NAME") == "kernel
> DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native"
> DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}"
> DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}"
> +DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.zst", "zstd-native", "", d)}"
> PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
>
> do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot gzip-native:do_populate_sysroot"
> @@ -237,7 +238,7 @@ copy_initramfs() {
> mkdir -p ${B}/usr
> # Find and use the first initramfs image archive type we find
> rm -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio
> - for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz; do
> + for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst; do
> if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img" ]; then
> cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img ${B}/usr/.
> case $img in
> @@ -266,12 +267,17 @@ copy_initramfs() {
> xz -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
> break
> ;;
> + *zst)
> + echo "zst decompressing image"
> + zstd -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img
> + break
> + ;;
> esac
> break
> fi
> done
> # Verify that the above loop found a initramfs, fail otherwise
> - [ -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio ] && echo "Finished copy of initramfs into ./usr" || die "Could not find any ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio{.gz|.lz4|.lzo|.lzma|.xz) for bundling; INITRAMFS_IMAGE_NAME might be wrong."
> + [ -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio ] && echo "Finished copy of initramfs into ./usr" || die "Could not find any ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.cpio{.gz|.lz4|.lzo|.lzma|.xz|.zst) for bundling; INITRAMFS_IMAGE_NAME might be wrong."
> }
Failed in testing:
https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/2467/steps/14/logs/stdio
"mksquashfs: Compressor "zstd" is not supported!"
Cheers,
Richard
next prev parent reply other threads:[~2021-08-26 12:04 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-23 12:23 Kernel and RPM related bbclass changes Zoltan Boszormenyi
2021-08-23 12:23 ` [PATCH 1/6] package_rpm.bbclass: Handle posttrans scriptlets Zoltan Boszormenyi
2021-08-23 12:34 ` [OE-core] " Alexander Kanavin
2021-08-23 13:14 ` Zoltan Boszormenyi
2021-08-23 13:23 ` Richard Purdie
2021-08-23 13:42 ` Zoltan Boszormenyi
2021-08-23 12:23 ` [PATCH 2/6] kernel-module-split.bbclass: Support zstd-compressed modules Zoltan Boszormenyi
2021-08-23 12:23 ` [PATCH 3/6] kernel-module-split.bbclass: Allow opt-out of split kernel modules Zoltan Boszormenyi
2021-08-23 12:55 ` [OE-core] " Bruce Ashfield
2021-08-23 13:18 ` Zoltan Boszormenyi
2021-08-23 13:27 ` Bruce Ashfield
2021-08-23 13:31 ` Zoltan Boszormenyi
2021-08-23 13:35 ` Bruce Ashfield
[not found] ` <169DF0BA24F74A88.27647@lists.openembedded.org>
2021-08-23 12:56 ` Bruce Ashfield
2021-08-23 12:23 ` [PATCH 4/6] kernel.bbclass: Adapt to KERNEL_SPLIT_MODULES != "1" case Zoltan Boszormenyi
2021-08-23 12:23 ` [PATCH 5/6] kernel.bbclass: Use full versions for inter-package dependencies Zoltan Boszormenyi
2021-08-23 13:03 ` [OE-core] " Bruce Ashfield
2021-08-23 13:29 ` Zoltan Boszormenyi
2021-08-23 13:38 ` Bruce Ashfield
2021-08-23 13:48 ` Zoltan Boszormenyi
2021-08-23 12:23 ` [PATCH 6/6] Support zstd-compressed squashfs and cpio initramfs Zoltan Boszormenyi
2021-08-23 14:47 ` Kernel related bbclass changes Zoltan Boszormenyi
2021-08-23 14:47 ` [PATCH v2 1/4] kernel-module-split.bbclass: Support zstd-compressed modules Zoltan Boszormenyi
2021-08-23 14:47 ` [PATCH v2 2/4] Allow opt-out of split kernel modules Zoltan Boszormenyi
2021-08-23 14:47 ` [PATCH v2 3/4] kernel.bbclass: Use full versions for inter-package dependencies Zoltan Boszormenyi
2021-08-23 14:47 ` [PATCH v2 4/4] Support zstd-compressed squashfs and cpio initramfs Zoltan Boszormenyi
2021-08-23 14:54 ` Kernel related bbclass changes Zoltan Boszormenyi
2021-08-27 7:37 ` Kernel and image " Zoltan Boszormenyi
2021-08-27 7:37 ` [PATCH v4 1/4] kernel-module-split.bbclass: Support zstd-compressed modules Zoltan Boszormenyi
2021-08-27 7:37 ` [PATCH v4 2/4] Allow opt-out of split kernel modules Zoltan Boszormenyi
2021-08-27 7:37 ` [PATCH v4 3/4] kernel.bbclass: Use full versions for inter-package dependencies Zoltan Boszormenyi
2021-08-30 9:30 ` [OE-core] " Andrey Zhizhikin
2021-08-30 10:06 ` Zoltan Boszormenyi
[not found] ` <b75df7be-03d8-e454-60b8-1651fc935ca5@gmail.com>
2021-08-30 10:25 ` Andrey Zhizhikin
2021-08-30 19:51 ` Jon Mason
2021-08-31 4:28 ` Zoltan Boszormenyi
2021-08-31 13:32 ` Richard Purdie
2021-08-31 13:54 ` Andrey Zhizhikin
2021-08-27 7:37 ` [PATCH v4 4/4] Support zstd-compressed squashfs and cpio initramfs Zoltan Boszormenyi
2021-08-23 14:54 ` [PATCH v3 1/4] kernel-module-split.bbclass: Support zstd-compressed modules Zoltan Boszormenyi
2021-08-23 14:54 ` [PATCH v3 2/4] Allow opt-out of split kernel modules Zoltan Boszormenyi
2021-08-23 14:54 ` [PATCH v3 3/4] kernel.bbclass: Use full versions for inter-package dependencies Zoltan Boszormenyi
2021-08-23 14:54 ` [PATCH v3 4/4] Support zstd-compressed squashfs and cpio initramfs Zoltan Boszormenyi
2021-08-26 12:04 ` Richard Purdie [this message]
2021-08-27 7:24 ` [OE-core] " Zoltan Boszormenyi
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=a789a2eaa7233e3a92e9409793d431e70c2ff5b7.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
--cc=zboszor@gmail.com \
--cc=zboszor@pr.hu \
/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