kernel: create bootfs partition when parsing on BCM4908
authorRafał Miłecki <rafal@milecki.pl>
Wed, 24 Mar 2021 17:20:13 +0000 (18:20 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Thu, 8 Apr 2021 11:16:10 +0000 (13:16 +0200)
It's helpful for accessing booting data (DTS, kernel, etc.). It has to
be used carefully as CFE's JFFS2 support is quite dumb. It doesn't
recognize deleted files and has problems handling 0 inode.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 6dd727ac24fa36ac3f23e9a5cf6781a7d1c6b797)

target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_cfe_bootfs.c

index 5c8a5e1b9b3cf7e1989c5dff59374dd7ba6f215d..a3474c9dc2740331badae126e0bcefde0640d447 100644 (file)
@@ -17,7 +17,7 @@
 #define je16_to_cpu(x) ((x).v16)
 #define je32_to_cpu(x) ((x).v32)
 
-#define NR_PARTS               1
+#define NR_PARTS               2
 
 static int mtdsplit_cfe_bootfs_parse(struct mtd_info *mtd,
                                     const struct mtd_partition **pparts,
@@ -58,12 +58,16 @@ static int mtdsplit_cfe_bootfs_parse(struct mtd_info *mtd,
        if (!parts)
                return -ENOMEM;
 
+       parts[0].name = "bootfs";
+       parts[0].offset = 0;
+       parts[0].size = rootfs_offset;
+
        if (type == MTDSPLIT_PART_TYPE_UBI)
-               parts[0].name = UBI_PART_NAME;
+               parts[1].name = UBI_PART_NAME;
        else
-               parts[0].name = ROOTFS_PART_NAME;
-       parts[0].offset = rootfs_offset;
-       parts[0].size = mtd->size - rootfs_offset;
+               parts[1].name = ROOTFS_PART_NAME;
+       parts[1].offset = rootfs_offset;
+       parts[1].size = mtd->size - rootfs_offset;
 
        *pparts = parts;