问题描述
在正在运行的系统上成功进行了一些 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 (将#修改为@)