UBIFS 卷表检查失败:错误 11

问题描述

在正在运行的系统上成功进行了一些 ubi 卷操作后,我重新启动了我的设备,结果出现此错误

  switchMap(({ uuid }) => {
    // here we would read user locale
    return this.useRSService.fetchUserLocale(uuid).pipe(
      tap((locale) => {
        this.store.dispatch(desiredAction({ uuid }));
      });
    }),);

According to the source 这是因为卷名称的位置 0 处有一个空字符。

当系统在重启前刚刚启动时我得到的 UBI error: vtbl_check: volume table check Failed: record 13,error 11 UBI error: ubi_init: cannot attach mtd2 列表实际上显示一个大小为 0 且命名为空的分区:

/proc/mtd

没有出现在我拥有的 mtd14: 00000000 0001f800 "" 的旧日志中。

由于这个微小的错误,整个 UBI 分区表没有被读取,驻留在其中的内核没有找到,设备本身完全无法运行。

解决这个问题的想法是通过一些 U-Boot 闪存直接访问机制用字母数字字符重写有问题的空字节。但由于我不知道 two copies of volume layout 在内存中的确切位置或其结构,特别是因为 U-Boot 标准 ubi 机制停止工作(即 /proc/mtd 会导致设备重置,{{1 }} 或 ubi info layout 会返回无声的响应)我不能轻易放弃和弄乱 UBI。

这是ubi read ADDRESS VOLUME

ubi part ifx_nand

U-Boot 版本:2010.06

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)