summaryrefslogtreecommitdiffstats
path: root/meta/classes/kernel.bbclass
diff options
context:
space:
mode:
authorZoltán Böszörményi <zboszor@gmail.com>2021-08-27 09:37:12 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-01 14:06:17 +0100
commite492d55d02a658b7c9385dee9c92fdf830b92197 (patch)
tree42a78d92d6565f3b1a8eed1bee91a1362ede0003 /meta/classes/kernel.bbclass
parent3d2904cab5867e450f445a63e0f5e8f7938d355e (diff)
downloadpoky-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.bbclass10
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
9DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native" 9DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native bison-native"
10DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}" 10DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lzo", "lzop-native", "", d)}"
11DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}" 11DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.lz4", "lz4-native", "", d)}"
12DEPENDS += "${@bb.utils.contains("INITRAMFS_FSTYPES", "cpio.zst", "zstd-native", "", d)}"
12PACKAGE_WRITE_DEPS += "depmodwrapper-cross" 13PACKAGE_WRITE_DEPS += "depmodwrapper-cross"
13 14
14do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot gzip-native:do_populate_sysroot" 15do_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
276do_bundle_initramfs () { 282do_bundle_initramfs () {