製作檔案系統的JFFS2映象

2021-06-04 21:02:03 字數 2133 閱讀 6152

一、環境

ubuntu 10.04

u-boot 1.3.3(支援tftp)

二、過程

1、製作jffs2映象需要使用mkfs.jffs2工具,首先 安裝mkfs.jffs2工具

sudo apt-get install mtd-tools

2、退到已做好的rootfs目錄的上一級

~/rootfs$ cd ..

#mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x500000 -s 0x200 -n

即可生成 rootfs.jffs2

注:各引數的意義:

(1)-r : 指定要做成image的目錄名。

(2)-o : 指定輸出image的檔名。

(3)-e : 每一塊要擦除的block size,預設是64kb.要注意,不同的flash, 其block size會不一樣,這裡用的是三星的k9f1208u0b。

(4)--pad (-p): 用16進製制來表示所要輸出檔案的大小,也就是rootfs.jffs2的size。很重要的是, 為了不浪費flash空間, 這個值最好符合flash driver所規劃的分割槽的大小。

(5)如果掛載後會出現類似:cleanmarker node found at 0x0042c000 has totlen 0xc != normal 0x0  的警告,則加上 -n 就會消失。

(6) 還有的選項,自己看幫助!-h

我們可以將rootfs.cramfs燒寫到0x800000上,對應的結點為/dev/mtdblock/4。

tftp 32000000 rootfs.jffs2

nand erase 800000 1000000

nand write.jffs2 32000000 800000 500000

4、要從cramfs啟動,可將u-boot的啟動引數改為:

root="/dev/mtdblock/4" rootfstype="jffs2" rw console="ttysac0",115200 init="/linuxrc" noinitrd mem="64m"

即可。注意:使用jffs2檔案系統時,對核心進行配置時需要選上對jffs2的支援。

注:經驗表明,如果jffs2分割槽太大,可能會出現以下問題:

jffs2: erase block size too small (16kib). using virtual blocks size (32kib) instead

empty flash at 0x00003ffc ends at 0x00004000

empty flash at 0x0000bffc ends at 0x0000c000

empty flash at 0x00013ffc ends at 0x00014000

empty flash at 0x0001bffc ends at 0x0001c000

empty flash at 0x00023ffc ends at 0x00024000

empty flash at 0x0002bf40 ends at 0x0002c000

empty flash at 0x0003bffc ends at 0x0003c000

empty flash at 0x00043fb0 ends at 0x00044000

empty flash at 0x0004bf98 ends at 0x0004c000

empty flash at 0x00053ffc ends at 0x00054000

empty flash at 0x0005bfc8 ends at 0x0005c000

empty flash at 0x00063fd0 ends at 0x00064000

empty flash at 0x0006bf50 ends at 0x0006c000

empty flash at 0x00073ffc ends at 0x00074000

empty flash at 0x0007bf74 ends at 0x0007c000

如果需要在其它檔案系統中掛載該jffs2檔案系統,可以這樣做

#cd /tmp

#mkdir jffs2

#mount -t jffs2 /dev/mtdblock/4 jffs2

製作jffs2根檔案系統

安裝製作工具mkfs.jffs2 sudo apt get install mtd utils 假設根檔案系統檔案在rootfs目錄下,則使用下面命令製作檔案系統imag mkfs.jffs2 r rootfs o rootfs.jffs2 p l n e 0x10000 0x10000 64kb ...

製作jffs2映象檔案

或者使用命令 apt get install mtd utils 命令使用例項 mkfs.jffs2 s 0x1000 e 0x40000 p 0x500000 d rootfs o jffs2.img 說明 頁大小0x1000 4k 塊大小0x40000 256k jffs2分割槽總空間0x500...

製作jffs2檔案系統

今天憋了老半天了,終於把jaffs檔案系統做成功了。之前系統啟動時,一直報錯如下 empty flash at 0x00003ffc ends at 0x00004000 一直報個沒完。後來查了一下,才知道,製作jffs2檔案的時候,指定的檔案大小的引數小了,而jffs檔案大小比他大。系統啟動的時候...