linux
分类: 嵌入式
2013-01-28 16:17:01
这个问题并不是致命的问题,只是看起来不怎么爽而已。个人认为这个问题是jffs2文件系统本身的实现造成的,cleanmaker是jffs2文件系统的一个节点,这个节点放在oob区域(nand flash),用来表示该块flash是否是干净的,在加载jffs2文件系统的时候,jffs2会维护一个free_list,而这个free_list会根据clearmaker节点来判断相应的块是否为干净块,可是实际上在刚刚擦除过的flash上烧写文件系统,所有的块都是干净块,并不应该有这个节点来标识,这个节点有jffs2文件系统来产生,但是第一次加载jffs2,这个节点的内容还没有产生,所有会出现这个问题。
要解决这个问题,只需要在制作镜像的时候加上“-n”参数即可,可见这个参数可以告诉系统与“加载一次文件系统”相似的功能。