zoukankan      html  css  js  c++  java
  • 移植kernel-3.10.79 (2) 支持 yaffs

    网站: http://www.yaffs.net/
    获取方法: 执行git clone git://www.aleph1.co.uk/yaffs2
    解压:tar zxf yaffs_source.tar.gz
    打补丁:

    #cd /work/tmp/yaffs2 // cd yaffs-dir
    #./patch-ker.sh c m ~/mini2440/linux-3.10.79 // ./patch-ker.sh c m linux-tree
    make menuconfig
        
        File Systems
        ---> Miscellaneous filesystems
            ---> [*]YAFFS2 file system support
        make uImage

    出错:fs/yaffs2/yaffs_vfs.c:3398: error: implicit declaration of function 'create_proc_entry'

    原因:编译fs/yaffs2/yaffs_vfs.c时出现错误,function 'create_proc_entry'没有申明。
    原来这个接口在linux-3.10被删除了,应该使用proc_create代替。

    修改:

    vim fs/yaffs2/yaffs_vfs.c 

    #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0)) 修改为#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0))
        #define YAFFS_NEW_PROCFS
        #include <linux/seq_file.h>
        #endif

    问题2:
    end_request: I/O error, dev mtdblock4, sector 0
    移植内核时出现了这种错误,这种错误通常是由校验造成的.这种情况的解决办法为:

    禁止Flash ECC校验
    我们的内核都是通过UBOOT写到Nand Flash的, UBOOT通过的软件ECC算法产生ECC校验码, 这与内核校验的ECC码不一样, 内核中的ECC码是由S3C2410中Nand Flash控制器产生的. 所以, 我们在这里选择禁止内核ECC校验.
    修改drivers/mtd/nand/s3c2410.c 文件:
    vi drivers/mtd/nand/s3c2410.c
    找到s3c2410_nand_init_chip()函数,在该函数体最后加上一条语句:

    chip->ecc.mode = NAND_ECC_NONE;
  • 相关阅读:
    sql server 查询数据判断为空
    sql 排序
    ASP.NE 上传文件控件
    JQ 获取下一个元素和获取下一个元素的[指定]子元素
    sql server 查询时间 格式化输出
    ASP.NET 页面验证cookie
    ASP.NET MD5加密
    HTML编辑器ASP.NET
    Repeater控件
    20150215-情愿
  • 原文地址:https://www.cnblogs.com/hulig7/p/9924202.html
Copyright © 2011-2022 走看看