ubi根文件系统制作不能采用交叉编辑器,可以在虚拟机终端输入:gcc -v 查看gcc编辑器的版本
root@user-desktop:# gcc -v
Target: i486-linux-gnu //这是我的gcc编辑器
查看结果会有一个--build=.....
我的查看的是--build=i486-linux-gnu 后续文件安装的时候会用到
ubi文件系统的制作包括:
1、文件拷贝和文件建立
把zlib-1.2.5、e2fsprogs-1.42.tar.gz、lzo-2.06.tar.gz、mtd-utils-d37fcc0.tar.gz放到/root/download/下
在/opt/下建立一个文件夹命名为install,上述文件的安装执行生成的文件都会在install目录里
2、linux端编译mtd-utils
2.1、zlib安装的执行步骤
host$ cd zlib-1.2.5/
host$ ./configure --prefix=/opt/install
host$ make
host$ make install
host$ cd ..
2.1、lzo安装
host$ tar xvf lzo-2.06.tar.gz
host$ cd lzo-2.06/
host$ ./configure --build=i486-linux-gnu --prefix=/opt/install //i486-linux-gnu为你linux上的gcc编辑器
//*******************************
//上述命令如果显示configure没有执行权限,则先执行下述命令
//chmod +x configure
//再在该用户下执行 ./configure --build=i486-linux-gnu --prefix=/opt/install
//*******************************
host$ make
host$ make install
host$ cd ..
2.2、e2fsprogs安装
host$tar xvf e2fsprogs-1.42.tar.gz
host$cd e2fsprogs-1.42/
host$ ./configure --build=i486-linux-gnu --prefix=/opt/install
host$ make
host$ make install
host$ cd lib/uuid/
host$ make install
host$ cd ../../../
2.3、mtd-utils安装
host$ tar xvf mtd-utils-d37fcc0.tar.gz
host$ cd mtd-utils-d37fcc0/
host$ gedit Makefile //打开MakeFile文件,在该文件顶部加入如下命令
PREFIX = /opt/install
ZLIBCPPFLAGS = -I$(PREFIX)/include
LZOCPPFLAGS = -I$(PREFIX)/include
ZLIBLDFLAGS = -L$(PREFIX)/lib
LZOLDFLAGS = -L$(PREFIX)/lib
LDFLAGS += $(ZLIBLDFLAGS) $(LZOLDFLAGS)
CFLAGS ?= -O2 -g $(ZLIBCPPFLAGS) $(LZOCPPFLAGS)
加入完后保存
再用gedit common.mk 命令打开common.mk,在里面找到PREFIX=/usr,用#注释起来即#PREFIX=/usr
host$ WITHOUT_XATTR=1 make
host$ make install DESTDIR=/opt/install
host$ cd ..
保存
3、生成根文件系统
步骤2执行完毕后在目录
/root/download/mtd-utils-d37fcc0/mkfs.ubifs
下生成了mkfs.ubifs
在目录
/root/download/mtd-utils-d37fcc0/ubi-utils
下生成了ubinize
这两个工具用来生成ubi.img根文件系统
3.1、准备
/home/dvrrdk/DVRRDK_04.00.00.03/dvr_rdk/makerules
下找到ubinize.cfg文件并把它复制到目录
/home/dvrrdk/DVRRDK_04.00.00.03/target
下,并把要制作根文件系统的文件夹rootfs也拷贝到
/home/dvrrdk/DVRRDK_04.00.00.03/target下
3.1、生成ubi.img的命令
root@user-desktop:~# cd /root/download/mtd-utils-d37fcc0 //进入到mtd-utils-d37fcc0文件夹后执行下述命令
root@user-desktop:~/download/mtd-utils-d37fcc0#mkfs.ubifs/mkfs.ubifs -r /home/dvrrdk/DVRRDK_04.00.00.03/target/rootfs/ -F -m 2048 -e 126976 -c 1580 -o ubifs.img
root@user-desktop:~/download/mtd-utils-d37fcc0#ubi-utils/ubinize -o ubi.img -m 2048 -p 128KiB -s 512 -O 2048 /home/dvrrdk/DVRRDK_04.00.00.03/target/ubinize.cfg
执行完毕后就会在/root/download/mtd-utils-d37fcc0目录下生成ubi.img和ubifs.img
其中ubi.img就是生成的可用的根文件系统
点击打开压缩文件的链接