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