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一个目录。
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一个目录。