文章转自http://www.360doc.com/content/10/1203/22/1378815_74805399.shtml
k3 三星nand信息,如有需要,我可以拆机看下具体是哪个型号
NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)
选取了一部分
有关 jffs2_scan_eraseblock 问题小结
总结前面遇到的问题:
1.有关类似:
mtd->read(0x44 bytes from 0x68cf44) returned ECC error
jffs2_get_inode_nodes(): CRC failed on node at 0x0068c684: Read 0xe8b9b3b0, calculated 0x9402829b
的问题,是写文件系统时的错误,写cramfs用nand write就可以了,但写jffs2文件系统要用nand write.jffs2命令。
2.有关类似:
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0050e154: 0xfbeb instead
的问题,是制作文件系统时使用 mkfs.jffs2 命令有误,FS2410板的nand flash是三星的K9F1208U0B。使用的命令是:
mkfs.jffs2 -r /source/rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x800000 -n 各参数的意义:
(1)-r : 指定要做成image的源資料夾.
(2)-o : 指定輸出image檔案的文件名.
(3)-e : 每一塊要抹除的block size,預設是64KB.要注意,不同的flash, 其block size會不一樣.我的是三星的K9F1208U0B.
(4)--pad (-p): 用16進制來表示所要輸出檔案的大小,也就是root.jffs2的size。很重要的是, 為了不浪費flash空間, 這個值最好符合flash driver所規劃的區塊大小.这里使用的是8MB.
(5)如果挂载后会出现类似:CLEANMARKER node found at 0x0042c000 has totlen 0xc != normal 0x0 的警告,则加上 -n 就会消失。
(6) 还有的选项,自己看帮助!-h
k3部分错误信息 执行flash_eraseall -j /dev/mtd4 之后重启。JFFS能加载但是还有问题
Sep 1 23:21:53 watchdog: start ddns.
Sep 1 23:21:53 rc_service: watchdog 553:notify_rc start_ddns
Sep 1 23:21:53 ddns_update: ez-ipupdate: starting...
Sep 1 23:21:53 kernel: JFFS2 warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #2.
Sep 1 23:21:53 kernel: JFFS2 warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #2
Sep 1 23:21:53 kernel: iget() failed for ino #2
Sep 1 23:21:54 kernel: mtd->read(0x44 bytes from 0x4f20074) returned ECC error
Sep 1 23:21:54 kernel: Header CRC failed on REF_PRISTINE node at 0x04f20074: Read 0x98f7ffff, calculated 0xb1fc181e
Sep 1 23:21:54 kernel: JFFS2 notice: (59) jffs2_get_inode_nodes: Node header CRC failed at 0x4f20074. {ffff,e002,0000ffff,98f7ffff}
Sep 1 23:21:54 kernel: JFFS2 warning: (59) jffs2_do_read_inode_internal: no data nodes found for ino #3
Sep 1 23:21:57 kernel: mtd->read(0x44 bytes from 0x4f200e8) returned ECC error
Sep 1 23:21:57 kernel: Header CRC failed on REF_PRISTINE node at 0x04f200e8: Read 0x98f7a6ff, calculated 0x98f7fb1d
Sep 1 23:21:57 kernel: mtd->read(0x718 bytes from 0x4f200e8) returned ECC error
Sep 1 23:21:57 kernel: JFFS2 notice: (59) jffs2_get_inode_nodes: Node header CRC failed at 0x4f200e8. {1985,e002,00000044,98f7a6ff}
Sep 1 23:21:57 kernel: JFFS2 warning: (59) jffs2_do_read_inode_internal: no data nodes found for ino #4
Sep 1 23:21:57 kernel: JFFS2 notice: (59) jffs2_do_read_inode_internal: but it has children so we fake some modes for it
Sep 1 23:22:23 watchdog: start ddns.
Sep 1 23:22:23 rc_service: watchdog 553:notify_rc start_ddns
Sep 1 23:22:23 ddns_update: ez-ipupdate: starting...
Sep 1 23:22:23 kernel: JFFS2 warning: (1) jffs2_get_inode_nodes: Eep. No valid nodes for ino #2.
Sep 1 23:22:23 kernel: JFFS2 warning: (1) jffs2_do_read_inode_internal: no data nodes found for ino #2
Sep 1 23:22:23 kernel: iget() failed for ino #2
|