* [PATCH 0/7] Introduce SQUASHFS support in SPL
@ 2026-03-13 10:42 Richard Genoud
2026-03-13 10:42 ` [PATCH 1/7] fs/squashfs: fix sqfs_decompressor.c build " Richard Genoud
` (9 more replies)
0 siblings, 10 replies; 13+ messages in thread
From: Richard Genoud @ 2026-03-13 10:42 UTC (permalink / raw)
To: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa
Cc: Thomas Petazzoni, Miquel Raynal, u-boot, Richard Genoud
SquashFS has support in U-Boot, but not in SPL.
This series adds the possibility for the SPL to load files from SquashFS
partitions.
This is useful, for instance, when there's a SquashFS rootfs containing
U-Boot binary.
NB: falcon mode is not supported yet.
Richard Genoud (7):
fs/squashfs: fix sqfs_decompressor.c build in SPL
fs/squashfs: sqfs_decompressor: simplify code
fs/squashfs: squashfs.h: include file should be self dependent
spl: add squashfs support
spl: mmc: support squashfs
MAINTAINERS: SQUASHFS: update João Marcos Costa email
MAINTAINERS: SQUASHFS: Add myself as co-maintainer
MAINTAINERS | 6 ++-
common/spl/Makefile | 1 +
common/spl/spl_mmc.c | 19 +++++---
common/spl/spl_squashfs.c | 78 +++++++++++++++++++++++++++++++++
fs/squashfs/sqfs.c | 12 +++--
fs/squashfs/sqfs_decompressor.c | 71 ++++++++++--------------------
include/part.h | 1 +
include/spl.h | 6 +++
include/squashfs.h | 5 ++-
9 files changed, 135 insertions(+), 64 deletions(-)
create mode 100644 common/spl/spl_squashfs.c
base-commit: ba7bf918dafcd093ad733b07ba490baeb20cf5da
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/7] fs/squashfs: fix sqfs_decompressor.c build in SPL
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
@ 2026-03-13 10:42 ` Richard Genoud
2026-03-13 10:42 ` [PATCH 2/7] fs/squashfs: sqfs_decompressor: simplify code Richard Genoud
` (8 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Richard Genoud @ 2026-03-13 10:42 UTC (permalink / raw)
To: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa
Cc: Thomas Petazzoni, Miquel Raynal, u-boot, Richard Genoud
CONFIG_IS_ENABLED() must be used in place of IS_ENABLED() for config
options that have a _SPL_ counterpart.
Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
---
fs/squashfs/sqfs_decompressor.c | 36 ++++++++++++++++-----------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/fs/squashfs/sqfs_decompressor.c b/fs/squashfs/sqfs_decompressor.c
index cfd1153fd74a..d54f087274c3 100644
--- a/fs/squashfs/sqfs_decompressor.c
+++ b/fs/squashfs/sqfs_decompressor.c
@@ -10,19 +10,19 @@
#include <stdio.h>
#include <stdlib.h>
-#if IS_ENABLED(CONFIG_LZO)
+#if CONFIG_IS_ENABLED(LZO)
#include <linux/lzo.h>
#endif
-#if IS_ENABLED(CONFIG_ZLIB)
+#if CONFIG_IS_ENABLED(ZLIB)
#include <u-boot/zlib.h>
#endif
-#if IS_ENABLED(CONFIG_LZ4)
+#if CONFIG_IS_ENABLED(LZ4)
#include <u-boot/lz4.h>
#endif
-#if IS_ENABLED(CONFIG_ZSTD)
+#if CONFIG_IS_ENABLED(ZSTD)
#include <linux/zstd.h>
#endif
@@ -34,19 +34,19 @@ int sqfs_decompressor_init(struct squashfs_ctxt *ctxt)
u16 comp_type = get_unaligned_le16(&ctxt->sblk->compression);
switch (comp_type) {
-#if IS_ENABLED(CONFIG_LZO)
+#if CONFIG_IS_ENABLED(LZO)
case SQFS_COMP_LZO:
break;
#endif
-#if IS_ENABLED(CONFIG_ZLIB)
+#if CONFIG_IS_ENABLED(ZLIB)
case SQFS_COMP_ZLIB:
break;
#endif
-#if IS_ENABLED(CONFIG_LZ4)
+#if CONFIG_IS_ENABLED(LZ4)
case SQFS_COMP_LZ4:
break;
#endif
-#if IS_ENABLED(CONFIG_ZSTD)
+#if CONFIG_IS_ENABLED(ZSTD)
case SQFS_COMP_ZSTD:
ctxt->zstd_workspace = malloc(zstd_dctx_workspace_bound());
if (!ctxt->zstd_workspace)
@@ -66,19 +66,19 @@ void sqfs_decompressor_cleanup(struct squashfs_ctxt *ctxt)
u16 comp_type = get_unaligned_le16(&ctxt->sblk->compression);
switch (comp_type) {
-#if IS_ENABLED(CONFIG_LZO)
+#if CONFIG_IS_ENABLED(LZO)
case SQFS_COMP_LZO:
break;
#endif
-#if IS_ENABLED(CONFIG_ZLIB)
+#if CONFIG_IS_ENABLED(ZLIB)
case SQFS_COMP_ZLIB:
break;
#endif
-#if IS_ENABLED(CONFIG_LZ4)
+#if CONFIG_IS_ENABLED(LZ4)
case SQFS_COMP_LZ4:
break;
#endif
-#if IS_ENABLED(CONFIG_ZSTD)
+#if CONFIG_IS_ENABLED(ZSTD)
case SQFS_COMP_ZSTD:
free(ctxt->zstd_workspace);
break;
@@ -86,7 +86,7 @@ void sqfs_decompressor_cleanup(struct squashfs_ctxt *ctxt)
}
}
-#if IS_ENABLED(CONFIG_ZLIB)
+#if CONFIG_IS_ENABLED(ZLIB)
static void zlib_decompression_status(int ret)
{
switch (ret) {
@@ -103,7 +103,7 @@ static void zlib_decompression_status(int ret)
}
#endif
-#if IS_ENABLED(CONFIG_ZSTD)
+#if CONFIG_IS_ENABLED(ZSTD)
static int sqfs_zstd_decompress(struct squashfs_ctxt *ctxt, void *dest,
unsigned long dest_len, void *source, u32 src_len)
{
@@ -129,7 +129,7 @@ int sqfs_decompress(struct squashfs_ctxt *ctxt, void *dest,
int ret = 0;
switch (comp_type) {
-#if IS_ENABLED(CONFIG_LZO)
+#if CONFIG_IS_ENABLED(LZO)
case SQFS_COMP_LZO: {
size_t lzo_dest_len = *dest_len;
ret = lzo1x_decompress_safe(source, src_len, dest, &lzo_dest_len);
@@ -141,7 +141,7 @@ int sqfs_decompress(struct squashfs_ctxt *ctxt, void *dest,
break;
}
#endif
-#if IS_ENABLED(CONFIG_ZLIB)
+#if CONFIG_IS_ENABLED(ZLIB)
case SQFS_COMP_ZLIB:
ret = uncompress(dest, dest_len, source, src_len);
if (ret) {
@@ -151,7 +151,7 @@ int sqfs_decompress(struct squashfs_ctxt *ctxt, void *dest,
break;
#endif
-#if IS_ENABLED(CONFIG_LZ4)
+#if CONFIG_IS_ENABLED(LZ4)
case SQFS_COMP_LZ4:
ret = LZ4_decompress_safe(source, dest, src_len, *dest_len);
if (ret < 0) {
@@ -162,7 +162,7 @@ int sqfs_decompress(struct squashfs_ctxt *ctxt, void *dest,
ret = 0;
break;
#endif
-#if IS_ENABLED(CONFIG_ZSTD)
+#if CONFIG_IS_ENABLED(ZSTD)
case SQFS_COMP_ZSTD:
ret = sqfs_zstd_decompress(ctxt, dest, *dest_len, source, src_len);
if (ret) {
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/7] fs/squashfs: sqfs_decompressor: simplify code
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
2026-03-13 10:42 ` [PATCH 1/7] fs/squashfs: fix sqfs_decompressor.c build " Richard Genoud
@ 2026-03-13 10:42 ` Richard Genoud
2026-03-13 10:42 ` [PATCH 3/7] fs/squashfs: squashfs.h: include file should be self dependent Richard Genoud
` (7 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Richard Genoud @ 2026-03-13 10:42 UTC (permalink / raw)
To: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa
Cc: Thomas Petazzoni, Miquel Raynal, u-boot, Richard Genoud
Switch to if (CONFIG_IS_ENABLED()) instead of #if when possible and
remove unnecessary cases.
Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
---
fs/squashfs/sqfs_decompressor.c | 49 ++++++++-------------------------
1 file changed, 12 insertions(+), 37 deletions(-)
diff --git a/fs/squashfs/sqfs_decompressor.c b/fs/squashfs/sqfs_decompressor.c
index d54f087274c3..a156cfe6f65a 100644
--- a/fs/squashfs/sqfs_decompressor.c
+++ b/fs/squashfs/sqfs_decompressor.c
@@ -33,57 +33,32 @@ int sqfs_decompressor_init(struct squashfs_ctxt *ctxt)
{
u16 comp_type = get_unaligned_le16(&ctxt->sblk->compression);
- switch (comp_type) {
-#if CONFIG_IS_ENABLED(LZO)
- case SQFS_COMP_LZO:
- break;
-#endif
-#if CONFIG_IS_ENABLED(ZLIB)
- case SQFS_COMP_ZLIB:
- break;
-#endif
-#if CONFIG_IS_ENABLED(LZ4)
- case SQFS_COMP_LZ4:
- break;
-#endif
+ if (((CONFIG_IS_ENABLED(LZO) && comp_type == SQFS_COMP_LZO)) ||
+ ((CONFIG_IS_ENABLED(ZLIB) && comp_type == SQFS_COMP_ZLIB)) ||
+ ((CONFIG_IS_ENABLED(LZ4) && comp_type == SQFS_COMP_LZ4)))
+ return 0;
+
#if CONFIG_IS_ENABLED(ZSTD)
- case SQFS_COMP_ZSTD:
+ if (comp_type == SQFS_COMP_ZSTD) {
ctxt->zstd_workspace = malloc(zstd_dctx_workspace_bound());
if (!ctxt->zstd_workspace)
return -ENOMEM;
- break;
-#endif
- default:
- printf("Error: unknown compression type.\n");
- return -EINVAL;
+ return 0;
}
+#endif
- return 0;
+ printf("Error: unknown compression type.\n");
+ return -EINVAL;
}
void sqfs_decompressor_cleanup(struct squashfs_ctxt *ctxt)
{
+#if CONFIG_IS_ENABLED(ZSTD)
u16 comp_type = get_unaligned_le16(&ctxt->sblk->compression);
- switch (comp_type) {
-#if CONFIG_IS_ENABLED(LZO)
- case SQFS_COMP_LZO:
- break;
-#endif
-#if CONFIG_IS_ENABLED(ZLIB)
- case SQFS_COMP_ZLIB:
- break;
-#endif
-#if CONFIG_IS_ENABLED(LZ4)
- case SQFS_COMP_LZ4:
- break;
-#endif
-#if CONFIG_IS_ENABLED(ZSTD)
- case SQFS_COMP_ZSTD:
+ if (comp_type == SQFS_COMP_ZSTD)
free(ctxt->zstd_workspace);
- break;
#endif
- }
}
#if CONFIG_IS_ENABLED(ZLIB)
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/7] fs/squashfs: squashfs.h: include file should be self dependent
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
2026-03-13 10:42 ` [PATCH 1/7] fs/squashfs: fix sqfs_decompressor.c build " Richard Genoud
2026-03-13 10:42 ` [PATCH 2/7] fs/squashfs: sqfs_decompressor: simplify code Richard Genoud
@ 2026-03-13 10:42 ` Richard Genoud
2026-03-13 15:15 ` Tom Rini
2026-03-13 10:42 ` [PATCH 4/7] spl: add squashfs support Richard Genoud
` (6 subsequent siblings)
9 siblings, 1 reply; 13+ messages in thread
From: Richard Genoud @ 2026-03-13 10:42 UTC (permalink / raw)
To: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa
Cc: Thomas Petazzoni, Miquel Raynal, u-boot, Richard Genoud
Otherwise, we get a lot of errors when including this file.
Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
---
include/squashfs.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/squashfs.h b/include/squashfs.h
index 7489eefa1f2f..83ed8a494428 100644
--- a/include/squashfs.h
+++ b/include/squashfs.h
@@ -10,7 +10,10 @@
#ifndef _SQFS_H_
#define _SQFS_H_
-struct disk_partition;
+#include <fs.h>
+#include <blk.h>
+#include <part.h>
+#include <linux/types.h>
int sqfs_opendir(const char *filename, struct fs_dir_stream **dirsp);
int sqfs_readdir(struct fs_dir_stream *dirs, struct fs_dirent **dentp);
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/7] spl: add squashfs support
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
` (2 preceding siblings ...)
2026-03-13 10:42 ` [PATCH 3/7] fs/squashfs: squashfs.h: include file should be self dependent Richard Genoud
@ 2026-03-13 10:42 ` Richard Genoud
2026-03-13 10:42 ` [PATCH 5/7] spl: mmc: support squashfs Richard Genoud
` (5 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Richard Genoud @ 2026-03-13 10:42 UTC (permalink / raw)
To: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa
Cc: Thomas Petazzoni, Miquel Raynal, u-boot, Richard Genoud
Implement spl_load_image_sqfs() in spl code.
This will be used in MMC to read a file from a squashfs partition.
Also, loosen squashfs read checks on file size by not failing when a
bigger size than the actual file size is requested. (Just read the file)
This is needed for FIT loading, because the length is ALIGNed.
Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
---
common/spl/Makefile | 1 +
common/spl/spl_squashfs.c | 78 +++++++++++++++++++++++++++++++++++++++
fs/squashfs/sqfs.c | 12 +++---
include/part.h | 1 +
include/spl.h | 6 +++
5 files changed, 91 insertions(+), 7 deletions(-)
create mode 100644 common/spl/spl_squashfs.c
diff --git a/common/spl/Makefile b/common/spl/Makefile
index 4c9482bd3096..53cc45fc5b9b 100644
--- a/common/spl/Makefile
+++ b/common/spl/Makefile
@@ -29,6 +29,7 @@ obj-$(CONFIG_$(PHASE_)OPENSBI) += spl_opensbi.o
obj-$(CONFIG_$(PHASE_)USB_STORAGE) += spl_usb.o
obj-$(CONFIG_$(PHASE_)FS_FAT) += spl_fat.o
obj-$(CONFIG_$(PHASE_)FS_EXT4) += spl_ext.o
+obj-$(CONFIG_$(PHASE_)FS_SQUASHFS) += spl_squashfs.o
obj-$(CONFIG_$(PHASE_)LOAD_IMX_CONTAINER) += spl_imx_container.o
obj-$(CONFIG_$(PHASE_)SATA) += spl_sata.o
obj-$(CONFIG_$(PHASE_)NVME) += spl_nvme.o
diff --git a/common/spl/spl_squashfs.c b/common/spl/spl_squashfs.c
new file mode 100644
index 000000000000..d3b1c70bfc45
--- /dev/null
+++ b/common/spl/spl_squashfs.c
@@ -0,0 +1,78 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2020 Paratronic
+ * Copyright (C) 2026 Bootlin
+ *
+ * Author: Richard Genoud <richard.genoud@bootlin.com>
+ *
+ */
+
+#include <env.h>
+#include <part.h>
+#include <spl.h>
+#include <spl_load.h>
+#include <squashfs.h>
+#include <errno.h>
+#include <image.h>
+
+static ulong spl_fit_read(struct spl_load_info *load, ulong file_offset,
+ ulong size, void *buf)
+{
+ struct legacy_img_hdr *header;
+ char *filename = load->priv;
+ loff_t actread;
+ int ret;
+
+ ret = sqfs_read(filename, buf, file_offset, size, &actread);
+ if (ret)
+ return ret;
+
+ if (CONFIG_IS_ENABLED(OS_BOOT)) {
+ header = (struct legacy_img_hdr *)buf;
+ if (image_get_magic(header) != FDT_MAGIC)
+ return size;
+ }
+
+ return actread;
+}
+
+int spl_load_image_sqfs(struct spl_image_info *spl_image,
+ struct spl_boot_device *bootdev,
+ struct blk_desc *block_dev, int partition,
+ const char *filename)
+{
+ int err;
+ loff_t size = 0;
+ struct spl_load_info load;
+ struct disk_partition part_info = {};
+
+ err = part_get_info(block_dev, partition, &part_info);
+ if (err) {
+ printf("spl: no partition table found\n");
+ goto end;
+ }
+
+ err = sqfs_probe(block_dev, &part_info);
+ if (err) {
+ printf("spl: sqfs probe err part_name:%s type=%s err=%d\n",
+ part_info.name, part_info.type, err);
+ goto end;
+ }
+
+ if (IS_ENABLED(CONFIG_SPL_LOAD_FIT_FULL)) {
+ err = sqfs_size(filename, &size);
+ if (err)
+ goto end;
+ }
+
+ spl_load_init(&load, spl_fit_read, (void *)filename, 1);
+
+ err = spl_load(spl_image, bootdev, &load, size, 0);
+
+end:
+ if (err < 0)
+ printf("%s: error reading image %s, err - %d\n",
+ __func__, filename, err);
+
+ return err;
+}
diff --git a/fs/squashfs/sqfs.c b/fs/squashfs/sqfs.c
index 9cb8b4afcddb..543db8c7e9ec 100644
--- a/fs/squashfs/sqfs.c
+++ b/fs/squashfs/sqfs.c
@@ -1490,13 +1490,11 @@ static int sqfs_read_nest(const char *filename, void *buf, loff_t offset,
goto out;
}
- /* If the user specifies a length, check its sanity */
- if (len) {
- if (len > finfo.size) {
- ret = -EINVAL;
- goto out;
- }
-
+ /*
+ * For FIT loading, the len is ALIGN, so it may exceed the actual size.
+ * Let's just read the max.
+ */
+ if (len && len < finfo.size) {
finfo.size = len;
} else {
len = finfo.size;
diff --git a/include/part.h b/include/part.h
index daebbbc2e68f..9679521825f7 100644
--- a/include/part.h
+++ b/include/part.h
@@ -461,6 +461,7 @@ ulong disk_blk_erase(struct udevice *dev, lbaint_t start, lbaint_t blkcnt);
#ifdef CONFIG_XPL_BUILD
# define part_print_ptr(x) NULL
# if defined(CONFIG_SPL_FS_EXT4) || defined(CONFIG_SPL_FS_FAT) || \
+ defined(CONFIG_SPL_FS_SQUASHFS) || \
defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION) || \
defined(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE)
# define part_get_info_ptr(x) x
diff --git a/include/spl.h b/include/spl.h
index 06dc28362d3f..5078d7525abb 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -882,6 +882,12 @@ int spl_blk_load_image(struct spl_image_info *spl_image,
struct spl_boot_device *bootdev,
enum uclass_id uclass_id, int devnum, int partnum);
+/* SPL SQUASHFS image functions */
+int spl_load_image_sqfs(struct spl_image_info *spl_image,
+ struct spl_boot_device *bootdev,
+ struct blk_desc *block_dev, int partition,
+ const char *filename);
+
/**
* spl_early_init() - Set up device tree and driver model in SPL if enabled
*
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/7] spl: mmc: support squashfs
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
` (3 preceding siblings ...)
2026-03-13 10:42 ` [PATCH 4/7] spl: add squashfs support Richard Genoud
@ 2026-03-13 10:42 ` Richard Genoud
2026-03-13 10:42 ` [PATCH 6/7] MAINTAINERS: SQUASHFS: update João Marcos Costa email Richard Genoud
` (4 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Richard Genoud @ 2026-03-13 10:42 UTC (permalink / raw)
To: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa
Cc: Thomas Petazzoni, Miquel Raynal, u-boot, Richard Genoud
spl_mmc_do_fs_boot supports now loading an image from squashfs.
Also, convert #if defined(CONFIG_SPL_xx) to if (CONFIG_IS_ENABLED(xx))
Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
---
common/spl/spl_mmc.c | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index 47cfe4aef58f..cc16709dc9b1 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -226,6 +226,11 @@ static int __maybe_unused spl_mmc_fs_load(struct spl_image_info *spl_image,
if (!err)
return 0;
}
+ if (CONFIG_IS_ENABLED(FS_SQUASHFS)) {
+ err = spl_load_image_sqfs(spl_image, bootdev, blk_dev, part, file);
+ if (!err)
+ return 0;
+ }
return err;
}
@@ -284,13 +289,15 @@ static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image,
u32 __weak spl_mmc_boot_mode(struct mmc *mmc, const u32 boot_device)
{
-#if defined(CONFIG_SPL_FS_FAT) || defined(CONFIG_SPL_FS_EXT4)
- return MMCSD_MODE_FS;
-#elif defined(CONFIG_SUPPORT_EMMC_BOOT)
- return MMCSD_MODE_EMMCBOOT;
-#else
+ if (CONFIG_IS_ENABLED(FS_FAT) ||
+ CONFIG_IS_ENABLED(FS_EXT4) ||
+ CONFIG_IS_ENABLED(FS_SQUASHFS))
+ return MMCSD_MODE_FS;
+
+ if (IS_ENABLED(CONFIG_SUPPORT_EMMC_BOOT))
+ return MMCSD_MODE_EMMCBOOT;
+
return MMCSD_MODE_RAW;
-#endif
}
#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6/7] MAINTAINERS: SQUASHFS: update João Marcos Costa email
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
` (4 preceding siblings ...)
2026-03-13 10:42 ` [PATCH 5/7] spl: mmc: support squashfs Richard Genoud
@ 2026-03-13 10:42 ` Richard Genoud
2026-03-13 10:42 ` [PATCH 7/7] MAINTAINERS: SQUASHFS: Add myself as co-maintainer Richard Genoud
` (3 subsequent siblings)
9 siblings, 0 replies; 13+ messages in thread
From: Richard Genoud @ 2026-03-13 10:42 UTC (permalink / raw)
To: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa
Cc: Thomas Petazzoni, Miquel Raynal, u-boot, Richard Genoud
João is using his Bootlin address now.
Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
---
MAINTAINERS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index d2040fee2523..73be3d545fb0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1768,7 +1768,7 @@ F: drivers/spmi/
F: include/spmi/
SQUASHFS
-M: Joao Marcos Costa <jmcosta944@gmail.com>
+M: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
R: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
R: Miquel Raynal <miquel.raynal@bootlin.com>
S: Maintained
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 7/7] MAINTAINERS: SQUASHFS: Add myself as co-maintainer
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
` (5 preceding siblings ...)
2026-03-13 10:42 ` [PATCH 6/7] MAINTAINERS: SQUASHFS: update João Marcos Costa email Richard Genoud
@ 2026-03-13 10:42 ` Richard Genoud
2026-03-13 15:17 ` Tom Rini
2026-03-16 9:38 ` [PATCH 0/7] Introduce SQUASHFS support in SPL Joao Marcos Costa
` (2 subsequent siblings)
9 siblings, 1 reply; 13+ messages in thread
From: Richard Genoud @ 2026-03-13 10:42 UTC (permalink / raw)
To: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa
Cc: Thomas Petazzoni, Miquel Raynal, u-boot, Richard Genoud
I propose myself to maintain the squashfs files with João.
Also, reorder patterns in alphabetical order.
Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
---
MAINTAINERS | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index 73be3d545fb0..e9b04bbfea59 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1769,12 +1769,14 @@ F: include/spmi/
SQUASHFS
M: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
+M: Richard Genoud <richard.genoud@bootlin.com>
R: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
R: Miquel Raynal <miquel.raynal@bootlin.com>
S: Maintained
+F: cmd/sqfs.c
+F: common/spl/spl_squashfs.c
F: fs/squashfs/
F: include/sqfs.h
-F: cmd/sqfs.c
F: test/py/tests/test_fs/test_squashfs/
STACKPROTECTOR
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 3/7] fs/squashfs: squashfs.h: include file should be self dependent
2026-03-13 10:42 ` [PATCH 3/7] fs/squashfs: squashfs.h: include file should be self dependent Richard Genoud
@ 2026-03-13 15:15 ` Tom Rini
0 siblings, 0 replies; 13+ messages in thread
From: Tom Rini @ 2026-03-13 15:15 UTC (permalink / raw)
To: Richard Genoud
Cc: Peng Fan, Jaehoon Chung, Joao Marcos Costa, Thomas Petazzoni,
Miquel Raynal, u-boot
[-- Attachment #1: Type: text/plain, Size: 254 bytes --]
On Fri, Mar 13, 2026 at 11:42:25AM +0100, Richard Genoud wrote:
> Otherwise, we get a lot of errors when including this file.
>
> Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 7/7] MAINTAINERS: SQUASHFS: Add myself as co-maintainer
2026-03-13 10:42 ` [PATCH 7/7] MAINTAINERS: SQUASHFS: Add myself as co-maintainer Richard Genoud
@ 2026-03-13 15:17 ` Tom Rini
0 siblings, 0 replies; 13+ messages in thread
From: Tom Rini @ 2026-03-13 15:17 UTC (permalink / raw)
To: Richard Genoud
Cc: Peng Fan, Jaehoon Chung, Joao Marcos Costa, Thomas Petazzoni,
Miquel Raynal, u-boot
[-- Attachment #1: Type: text/plain, Size: 306 bytes --]
On Fri, Mar 13, 2026 at 11:42:29AM +0100, Richard Genoud wrote:
> I propose myself to maintain the squashfs files with João.
>
> Also, reorder patterns in alphabetical order.
>
> Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/7] Introduce SQUASHFS support in SPL
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
` (6 preceding siblings ...)
2026-03-13 10:42 ` [PATCH 7/7] MAINTAINERS: SQUASHFS: Add myself as co-maintainer Richard Genoud
@ 2026-03-16 9:38 ` Joao Marcos Costa
2026-03-16 16:22 ` Miquel Raynal
2026-03-26 18:31 ` Tom Rini
9 siblings, 0 replies; 13+ messages in thread
From: Joao Marcos Costa @ 2026-03-16 9:38 UTC (permalink / raw)
To: Richard Genoud, Tom Rini, Peng Fan, Jaehoon Chung
Cc: Thomas Petazzoni, Miquel Raynal, u-boot
Hello, folks
Thanks for the series, Richard!
On 3/13/26 11:42, Richard Genoud wrote:
> SquashFS has support in U-Boot, but not in SPL.
>
> This series adds the possibility for the SPL to load files from SquashFS
> partitions.
> This is useful, for instance, when there's a SquashFS rootfs containing
> U-Boot binary.
>
> NB: falcon mode is not supported yet.
>
> Richard Genoud (7):
> fs/squashfs: fix sqfs_decompressor.c build in SPL
> fs/squashfs: sqfs_decompressor: simplify code
> fs/squashfs: squashfs.h: include file should be self dependent
> spl: add squashfs support
> spl: mmc: support squashfs
> MAINTAINERS: SQUASHFS: update João Marcos Costa email
> MAINTAINERS: SQUASHFS: Add myself as co-maintainer
>
> MAINTAINERS | 6 ++-
> common/spl/Makefile | 1 +
> common/spl/spl_mmc.c | 19 +++++---
> common/spl/spl_squashfs.c | 78 +++++++++++++++++++++++++++++++++
> fs/squashfs/sqfs.c | 12 +++--
> fs/squashfs/sqfs_decompressor.c | 71 ++++++++++--------------------
> include/part.h | 1 +
> include/spl.h | 6 +++
> include/squashfs.h | 5 ++-
> 9 files changed, 135 insertions(+), 64 deletions(-)
> create mode 100644 common/spl/spl_squashfs.c
>
>
> base-commit: ba7bf918dafcd093ad733b07ba490baeb20cf5da
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
--
Best regards,
João Marcos Costa
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/7] Introduce SQUASHFS support in SPL
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
` (7 preceding siblings ...)
2026-03-16 9:38 ` [PATCH 0/7] Introduce SQUASHFS support in SPL Joao Marcos Costa
@ 2026-03-16 16:22 ` Miquel Raynal
2026-03-26 18:31 ` Tom Rini
9 siblings, 0 replies; 13+ messages in thread
From: Miquel Raynal @ 2026-03-16 16:22 UTC (permalink / raw)
To: Richard Genoud
Cc: Tom Rini, Peng Fan, Jaehoon Chung, Joao Marcos Costa,
Thomas Petazzoni, u-boot
Hello,
On 13/03/2026 at 11:42:22 +01, Richard Genoud <richard.genoud@bootlin.com> wrote:
> SquashFS has support in U-Boot, but not in SPL.
>
> This series adds the possibility for the SPL to load files from SquashFS
> partitions.
> This is useful, for instance, when there's a SquashFS rootfs containing
> U-Boot binary.
I haven't made a deep review, but I am very enthusiastic to eventually
see this upstream, thanks Richard!
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Miquèl
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/7] Introduce SQUASHFS support in SPL
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
` (8 preceding siblings ...)
2026-03-16 16:22 ` Miquel Raynal
@ 2026-03-26 18:31 ` Tom Rini
9 siblings, 0 replies; 13+ messages in thread
From: Tom Rini @ 2026-03-26 18:31 UTC (permalink / raw)
To: Peng Fan, Jaehoon Chung, Joao Marcos Costa, Richard Genoud
Cc: Thomas Petazzoni, Miquel Raynal, u-boot
On Fri, 13 Mar 2026 11:42:22 +0100, Richard Genoud wrote:
> SquashFS has support in U-Boot, but not in SPL.
>
> This series adds the possibility for the SPL to load files from SquashFS
> partitions.
> This is useful, for instance, when there's a SquashFS rootfs containing
> U-Boot binary.
>
> [...]
Applied to u-boot/next, thanks!
[1/7] fs/squashfs: fix sqfs_decompressor.c build in SPL
commit: f0b4f502bdd5f17da58aca9ebf86e16e96e0d347
[2/7] fs/squashfs: sqfs_decompressor: simplify code
commit: 0fe2801730edb99e24b601b043ec5595af319274
[3/7] fs/squashfs: squashfs.h: include file should be self dependent
commit: 5e23f7f9f3b3c8fe78ed3aadeed9b187ba8930da
[4/7] spl: add squashfs support
commit: 6494e823b46ced400764b6203d7480c9e3badc20
[5/7] spl: mmc: support squashfs
commit: fb0df3552892ff150edaf7579989fd4750ee85ee
[6/7] MAINTAINERS: SQUASHFS: update João Marcos Costa email
commit: eed18b1e25051123804d26525d600c9d2cd76e2c
[7/7] MAINTAINERS: SQUASHFS: Add myself as co-maintainer
commit: 868233099d873cc8e2f8b99f609bdbaed421eab7
--
Tom
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2026-03-26 18:31 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-13 10:42 [PATCH 0/7] Introduce SQUASHFS support in SPL Richard Genoud
2026-03-13 10:42 ` [PATCH 1/7] fs/squashfs: fix sqfs_decompressor.c build " Richard Genoud
2026-03-13 10:42 ` [PATCH 2/7] fs/squashfs: sqfs_decompressor: simplify code Richard Genoud
2026-03-13 10:42 ` [PATCH 3/7] fs/squashfs: squashfs.h: include file should be self dependent Richard Genoud
2026-03-13 15:15 ` Tom Rini
2026-03-13 10:42 ` [PATCH 4/7] spl: add squashfs support Richard Genoud
2026-03-13 10:42 ` [PATCH 5/7] spl: mmc: support squashfs Richard Genoud
2026-03-13 10:42 ` [PATCH 6/7] MAINTAINERS: SQUASHFS: update João Marcos Costa email Richard Genoud
2026-03-13 10:42 ` [PATCH 7/7] MAINTAINERS: SQUASHFS: Add myself as co-maintainer Richard Genoud
2026-03-13 15:17 ` Tom Rini
2026-03-16 9:38 ` [PATCH 0/7] Introduce SQUASHFS support in SPL Joao Marcos Costa
2026-03-16 16:22 ` Miquel Raynal
2026-03-26 18:31 ` Tom Rini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox