diff options
author | Zoltán Böszörményi <zboszor@gmail.com> | 2021-08-27 09:37:12 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-09-01 14:06:17 +0100 |
commit | e492d55d02a658b7c9385dee9c92fdf830b92197 (patch) | |
tree | 42a78d92d6565f3b1a8eed1bee91a1362ede0003 /meta/classes/kernel.bbclass | |
parent | 3d2904cab5867e450f445a63e0f5e8f7938d355e (diff) | |
download | poky-e492d55d02a658b7c9385dee9c92fdf830b92197.tar.gz |
base/kernel: Support zstd-compressed squashfs and cpio initramfs
Enable zstd PACKAGECONFIG knob for squashfs-tools and add support for zstd
compressed initramfs and squashfs.
(From OE-Core rev: fa146049eec5f9730781830270cc9dc55a2146f7)
Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/kernel.bbclass')
-rw-r--r-- | meta/classes/kernel.bbclass | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 2a7d114ed4..d13c38fb02 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 | |||
9 | DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native" | 9 | DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native" |
10 | DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}" | 10 | DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}" |
11 | DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}" | 11 | DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}" |
12 | DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.zst", "zstd-native", "", d)}" | ||
12 | PACKAGE_WRITE_DEPS += "depmodwrapper-cross" | 13 | PACKAGE_WRITE_DEPS += "depmodwrapper-cross" |
13 | 14 | ||
14 | do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot gzip-native:do_populate_sysroot" | 15 | do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot gzip-native:do_populate_sysroot" |
@@ -236,7 +237,7 @@ copy_initramfs() { | |||
236 | mkdir -p ${B}/usr | 237 | mkdir -p ${B}/usr |
237 | # Find and use the first initramfs image archive type we find | 238 | # Find and use the first initramfs image archive type we find |
238 | rm -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio | 239 | rm -f ${B}/usr/${INITRAMFS_IMAGE_NAME}.cpio |
239 | for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz; do | 240 | for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.zst; do |
240 | if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img" ]; then | 241 | if [ -e "${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img" ]; then |
241 | cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img ${B}/usr/. | 242 | cp ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE_NAME}.$img ${B}/usr/. |
242 | case $img in | 243 | case $img in |
@@ -265,12 +266,17 @@ copy_initramfs() { | |||
265 | xz -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img | 266 | xz -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img |
266 | break | 267 | break |
267 | ;; | 268 | ;; |
269 | *zst) | ||
270 | echo "zst decompressing image" | ||
271 | zstd -df ${B}/usr/${INITRAMFS_IMAGE_NAME}.$img | ||
272 | break | ||
273 | ;; | ||
268 | esac | 274 | esac |
269 | break | 275 | break |
270 | fi | 276 | fi |
271 | done | 277 | done |
272 | # Verify that the above loop found a initramfs, fail otherwise | 278 | # Verify that the above loop found a initramfs, fail otherwise |
273 | [ -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." | 279 | [ -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." |
274 | } | 280 | } |
275 | 281 | ||
276 | do_bundle_initramfs () { | 282 | do_bundle_initramfs () { |