制作jffs2文件系统
作者:程姚根, 华清远见嵌入式学院 讲师。
1、zlib的编译
解压zlib-1.2.3.tar.bz2并进入zlib-1.2.3配置编译安装
$ tar xvf zlib-1.2.3.tar.bz2
        $ cd zlib-1.2.3
        $ ./configure
        $ make
        $ make install
2、mtd工具编译
解压mtd-snapshot-20050519.tar.bz2 并进入mtd/util编译安装
$ tar xvf mtd-snapshot-20050519.tar.bz2
        $ cd mtd/util
        $ make
        $ make install
这样我们的系统里就有了mkfs.jffs2这个工具了
3、jffs2文件系统镜像制作
$ mkfs.jffs2 -r /source/rootfs -o rootfs.jffs2 -e 0x4000 --pad=0x800000 -n
        (-e擦的块大小更cat /proc/mtd下面的要统一,这个参数是根据nand flash芯片手册查到的
        --pad 如果根文件系统小于此参数指定的大小,那么制作成的文件系统镜像会跟指定的参数一样大。
        -n指定小端模式)
        $ cp rootfs.jffs2 /tftpboot
4、jffs2文件系统烧写
# tftp 30008000 rootfs.jffs2
        # nand erase 500000 800000
        # nand write 30008000 500000 800000
5、设置u-boot启动参数
# setenv bootcmd tftp 33000000 zImage\; go 33000000
        # setenv bootargs root=/dev/mtdblock2 init=/linuxrc rootfstype=jffs2 rw
          console=ttySAC0,115200
        # savenv
6、重新启动开发板,查看是否成功
注意:如果NAND FLASH分区比jffs2文件系统镜像大,会提示一些信息,可以通过在内核中找到打印这些信息的文件(可以用grep命令在内核源码树下搜索),进入其中把相应得prink注释掉就行了。