是否可以为另一个分区定义一个带有“洞”的 MTD 分区?

是否可以为另一个分区定义一个带有“洞”的 MTD 分区?

我正在使用 Xilinx Linux 内核和 u-boot,它预计 u-boot 启动脚本位于 0x3e80000-0x4000000。对于 Xilinx 的开发套件来说,这是 64 MiB NOR 闪存的终结,但我使用的是更大的 (256 MiB) 闪存,并且希望将完整的 rootfs 放置在 u-boot 可以直接读取的 UBIFS 分区中(而不是使用单独的“内核”分区与一堆冗余信息)。因此,通常分区看起来像:

        partition@0 {
            label = "boot";
            reg = <0x0 0x1000000>;
        };
        partition@1000000 {
            label = "kernel";
            reg = <0x1000000 0x2E80000>;
        };
        partition@3e80000 {
            label = "bootscr";
            reg = <0x3e80000 0x180000>;
        };

我想要这样的东西:

        partition@0 {
            label = "boot";
            reg = <0x0 0x1000000>;
        };
        partition@1000000 {
            label = "ubi-1";
            reg = <0x1000000 0x2E80000>;
        };
        partition@3e80000 {
            label = "bootscr";
            reg = <0x3e80000 0x180000>;
        };
        partition@4000000 {
            label = "ubi-2";
            reg = <0x4000000 0x8000000>;
        };

我可以在其中使用ubi-1ubi-2分区来创建单个 UBIFS 卷。有没有办法做到这一点? UBIFS 系统似乎期望单个 MTD 分区位于其之上,否则我只会给它两个分区。有没有可能有一种方法可以为启动脚本分区声明一个带有“洞”的分区?

相关内容