add yaffs fs support in kernel and make yaffs rootfs
1 preparation a>download yaffs source code and add it in your kernel source code in fs/yaffs http://husaberg.toby-churchill.com/balloon/linux-2.6.8.1-tcl1/fs/yaffs modify fs/Kconfig , add following option config YAFFS_FS tristate "YAFFS filesystem support" depends on MTD_NAND help If you want YAFFS support on NAND flash devices you either need to have NAND mtd support or customise the NAND interface. YAFFS is a journaling filesystem tailored to the idiosyncrasies of NAND flash memory. For further details see YAFFS is also available as a module ( = code which can be i nserted in and removed from the running kernel whenever you want). The module is called nfsd. If you want to compile it as a module, say M here and read . If unsure, say N.
config CRAMFS tristate "Compressed ROM file system support (cramfs)" ...
b>download nandwrite.c , nanddump.c and eraseall.c from ftp://166.111.68.183/pub/embed/uclinux/soft/uClinux-dist/user/mtd-utils/ compile them. arm-linux-gcc nandwrite.c -o nandwrite arm-linux-gcc nanddump.c -o nanddump arm-linux-gcc eraseall.c -o eraseall
c>modify devs.c to add a new partition in mtd (optional) , the yaffs will be in the"yaffs" partition like: { name: "user", size: 0x00c00000, offset: 0x00400000, mask_flags: MTD_WRITEABLE, }, { name: "yaffs", size: 0x02000000, offset: 0x01000000, mask_flags: MTD_WRITEABLE, } ...... nr_partitions: 6 ,
note: if you do so, the bootloader(vivi)‘s partition table should be changed too.(part del/add) 2 compile your kernel 3 make yaffs partition a>make yaffs image download mkyaffsimage from http://husaberg.toby-churchill.com/balloon/releases/v0.7/roots/ put your files in temp directory ./mkyaffsimage temp temp.yaffs b>write image to flash ./eraseall /dev/mtd/5 ./nandwrite /dev/mtd/5 temp.yaffs 16384 note:I‘ve read the source code of yaffs, and find that the first block is not scaned when the super block is loaded. So your image should be write to the second block. Each block is 512*32 (BYTESPERCHUNK*CHUNKSPERBLOCK) bytes. 4 Good luck.....
|