• uboot和内核分区的修改



    随着内核的更新,内核越来越大,uboot给nand的kernel分区默认是2M的

    device nand0 <nandflash0>, # parts = 4
     #: name                        size            offset          mask_flags
     0: bootloader          0x00040000      0x00000000      0
     1: params              0x00020000      0x00040000      0
     2: kernel              0x00200000      0x00060000      0
     3: root                0x0fda0000      0x00260000      0

    修改分区如下,建议留给kernel4M大小:

    第一步 在你的配置文件下uboot/include/config/xxx.h 里面有一个宏定义

    #define MTDPARTS_DEFAULT "mtdparts=nandflash0:256k@0(bootloader),"
                                "128k(params),"
                                "2m(kernel),"
                                "-(root)"

    把2M改为4M(改好后重新编译uboot),在cmd_jffs2.c里面我们看到把默认的分区信息分配给了mtdparts_default

    #if defined(MTDPARTS_DEFAULT)
    static const char *const mtdparts_default = MTDPARTS_DEFAULT;
    #else
    #warning "MTDPARTS_DEFAULT not defined!"
    static const char *const mtdparts_default = NULL;
    #endif

    然后在cmd_jffs2.c的函数int do_jffs2_mtdparts(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])中把mtdparts_default

    给了环境变量setenv("mtdparts", (char *)mtdparts_default);

    因此我们可以在uboot的中设置命令 mtdparts default,然后利用mtd查看 分区一样改好了

    device nand0 <nandflash0>, # parts = 4
     #: name                        size            offset          mask_flags
     0: bootloader          0x00040000      0x00000000      0
     1: params              0x00020000      0x00040000      0
     2: kernel              0x00400000      0x00060000      0
     3: root                0x0fba0000      0x00460000      0

    第二步 修改内核的分区信息,linux-3.4.2archarmmach-s3c24xxCommon-smdk.c 这个文件中把分区信息修改的和uboot一样

    然后就可以使用了

  • 相关阅读:
    sshd服务防止暴力破解
    使用秘钥ssh登录远程服务器
    SSH配置文件详解
    WinForm、wpf、silverlight三者关系
    silverlight 和winform的结合使用
    IIS在W7下使用
    c#多线程
    Silverlight的Socket通信
    wcf和webservice区别
    aspx向silverlight传值
  • 原文地址:https://www.cnblogs.com/alan666/p/8312208.html
Copyright © 2020-2023  润新知