• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

add yaffs fs to kernel

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 22次 | 进入软件测试论坛讨论

领测软件测试网

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

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网