国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 制作JFFS2文件系統(tǒng)

制作JFFS2文件系統(tǒng)

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-12-28 11:48:09 1672199289

  制作 JFFS2 文件系統(tǒng)是通過工具 mkfs.jffs2 將文件系統(tǒng)目錄制成映像文件。制作工具 mkfs.jffs2 需要編譯 zhb 庫和 mtd-utils,下面詳細介紹其制作過程。

  1.內(nèi)核配置MTD驅(qū)動支持和JFFS2支持

  我們可以了解 YAFFS2 自帶 MTD 驅(qū)動,而 JFFS2 文件系統(tǒng)則需要在內(nèi)核中配 置 MTD 驅(qū)動支持。

制作 JFFS2 文件系統(tǒng)176

  內(nèi)核也必須支持 JFFS2 文件系統(tǒng)。 在編譯內(nèi)核時選擇 Device Drivers ---> Memory Technology Device (MTD) support --->, 進入 Memory Technology Device 配置窗口,如圖 5.14 所示。 在編譯內(nèi)核時選擇 File systems --->Miscellaneous filesystems--->,進入 Miscellaneous filesystems 配置窗口,選擇支持 JFFS2 文件系統(tǒng),如

制作 JFFS2 文件系統(tǒng)429

  2.制作工具mkfs.jffs2

  制作工具 mkfs.jffs2 是用于制作 JFFS2 映像文件。制作 JFFS2 映像文件需要以下兩個文件:

制作 JFFS2 文件系統(tǒng)509

  (1)編譯安裝 zlib 庫,用于文件壓縮和解壓。進入 zlib 的解壓目錄下,使用 configure命令生成 Makefile。

  # ./configure --prefix=/usr/local/arm/4.4.3/arm-none-linux-gnueabi/libc -shared

  修改生成的 Makefile 如下:

  CC=arm-linux-gcc

  LDSHARED= arm-linux-gcc -shared

  -Wl,-soname,libz.so.1,--version-script,zlib.map

  CPP=arm-linux-gcc –E

  AR=arm-linux-ar

  RANLIB=arm-linux-ranlib

  執(zhí)行 make 和 make install 進行編譯和安裝。

  #make

  #make install

  編譯和安裝完成后在目錄/usr/local/arm/4.4.3/arm-none-linux-gnueabi/libc/lib 下會生成 動態(tài)和靜態(tài)庫文件 libz.a、libz.so、libz.so.1.2.8 和 libz.so.1。

  (2)編譯工具 mtd-utils。進入 mtd-utils 的解壓目錄,執(zhí)行 make 進行編譯。完成編譯后,新生成的工具

  mkfs.jffs2、mkfs.jffs 等在目錄/usr/local/jffs_root/tmp/mtd-utils-1.0.0 下。

  # tar jxvf mtd-utils-1.5.0.tar.bz2

  # cd mtd-utils-1.5.0

  # make

  # make install

  將該路徑添加到環(huán)境變量 PATH 中。

  #PATH=$PATH: /usr/local/jffs_root/tmp/mtd-utils-1.0.0

  (3)制作 JFFS2 映像文件。制作 JFFS2 根文件系統(tǒng)的過程與其他文件系統(tǒng)的過程相同,

  制作 JFFS2 映像文件的命令如下:

  #mkfs.jffs2 -r jffs_root -o jffs_root.jffs2 -e 0x4000 --pad=0x800000 -s 0x200 -n

  各個參數(shù)的含義如下所述。

  -r:指定文件系統(tǒng)。

  -o:指定輸出的映像文件名。

  -e:擦除塊的大小(block size),不同的 flash,其 block size 不一樣。

  --pad (-p):指定輸出文件的大小,也就是 jffs_root.jffs2 的大小。重要的是, 為 了不浪費 flash 的空間,該值應(yīng)該符合 flash driver 劃分塊的大小。

  -n:在每個擦除塊中不添加 clreanmarker(消除標(biāo)志)

  本文摘自《linux系統(tǒng)移植(第2版)》

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT