【UBI】ubi问题总结
一、挂载成功后,使用正常。有时会出现:
UBIFS error (pid 76): ubifs_read_node: bad node type (255 but expected 1)
UBIFS error (pid 76): ubifs_read_node: bad node at LEB 31:20480, LEB mapping status 0
UBIFS error (pid 76): do_readpage: cannot read page 0 of inode 70, error -22
1.在uboot里,setenv nand_root ubi0:rootfs rw ubi.mtd= (此处对应),2048
2.制作imgae时,mkfs.ubifs -c 这个参数要仔细计算,些参数影响较大,再就是改一下ubinize.cfg这个文件的相关参数,要经过计算
3.看驱动,以用硬件连接,不要造成flash的只读情况出现
二、还是ubifs_read_node 报错,还会有类似oops的错误
UBIFS: default compressor: LZO
UBIFS: reserved for root: 0 bytes (0 KiB)
UBIFS error (pid 0): ubifs_read_node: bad node type (255 but expected 9)
UBIFS error (pid 0): ubifs_read_node: bad node at LEB 85:60448
UBIFS error (pid 0): ubifs_iget: failed to read inode 1, error -22
Machine check in kernel mode.
Caused by (from msr): regs 0fe7ca88 Unknown values in msr
NIP: 0FFB7C80 XER: 00000000 LR: 0FFB7C5C REGS: 0fe7ca88 TRAP: 0200 DAR: 00000000
MSR: 0000b032 EE: 1 PR: 0 FP: 1 ME: 1 IR/DR: 11
GPR00: 0004434C 0FE7CB78 0FE7CF50 FFFF7FFF 0FFF8020 00000000 0FFF8020 FFFF7FF7
GPR08: 00021AE8 DC0FFF80 0FFF83F8 0FFF83F8 22044024 7037FFBF 0FFFB000 00000000
GPR16: 0FFECF7C 0FFF691C 00000000 00000000 0FEE1310 0FEDFB28 FFFFF000 0FEE0BA0
GPR24: 00000000 00000003 0FEE129C 00000001 00000001 0FFF9100 0FFFBFA8 0FEE0C88
Call backtrace:
0FEE0C88 0FFCABFC 0FFCBEE8 0FFCC050 0FFB6590 0FFBC468 0FFBBB78
0FFBBD98 0FFBD728 0FFBC468 0FFBBB78 0FFBBD98 0FFBE7D0 0FFA188C
0FFA05F0
machine check
Resetting the board.
解决办法:
关于这个oops的错误参考以下链接的修改
http://lists.denx.de/pipermail/u-boot/2011-October/103864.html
On Tue, Oct 4, 2011 at 6:08 PM, larsi <larsi at atlantis.wh2.tu-dresden.de> wrote: > This patch fixes an issue when ubifs reads a bad superblock. Later it > tries to free memory, that was not allocated, which freezes u-boot. > This is fixed by looking for a non null pointer before free. > > Signed-off-by: Lars Poeschel <larsi at wh2.tu-dresden.de> > Cc: Kyungmin Park <kmpark at infradead.org> > --- > The message I got before u-boot freezes: > UBI: max/mean erase counter: 53/32 > UBIFS: mounted UBI device 0, volume 1, name "rootfs" > UBIFS: mounted read-only > UBIFS: file system size: 49140 bytes (50319360 KiB, 0 MiB, 49140 LEBs) > UBIFS: journal size: 49 bytes (6838272 KiB, 0 MiB, 6678 LEBs) > UBIFS: media format: w4/r0 (latest is w4/r0) > UBIFS: default compressor: LZO > UBIFS: reserved for root: 0 bytes (0 KiB) > UBIFS error (pid 0): ubifs_read_node: bad node type (255 but expected 9) > UBIFS error (pid 0): ubifs_read_node: bad node at LEB 330:13104 > UBIFS error (pid 0): ubifs_iget: failed to read inode 1, error -22 > Error reading superblock on volume 'ubi:rootfs'! > > fs/ubifs/super.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c > index 63b2164..20fb244 100644 > --- a/fs/ubifs/super.c > +++ b/fs/ubifs/super.c > @@ -848,8 +848,10 @@ void ubifs_umount(struct ubifs_info *c) > ubifs_debugging_exit(c); > > /* Finally free U-Boot's global copy of superblock */ > - free(ubifs_sb->s_fs_info); > - free(ubifs_sb); > + if (ubifs_sb != null) { > + free(ubifs_sb->s_fs_info); > + free(ubifs_sb); > + } Which statement is problem? Basically free() check the null address. so If ubifs_sb->s_fs_info doesn't have value its skipped. and ubifs_sb is similar.Thank you, Kyungmin Park > }
但是关于 ubifs_read_node: bad node type (255 but expected 9)
这个错误一直没找到精准的解决办法,开始的时候怀疑mkfs.ubifs的参数问题,各种修改也没好转
后来发现kernel的大小(烧写的时候的大小)不对,
kernel_img=a36800(写入大小)
ubi write 0x3000000 kernel$kernel_img
Load address: 0x3000000
Loading: #################################################################
#################################################################
#####################
done
Bytes transferred = 10792960 (a4b000 hex)(实际大小)
我记得修改过这个参数啊,唉
但不可否认的是改了这两个地方后,问题就解决了,如果写入的文件不完全或被破坏,ubimount时就会出错
【UBI】ubi问题总结相关推荐
- linux内核创建ubi,UBI文件系统制作和挂载
关于参数可以参考attach的命令输出: root@ubuntu:~# ubiattach /dev/ubi_ctrl -m 4 -d 0 UBI device number 0, total 40 ...
- nand ubi - 5 kernel和ubi
ubi文件系统分析 http://download.csdn.net/detail/songqqnew/4919666 drivers/mtd/ubi/build.c mtd_devs是ubi卷和mt ...
- UBI文件系统(转)
UBI-Unsorted Block Imagine http://www.linux-mtd.infradead.org/doc/ubi.html 1.注意 很多人搞不清楚UBI到底是什么,这就是写 ...
- u-boot中nand相关命令使用---- ubi, ubifsls, ubifsmount, ubifsumount
[Version: 2013-01-rc2] [Author: Bo Shen <voice.shen@gmail.com>] 1. 帮助信息 1.1 ubi ------------- ...
- 解压ubi文件_制作ubi文件系统
制作 ubi 文件系统 目录 开发环境 ................................................................................ ...
- UBI系统原理-中【转】
转自:http://blog.chinaunix.net/uid-28236237-id-4217118.html UBI 文件头位置 EC头都放置在擦除块的开始偏移位置,占用64字节空间.之后防止V ...
- UBI 文件系统移植 sys 设备信息【转】
转自:http://blog.chinaunix.net/uid-25304914-id-3058647.html cat /sys/class/misc/ubi_ctrl/dev --------- ...
- UBI系统原理分析【转】
转自:http://blog.chinaunix.net/uid-28236237-id-4164656.html 综述 UBI全称Unsorted Block Images,是一种原始flash设备 ...
- 微众WeCross 跨链平台(5)“UBI通用区块链接口”设计
1. UBI通用区块链接口(Universal Blockchain Interface) 基于一套通用的区块链数据协议,抽象提炼主流区块链共通的核心数据结构与资源定义,使多种区块链平台可以用统一的数 ...
- linux ubi 分区,Linux最新UBI文件系统介绍
嵌入式linux中文站关注嵌入式linux文件系统的发展.在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs.jffs2.yaffs2等文件系统.它们也都是基于文 ...
最新文章
- 图像超分辨率算法:CVPR2020
- rsviwe32 7.6 授权_「复杂系统迁移 .NET Core平台系列」之认证和授权
- 08.update_by_query操作
- linear-gradient radical-gradient详解
- Leetcode每日一题:23.merge-k-sorted-lists(合并K个排序链表)
- Centos定时备份 MySQL数据库
- 《深度学习的艺术:知乎采铜自选集》读书笔记
- forever保护node server进程报错(node:8156) Warning: Accessing non-existent property ‘padLevels‘ of module e
- Randon范围控制
- NASM:Loop指令中的ecx/cx
- Stibo Systems(思迪博) 荣获数据质量卓越实践奖并获得CSTC权威鉴定
- onKeyUp方法简介
- 数字调制BPSK/QPSK/QAM/ASK/FSK/PSK
- 10分钟带你了解MSTP协议,附加配置MSTP实验
- 机器学习在神策数据的应用
- Spark启动错误Exception in thread “main” java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$
- 百度地图使用、调起本机App地图
- 基于python的网站开发-FlaskWeb开发:基于Python的Web应用开发实战 pdf下载
- iOS WKWebView 播放视频时禁用自动全屏播放
- 带文件名和行号的信息输出宏