新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 嵌入式linux新手入門手記-制作UBI文件鏡像

嵌入式linux新手入門手記-制作UBI文件鏡像

作者: 時間:2015-10-08 來源:網(wǎng)絡 收藏

  這一篇計劃是放到最后寫的,但是QT5.4.1移植和TSLIB的修改內(nèi)容比較多,想想就將這篇提前。

本文引用地址:http://butianyuan.cn/article/281010.htm

  /home/XXXX/nfs下已經(jīng)包含一個完整的根文件系統(tǒng)了,可以使用這個文件系統(tǒng)來制作一個文件鏡像,并將它燒寫到nand中。

  如果沒有根文件系統(tǒng),就需要先獲取或者自己制作一個。制作根文件系統(tǒng)可以用busybox。不過為了省事,我直接使用TI的SDK中的根文件系統(tǒng),然后自己刪減,得的了一個大約40M左右的根文件系統(tǒng),在加入tslib,qt5.4.1,以及中文字庫后的大小大約在90M左右。

  制作ubi文件鏡像需要用到mtd-utils工具,目前的最新版本是1.5.1,使用git下載:git clone git://git.infradead.org/mtd-utils.git。

  下載下來的mtd-utils解壓縮后保存到/home/XXXX/mtd-utils目錄。

  編譯mtd-utils還需要一些其他的庫,我們使用apt-get來安裝:

  sudo -s

  apt-get install libzo2-dev

  apt-get install libacl1-dev

  apt-get install uuid-dev

  以及zlib,到www.zlib.net下載zlib的源代碼,保存到/home/XXXX/zlib目錄中,進入到這個目錄中執(zhí)行./configure,成功后執(zhí)行make -j4,make install。

  之后編譯mtd-utils,進入到mts-utils目錄中,執(zhí)行make -j4。

  新建一個目錄/home/XXXX/tools,將這個目錄加入到PATH環(huán)境變量中,然后將編譯出來的mtd-utils的目標執(zhí)行程序拷貝到這個tools目錄下。

  進入到/home/XXXX目錄下,執(zhí)行以下操作:

  mkfs.ubifs -F -q -r ./nfs -m 2048 -e 126976 -c 1599 -o ubifs.img

  -F: 使能"white-space-fixup",通過uboot燒寫nand時必須要這個參數(shù)

  -r ./nfs, 我計算機上用戶掛載am335x板的nfs根文件系統(tǒng),以這個目錄中的內(nèi)容制作鏡像文件

  -m 2048, nand的最小讀寫單元,page size

  -e 126976, nand的block size-2*page size

  -c 1599, 文件系統(tǒng)占用的最大block數(shù),一般小于等于nand最大block數(shù)-1,或者根據(jù)文件系統(tǒng)的大小實際計算

  -o ubifs.img,輸出文件名

  ubinize -o ubi.img -m 2048 -p 128KiB /home/jerry/tools/ubifs.conf

  -o ubi.img,輸出文件名

  -m 2048, nand的最小讀寫單元,page size

  -p 128KiB, block size

  最后面的ubifs.conf是配置文件:

  [ubifs]

  mode=ubi

  image=ubifs.img

  vol_id=0

  vol_size=120MiB

  vol_type=dynamic

  vol_name=rootfs

  vol_flags=autoresize

  到這里,就生成了一個ubi.img文件,這個就是ubi鏡像文件,可以在u-boot中寫入到nand中。

linux相關文章:linux教程




關鍵詞: 嵌入式linux UBI

評論


相關推薦

技術專區(qū)

關閉