yaffs的移植

1. 先下载yaffs2的补丁
2.打补丁,在fs/patch -p1 xxxxxxxx
3.编译之后内核就支持yaffs了,但是要做好yaffs的分区,还是件麻烦事啊!
4.由于NAND Flash的特点,要先擦除再写,还得找到一个用来flash的工具,这就是mtd_util
5.在/dev中添加flash的设备:
[root@swordzj /]$ cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00004000 "bootloader"
mtd1: 00200000 00004000 "kernel"
mtd2: 02800000 00004000 "root"
mtd3: 01500000 00004000 "user"
[root@swordzj /]$ ll /dev/mtd
crw-r--r--    1 root     root      90,   0 Jan  1 00:02 0
cr--r--r--    1 root     root      90,   1 Jan  1 00:02 0ro
crw-r--r--    1 root     root      90,   2 Jan  1 00:02 1
cr--r--r--    1 root     root      90,   3 Jan  1 00:02 1ro
crw-r--r--    1 root     root      90,   4 Jan  1 00:02 2
cr--r--r--    1 root     root      90,   5 Jan  1 00:02 2ro
crw-r--r--    1 root     root      90,   6 Jan  1 00:02 3
cr--r--r--    1 root     root      90,   7 Jan  1 00:02 3ro
[root@swordzj /]$ ll /dev/mtdblock/
brw-r--r--    1 root     root      31,   0 Jan  1 00:02 0
brw-r--r--    1 root     root      31,   1 Jan  1 00:02 1
brw-r--r--    1 root     root      31,   2 Jan  1 00:02 2
brw-r--r--    1 root     root      31,   3 Jan  1 00:02 3
看懂了吗?
6.把mtd_util编译成arm-linux下的程序,然后用其中的flash_eraseall  /dev/mtd/x 擦除你想擦除的分区,
然后挂上这个分区,mount -t yaffs /dev/mtdblock/x /mnt , 注意mtd 和 mtdblock的对应关系!然后你就可以往 flash里写东西了!很奇怪的是我不能直接把做好的文件系统的镜像直接烧在flash(用uboot或nandwrite等工具),那样做过后mount上的目录里只有lost+found一个目录。
原文地址:https://www.cnblogs.com/swordzj/p/2034754.html