内核MTD分区大小计算

在内核启动的时候会打印出MTD分区的情况,如下:

内核MTD分区大小计算

bootloader的大小:0x3c0000转换成十进制,/2/1024/1024=1.5MB

params            (0x400000-0x3c0000)转换成十进制,/2/1024=96KB

kernel            0x400000 转换成十进制,/2/1024/1024=2MB

filesystem1       0x20000000 转换成十进制,/2/1024/1024=256MB

filesysem2        (0x40000000-0x20800000)转换成十进制,/2/1024/1024=252MB

总的大小512MB

如果系统能够起来可以在终端中输入cat /proc/mtd 显示分区名称和大小

                                cat /proc/partition 显示blcok

### 配置 IMX6ULL 平台上的内核 MTD 分区 对于IMX6ULL平台而言,在配置内核MTD(Memory Technology Device)分区时,主要涉及修改设备树源文件(Device Tree Source, DTS),以定义具体的存储介质及其分区布局。 #### 修改设备树中的 MTD 定义 为了适配特定硬件需求并创建合适的内存技术器件(MTD)分区结构,需编辑对应于目标板卡的`.dts`文件。通常情况下,这些更改会涉及到以下几个方面: - **指定闪存芯片参数**:包括页大小、块大小等物理特性。 - **定义多个逻辑分区**:通过设置起始地址和长度来划分整个Flash空间为不同用途的部分,比如bootloader区域、kernel映像存放处以及根文件系统的所在位置。 具体操作步骤如下所示[^2]: ```diff diff --git a/arch/arm/boot/dts/imx6ull-alientek-emmc.dts b/arch/arm/boot/dts/imx6ull-alientek-emmc.dts --- a/arch/arm/boot/dts/imx6ull-alientek-emmc.dts +++ b/arch/arm/boot/dts/imx6ull-alientek-emmc.dts @@ -107,6 +107,29 @@ status = "okay"; }; + mtd@0 { + compatible = "fsl,imx6ul-nand"; + reg = <0>; + + partitions { + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { /* Boot Partition */ + label = "boot"; + reg = <0x00000000 0x00400000>; /* 4MB */ + }; + + partition@400000 { /* Kernel Partition */ + label = "kernel"; + reg = <0x00400000 0x00800000>; /* 8MB */ + }; + + partition@c00000 { /* RootFS Partition */ + label = "rootfs"; + reg = <0x00c00000 0xf3400000>; /* Remaining space */ + }; + }; + }; ``` 上述代码片段展示了如何向 `.dts` 文件中添加一个新的 `mtd` 节点,并为其分配三个子节点作为不同的分区——引导程序(Boot),内核(Kernel) 和 根文件系统(RootFS)。 完成以上改动之后,重新编译 device tree blob (DTB): ```bash make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx6ull-alientek-emmc.dtb ``` 最后一步是确保新生成的 DTB 文件被正确放置到启动过程中可以访问的位置,例如 TFTP服务器 或者 SD 卡 中相应路径下[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值