制作ubifs文件系统,所遇到的问题。
在保证linux-3.0_test/arch/arm/plat-s3c24xx/common.smdk.c文件中在分区设置正确的情况下。make menuconfig选择需要注意有两点:
Device Drivers->Memory Technology Device (MTD) support->FTL (Flash Translation Layer) support 选项不要选,如果选择,会在启动内核时打印
ftl_cs信息会被打印出来。
另一点Device Drivers->Memory Technology Device (MTD) support->NAND Device Support-> Verify NAND page writes选项不要选
选择这选项之后无法启动根文件系统
注意,ubifs文件系统比较特殊,在设置bootargs的时候与之前所做的jffs2文件系统不一样
bootargs传参 ubi.mtd=2就是rootfs-ubifs文件烧录的位置,即代号为2的分区。root=ubi0 表示在各个分区烧录ubifs文件系统的序号,比如有6个分区,其中有4个分区烧录ubifs文件系统,其中第一个烧录ubifs文件系统的为ubi0,第二个为ubi0······。
区别与jffs2的bootargs 'root=/dev/mtdblock2 rootfstype=jffs2 init=/linuxrc console=ttys0,115200', ubifs的文件系统u-boot传参会有所区别。
在做rootfs-ubifs.bin时,是用shell脚本生成
脚本中这个地方的代码决定了文件系统擦写与分区设置需要的基本信息。其中SUB_PAGE_SIZE=512和VID_HDR_OFFSET=512是由硬件决定,可以想用别的文件系统挂载,在启动时查看打印信息,可以知道这个数据是多少。