Phytec中国的wiki
support@phytec.cn
热线:0755-61802110-803
参考文档:
Error: max_leb_cnt too low 错误
这个错误是在生成ubifs文件时,由于mkfs.ubifs指令的参数设置的默认大小,小于生成的文件系统大小导致的。
我们的bsp有默认的max-leb-cnt大小配置,位于:meta-phytec/conf/machine/include/ 中的inc文件中,如:
# Use the expected value of the ubifs filesystem's volume name in the kernel UBI_VOLNAME = "root" # The biggest NANDs on current modules are 1GB. With current partition layout, # this sums up to 7943 LEBs available for the ubifs MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 8083" UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"
MKUBIFS_ARGS 这个参数设置了mkfs.ubifs 指令执行时的参数。
参数 | 意思 | 建议 |
---|---|---|
-m | flash芯片上最小的操作块大小 | 不推荐修改 |
-e | 逻辑擦除块大小 | 不推荐修改 |
-c | 最大的逻辑擦除块数量 | 如果使用的nand比较小,则可以使用小点儿的值 http://www.linux-mtd.infradead.org/faq/ubifs.html#L_max_leb_cnt |
如上面的例子中,最大为978MB:
如果生成的文件系统大于这个值,则会报这个错误,那么有两个方法解决:
- 如果必须要使用nand,则可以考虑剪裁一下文件系统,如:
- 如果可以使用emmc,或者sd卡,则可以修改local.conf中的IMAGE_FSTYPES参数,去掉ubifs:
# You can disable and enable FSTYPES as you wish. e.g. 'ext4'. # This variable is ordering dependend. IMAGE_FSTYPES = "tar.gz wic"
Overview
Content Tools
Tasks