嵌入式linux新手入門手記-制作UBI文件鏡像
這一篇計(jì)劃是放到最后寫的,但是QT5.4.1移植和TSLIB的修改內(nèi)容比較多,想想就將這篇提前。
本文引用地址:http://m.butianyuan.cn/article/281010.htm/home/XXXX/nfs下已經(jīng)包含一個完整的根文件系統(tǒng)了,可以使用這個文件系統(tǒng)來制作一個UBI文件鏡像,并將它燒寫到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目錄中,進(jìn)入到這個目錄中執(zhí)行./configure,成功后執(zhí)行make -j4,make install。
之后編譯mtd-utils,進(jìn)入到mts-utils目錄中,執(zhí)行make -j4。
新建一個目錄/home/XXXX/tools,將這個目錄加入到PATH環(huán)境變量中,然后將編譯出來的mtd-utils的目標(biāo)執(zhí)行程序拷貝到這個tools目錄下。
進(jìn)入到/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, 我計(jì)算機(jī)上用戶掛載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)的大小實(shí)際計(jì)算
-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相關(guān)文章:linux教程
評論