在购买开发板的时候,板子上已经烧写好了bootloader、内核和文件系统。但是在具体使用时,发现板子上划分的内核分区只有2M,但是我编译出来的内核大于2M,于是将内核烧写到nandflash上面时会启动不成功。怎么办呢?查找资料后,找到了解决办法

以下2种方法,二选一

1,修改文件uboot-1.1.6/include/configs/100ask2440.h

如果是非jz2440开发板,找不到这个文件。不过大致路径没错,可以先使用以下命令搜索:

find ./ -name
"*" | xargs grep "2m(kernel)"

也就是说在当前目录及其子目录下查找文件内容中包含2m(kernel)的文件,就可以很快定位到要修改的文件了。找到文件并且用VI打开后,在命令行模式用命令

/MTDPARTS_DEFAULT

找到以下内容

#define
MTDPARTS_DEFAULT "mtdparts=nandflash0:256k@0(bootloader)," \

                
           "128k(params)," \

                
           "2m(kernel)," \

                
           "-(root)"



将上边的内核大小改成4m差不多就够用了。修改后重新编译u-boot。

2,修改内核中的common-smdk.c ,找之前最好先搜索一下,不同版本的内核,这个文件的位置可能不同。

locate
common-smdk.c

或者

find  ./
-name common-smdk.c

我的内核版本 Linux-3.4.2,此文件在arch/arm/mach-s3c24xx/common-smdk.c。

打开文件后找到以下内容,红色部分就是nandflash的分区大小,可以根据需要修改

static struct
mtd_partition smdk_default_nand_part[] = {

        [0] = {

                .name 
      = "bootloader",

                .size        =
SZ_256K,

                .offset 
      = 0,

        },

        [1] = {

                .name 
      = "params",

                .offset =
MTDPART_OFS_APPEND,

                .size        =
SZ_128K,

        },

        [2] = {

                .name 
      = "kernel",

                .offset =
MTDPART_OFS_APPEND,

                .size        =
SZ_4M,

        },

        [3] = {

                .name 
      = "rootfs",

                .offset 
      = MTDPART_OFS_APPEND,

                .size        =
MTDPART_SIZ_FULL,

        }

};






修改之后,重新编译内核即可。

jz2440重新分区的更多相关文章

  1. 给JZ2440开发板重新分区

    转自:http://mp.weixin.qq.com/s?__biz=MzAxNTAyOTczMw==&mid=2649328035&idx=1&sn=7d3935cc05d3 ...

  2. Linux学习 :移植U-boot_2016.09到JZ2440开发板

    一.下载源码:ftp://ftp.denx.de/pub/u-boot/ 二.初始化编译: ①新建一个单板: cd board/samsung/ cp smdk2410 smdk2440 -rf   ...

  3. 移植linux4.7.2与ubifs到jz2440

    前言 整个暑假跟着韦东山的视频和书籍移植了linux2.3.6到jz2440,现在自己尝试移植linux4.7.2到板子上,并使用ubifs文件系统代替旧的jffs2文件系统. 下载交叉编译工具链 工 ...

  4. jz2440: linux/arch/arm/下面的plat-和mach-

    jz2440: linux/arch/arm/下面的plat和mach plat-s3c24xxmach-s3c2440mach-s3c2410 ====================== 1. 三 ...

  5. 移植u-boot-2012.04.01到JZ2440

    开发环境:Ubuntu 12.04 开发板:JZ2440  256M NandFlash  64M SDRAM 交叉编译器:arm-linux-gcc-4.3.2 u-boot:u-boot-2012 ...

  6. Jz2440开发板熟悉

    title: Jz2440开发板熟悉 tags: ARM date: 2018-10-14 15:05:56 --- 概述 外部晶振为12M Nand Flash 256M,Nor Flash 2M, ...

  7. JZ2440使用笔记之熟悉uboot和Linux的移植

    目录 一.点亮开发板:移植uboot.Linux内核.文件系统 1.1 配置上位机交叉编译环境 1.2 制作U-boot镜像文件 1.3 通过oflash.exe / openJTAG 烧写u-boo ...

  8. Linux学习 :移植U-boot_2012.04.01到JZ2440开发板

    一.下载U-boot源码:ftp://ftp.denx.de/pub/u-boot/ 二.uboot的启动过程: 部分硬件初始化——>加载完整uboot到RAM——>跳转到第二阶段入口开始 ...

  9. Linux内核移植到JZ2440

    一.准备工作:1.Linux内核:Linux2.6.22.6,可从www.kernel.org上下载:2.交叉工具编译链:arm-linux-gcc-3.4.5-glibc-2.3.6:3.yaffs ...

随机推荐

  1. GC选择之串行收集与并行收集

    GC 串行收集器 (古老 稳定 会有较长时间停顿)-XX:+UseSerialGC 新生代.老年代串行回收,新生代复制算法.老年代标记-压缩算法 并行收集器 ParNew (多核时性能比较好) Ser ...

  2. hibernate 一对多 多对一 关系表 增删改查大礼包ps二级查也有

    今天来到混元气功 这货大概的意思就是你中有我 我中有你 ps 这里就要说到维护关系 ps写这个用了我一下午.......也是刚刚好复习到这里 顺便就写写 注意:一般都在多方维护关系,至于是用单向还是用 ...

  3. Windows常用的一些DOS下的CMD命令整理

    Windows常用的一些DOS下的CMD命令整理... -------------- 正斜杠--/////-----向右倒--网址正斜杠反斜杠--\\\\------向左倒--文件路径反斜杠 DOS命 ...

  4. MyBatis框架——关系映射(一对多、多对多、多对一查询)

    关系映射 一.映射(多)对一.(一)对一的关联关系 1).使用列的别名 ①.若不关联数据表,则可以得到关联对象的id属性 ②.若还希望得到关联对象的其它属性.则必须关联其它的数据表 1.创建表: 员工 ...

  5. CSS编码技巧

    前面的话 本文将从DRY.currentColor.inherit和合理使用简写这几方面来详细介绍CSS编码技巧 DRY DRY,即don`t repeat yourself,尽量减少代码重复 在软件 ...

  6. String.equals()方法

    public boolean equals(Object anObject) {     if (this == anObject) {         return true;     }      ...

  7. Linux-tar命令(2)

    tar 用于可以为文件和目录创建档案.可以为某一特定文件打包(备份文件), 也可以在档案中改变文件,或者向档案中加入新的文件. 主选参数: 主选参数仅能存在一个!不可同时存在!因为不可能同时压缩与解压 ...

  8. 嵌套ajax 页面卡死的问题

    问题:要一个AJAX中的回调函数中又进行了一个AJAX调用,并且这个AJAX是在一个循环调用的,不论设置async属性是true和false页面卡死. 解决方法:async属性都设为true,不用循环 ...

  9. Membership ——入门基础

    Membership是ASP.NET为我们提供的一套验证和存储用户凭证的框架.它可以帮助我们快速的开发用户登录.管理以及权限验证相关的模块,很多人可能会说Membership开发起来确实很快,但是总是 ...

  10. 201521123068《Java程序设计》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 点击->面向对象学习 2. 书面作业 1.clone ...