打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
add yaffs fs to kernel
add yaffs fs to kernel

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.....

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
2.6.14内核移植心得 - luofuchong - IT博客
基于优龙FS2410开发板Linux 2.6.14.1 kernel的移植(转载)
Yaffs2文件系统移植艰辛记录
在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)
linux下Nand Flash的JFFS2文件系统的移植
nandflash分区
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服