JFFS2 是一个开放源码的项目(www.infradead.org)。 它是在闪存上使用非常广泛的读/写文件系统,在嵌入式系统中被普遍的应用。
1、配置内核支持 jffs2文件系统 (在内核目录下make menuconfig)
File systems --->
[*] Miscellaneous filesystems --->
<*> Journalling Flash File System v2 (JFFS2) support
重新编译内核并拷贝到/tftpboot下
2、zlib的编译(没有请zlib请先下载并解压)
$ cd zlib-1.2.3
$ ./configure
$ make
$ sudo make install
3、mtd工具编译(没有请zlib请先下载并解压)
$ cd mtd/util
$ make
$ sudo make install
这样我们的系统里就有了 mkfs.jffs2这个工具了
4、jffs2文件系统镜像制作
$ mkfs.jffs2 -r /source/rootfs -o rootfs.jffs2 -e 0x20000 --pad=0x400000 -n
$ sudo cp rootfs.jffs2 /tftpboot
5、jffs2文件系统烧写
# tftp 20008000 rootfs.jffs2
# nand erase 400000 400000
# nand write 20008000 400000 400000
6、设置 u-boot启动参数
# setenv bootcmd tftp 20008000 zImage\; go 20008000
# setenv bootargs root=/dev/mtdblock2 rootfstype=jffs2 rw init=/linuxrc
console=ttySAC0,115200
# saveenv
重新启动开发板,查看是否成功