制作jffs2 根文件系统
creator
sz111@126.com
2.6.24.3内核采用yaffs会出错,采用cramfs又不能写,目前只有jffs可以用了。
但是在生成mkfs.jffs2却受到很大困难。编译一直出错。无奈网上找到了一个
工具。在附件中。
通过mkfs.jffs2 -r /rootfs -o filesystem.jffs2 -e 0x4000 --pad=0x500000 -s 0x200 -n
生产jffs2文件系统。
各参数的意义:
(1)-r : 指定要做成image的源資料夾.
(2)-o : 指定輸出image檔案的文件名.
(3)-e : 每一塊要抹除的block size,預設是64KB.要注意,不同的flash, 其block size會不一樣.
(4)--pad (-p): 用16進制來表示所要輸出檔案的大小,也就是root.jffs2的size。很重要的是, 為了不浪費flash空間, 這個值最好符合flash driver所規劃的區塊大小.
(5)如果挂载后会出现类似:CLEANMARKER node found at 0x0042c000 has totlen 0xc != normal 0x0 的警告,则加上 -n 就会消失。
(6) 还有的选项,自己看帮助!-h
烧写后开机正常。但是有下面的警告,据说是要先擦除一下。我还没有测试。
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0034221c: 0x0018 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00342220: 0x0200 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00342224: 0x0800 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0034222c: 0x0080 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00342230: 0x8800 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00342234: 0x6401 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00342238: 0x0088 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00342240: 0x4500 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00342244: 0x0c00 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00342248: 0x0012 instead
Further such events for this erase block will not be printed
VFS: Mounted root (jffs2 filesystem).
|
文件: | mkjffs2-arm.rar |
大小: | 269KB |
下载: | 下载 |
|
|
文件: | mkjffs2-pc.rar |
大小: | 307KB |
下载: | 下载 |
|
参考资料:
http://blog.chinaunix.net/u1/34474/showart_486812.html
阅读(6420) | 评论(1) | 转发(1) |