内核启动时在挂载ubi文件系统时提示UBIFS error (ubi0:0 pid 1): ubifs_read_superblock: min. I/O unit mismatch

Posted dakewei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内核启动时在挂载ubi文件系统时提示UBIFS error (ubi0:0 pid 1): ubifs_read_superblock: min. I/O unit mismatch相关的知识,希望对你有一定的参考价值。

一.背景

1.1 笔者机器的内核错误信息如下:

UBIFS error (ubi0:0 pid 1): ubifs_read_superblock: min. I/O unit mismatch: 2048 in superblock, 8 real

1.2 笔者为ubi文件提供的flash分区大小为32MiB

二.解决方法

修改在制作ubi文件系统时的页面大小参数

mkfs.ubifs的-m是用来指定页面大小参数的,当然其它参数也是需要适当调整的

如笔者原来的参数为:-m 2048 -e 124KiB -c 4096  (指定页面大小为2048字节,指定擦除块大小为124KiB,指定擦除块数目为4096个,那么整个分区需要的大小为4096*124KiB=496MiB)

修改后的参数为:-m 1 -e 262016 -c 128 (指定页面大小为1字节,指定擦除块大小为262016字节,指定擦除块数目为128个,那么整个分区需要的大小为128 * 262016B=31.984375MiB ,注意这个大小是小于笔者提供的flash分区32MiB大小的)

 

以上是关于内核启动时在挂载ubi文件系统时提示UBIFS error (ubi0:0 pid 1): ubifs_read_superblock: min. I/O unit mismatch的主要内容,如果未能解决你的问题,请参考以下文章

使用ubifs格式的根文件系统

格式化并挂载ubi文件系统过程详解

ubifs物理存储

am335x_evm ubi文件系统编译

ubifs的开销

page size == 4096 , nand size == 1GB, block size == 256kb 的ubi 文件系统制作