ubi根文件系统制作文档

时间:2021-01-17 10:04:22

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就是生成的可用的根文件系统

点击打开压缩文件的链接