1、创建jffs2根文件系统:
首先要有一个其他类型的根文件系统,制作和获取方式,比如可以:
mount -t cramfs rootfs_lnxdemo.cramfs tmp/ -o loop
rootfs_lnxdemo.cramfs由atmel提供当然你可以自己制作,这里直接使用atmel的省去了制作的麻烦。
tar xzvf target.tar.gz tmp/
2、生成jffs2根文件系统镜像:
mkfs.jffs2 -r /tmp/ -o target.jffs2 -e 0x40000 --pad=0x800000 -s 0x200 -n
3、烧写jffs2根文件系统镜像到nand flash。
烧写方法应该有多种常用的有2种:
1)通过nand编程器烧写镜像文件到nand flash芯片然后再焊接到pcb.
2)挂载nfs文件系统,使用nandwrite工具写镜像文件到mtd设备。
第一种适合生产时使用,而我们测试时候比较适合使用第二种方式。
挂载nfs文件系统:
nandwrite -o /dev/mtd2 target.jffs2
或者是在nfs根文件系统下:
mount –t jffs2 /dev/mtdblock2 /mnt
cd /mnt
tar xvzf ../target.tar.gz
umount /mnt
4、配置内核启动参数如下:
setenv bootargs mem=64M console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw
5、重新启动,呵呵内核使用jffs2文件系统自动挂载根文件系统到mtdblock1设备上。
ls 测试一下
vi test
hello this is for test jffs2 filesystem.
保存退出。
Sync
重新启动
vi test
内容依旧。
Ok jffs2根文件系统引导成功。
阅读(1570) | 评论(0) | 转发(0) |