建立jffs2 root file system

JFFS2 全名是Journalling Flash File System Version 2, 其功能就是在管理MTD�b置上所��作的日�I型�n案系�y.
相�^於其他Flash�Υ娣桨�, JFFS2�K�]有提供��鹘y�n案系�y也可以使用Flash的�D�g�樱�translation layer).它只��直接在MTD�b置上��做日�I�Y��的�n案系�y. JFFS2��在mount的�r候, �呙�MTD�b置的日�I�热�, �K在RAM中重新建立�n案系�y�Y��本身.

JFFS2的特性,
1, 其�嚯�可靠度,.
2, 在MTD�b置上��做耗�p平衡(wear leveling). 可以�_保flash 上所有的�^�K具有一致的使用率, 因此可以平衡每���^�K的�p耗程度.
3, 在MTD�b置上��做�Y料�嚎s(data compression). 除了�省空�g外, 在使用�Y料前先�⑺�解�旱�RAM上.不�^, jffs2不能使用XIP(就地�绦�eXecute In Place).
4, 有��做垃圾收集(garbage collection). 它可以�_保你的��用程式不��成�L到到埴�M整���n案系�y.也就是��入前��先�z查�n案系�y的可用空�g

如何建立jffs2 root file system.

我��在flash 中���了一�K32MB的�^�K, 想要建��一��大�s有2MB�Y料, 其他30MB可以自由�x��的�n案系�y.
�注意, �m然我��在driver�e���32MB的flash �^�K, 但是我��如果做了一��2MB的jffs2 root file system image, ��入flash後,能使用的空�g仍然是2MB, 而非32MB, 另外的30MB就浪�M掉了.

1,假�O我��巳�有一��rootfs的�Y料�A�e, 巳�放好�n案系�y了.
2, 把想要增�p的�n案或�Y料�A, 就��rootfs�e加入或移除.
3,用mkfs.jffs2�硌u作jffs2的image.(一般全部安�b的linux distribution都��有�@��命令)

mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x40000 --pad=0x02000000

(1) -r : 指定我��要做image的�碓促Y料�A.
(2) -o : 指定我��要�出的image�n案的�n名.
(3) -e : 每一�K要抹除的block size. �A�O是64KB. 因�檩^�f的flash, 其block size��不一��. 要注意.
(4) --pad : 用16�M位�肀硎舅�要�出�n案的大小. 也就是root.jffs2的size. 很重要的是, �榱瞬焕速Mflash空�g, �@��值最好符合flash driver所���的�^�K大小.以我��的例子�碚f, 就是32MB.

4, 不同於一般磁碟�n案系�y, �o法使用mount -o loop .....命令在loopback�b置上mount jffs2. 必��恼嬲�的MTD�b置��mount jffs2.不然就要使用jffs2reader��z�image�n的�热�.(�], jffs2reader我�]有成功使用�^).
5, 若是使用NFS的�, 可以透�^�W路�h端mount�@��image�n案.

你可能感兴趣的:(File,root,System,休闲,JFFS)