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

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 制作JFFS2文件系統

制作JFFS2文件系統

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

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

  1.內核配置MTD驅動支持和JFFS2支持

  我們可以了解 YAFFS2 自帶 MTD 驅動,而 JFFS2 文件系統則需要在內核中配 置 MTD 驅動支持。

制作 JFFS2 文件系統176

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

制作 JFFS2 文件系統429

  2.制作工具mkfs.jffs2

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

制作 JFFS2 文件系統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

  執行 make 和 make install 進行編譯和安裝。

  #make

  #make install

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

  (2)編譯工具 mtd-utils。進入 mtd-utils 的解壓目錄,執行 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

  將該路徑添加到環境變量 PATH 中。

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

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

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

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

  各個參數的含義如下所述。

  -r:指定文件系統。

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

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

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

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

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

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