创建灵活的mtd分区

时间:2013-04-22 13:55:57

标签: linux-kernel partitioning u-boot

我想根据其内容填充分区。在系统启动期间,我想检查闪存区域是否包含任何数据。如果为true - 将其显示为只读或可重写。

我想自动制作,没有U-boot shell ......

在Linux内核级别上,我只能在分区表中静态使用它。 是否可以在U-boot中执行此操作?

感谢您的任何提示。

更新:已检查CmdLine和mtd_partition

我检查了两种可能性: U-boot mtd-parts

U-Boot> 
setenv mtdparts mtdparts=atmel_nand:2M@0x40000(u-boot),30M@0x200000(kernel),-@0x2000000(user),**0x20000@0x100000(u)**

U-Boot>
mtdparts

填充分区后不允许分区

不幸的是,它无法在表和表中添加分区。如果数据存在于0x100000区域中,我想将mtd4作为单独的分区。

可以在内核mtd_partition表中使用。但是这个表是在arch / arm ... board文件中声明的(早期启动阶段)。在这个启动阶段,我无法阅读nand。我无法访问nand驱动程序提供的nand读取接口。

更新:解决方案

感谢您提供的所有提示。在“无艺术噪音”提示后,我决定在u-boot中读取nand区域,并通过不同的内核命令行参数发送有用的参数。这非常灵活。其他一些硬件配置可以存储在闪存中并用于内核初始化。

捕获内核参数可以通过以下方式完成:early_param()函数。

0 个答案:

没有答案