这一篇方案是放到最终写的,可是QT5.4.1移植和TSLIB的修正内容比较多,想想就将这篇提早。
/home/XXXX/nfs下现已包括一个完好的根文件体系了,能够运用这个文件体系来制造一个UBI文件镜像,并将它烧写到nand中。
假如没有根文件体系,就需求先获取或许自己制造一个。制造根文件体系能够用busybox。不过为了省劲,我直接运用TI的SDK中的根文件体系,然后自己删减,得的了一个大约40M左右的根文件体系,在参加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目录中,进入到这个目录中履行./configure,成功后履行make -j4,make install。
之后编译mtd-utils,进入到mts-utils目录中,履行make -j4。
新建一个目录/home/XXXX/tools,将这个目录参加到PATH环境变量中,然后将编译出来的mtd-utils的方针履行程序拷贝到这个tools目录下。
进入到/home/XXXX目录下,履行以下操作:
mkfs.ubifs -F -q -r ./nfs -m 2048 -e 126976 -c 1599 -o ubifs.img
-F: 使能"white-space-fixup",经过uboot烧写nand时必需要这个参数
-r ./nfs, 我核算机上用户挂载am335x板的nfs根文件体系,以这个目录中的内容制造镜像文件
-m 2048, nand的最小读写单元,page size
-e 126976, nand的block size-2*page size
-c 1599, 文件体系占用的最大block数,一般小于等于nand最大block数-1,或许依据文件体系的巨细实践核算
-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中。