From 6b33c9bae79c972a711da6b719c2e924ba76b16a Mon Sep 17 00:00:00 2001
From: sbwml <admin@cooluc.com>
Date: Thu, 29 May 2025 17:12:37 +0800
Subject: [PATCH 12/12] config/include: image: add support for squashfs zstd
 compression algorithm

Signed-off-by: sbwml <admin@cooluc.com>
---
 config/Config-images.in | 7 +++++++
 include/image.mk        | 3 +++
 2 files changed, 10 insertions(+)

diff --git a/config/Config-images.in b/config/Config-images.in
index ed9ecb2..8b91b7f 100644
--- a/config/Config-images.in
+++ b/config/Config-images.in
@@ -160,6 +160,13 @@ menu "Target Images"
 			  Select squashfs block size, must be one of:
 			    4, 8, 16, 32, 64, 128, 256, 512, 1024
 
+		config TARGET_ROOTFS_SQUASHFS_ZSTD
+			bool "SquashFS Zstd"
+			depends on TARGET_ROOTFS_SQUASHFS
+			default n
+			help
+			  Build a squashfs root filesystem using zstd compression.
+
 	menuconfig TARGET_ROOTFS_UBIFS
 		bool "ubifs"
 		default y if USES_UBIFS
diff --git a/include/image.mk b/include/image.mk
index 9a4dff2..b121622 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -94,6 +94,9 @@ ifeq ($(CONFIG_SQUASHFS_XZ),y)
   endif
   SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) $(BCJ_FILTER)
 endif
+ifeq ($(CONFIG_TARGET_ROOTFS_SQUASHFS_ZSTD),y)
+  SQUASHFSCOMP := zstd -Xcompression-level 22
+endif
 
 JFFS2_BLOCKSIZE ?= 64k 128k
 
-- 
2.43.5

