给JZ2440开发板重新分区
来源:互联网 发布:新疆网络管制 编辑:程序博客网 时间:2024/06/01 12:38
转自:http://mp.weixin.qq.com/s?__biz=MzAxNTAyOTczMw==&mid=2649328035&idx=1&sn=7d3935cc05d31a494b8255c692afac16&scene=0#wechat_redirect
在购买开发板的时候,板子上已经烧写好了bootloader、内核和文件系统。但是在具体使用的时候,发现板子上划分的内核分区只有2M,但是我编译出来的内核大于2M,于是将内核烧写到nandflash上面时会启动不成功。怎么办呢?后来经过查找资料,找到了解决办法。
修改这两个文件:
①u-boot-1.1.6/include/configs/100ask2440.h
如果是别的类型的板子,就会找不到这个文件。不过大致路径是没错的,可以先使用以下命令搜索
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。
②(可选)内核中也有类似的一个文件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_2M,
},
[3] = {
.name = "rootfs",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
}
};
修改之后,重新编译下载内核即可。U-BOOT启动时可用mtd命令来查看分区是否生效。我的分区表如下所示:
- 给JZ2440开发板重新分区
- jz2440开发板使用记录
- jz2440开发板基本操作
- jz2440开发板NFS配置
- Jz2440开发板led驱动程序
- jz2440开发板基本操作
- 编译JZ2440开发板的u-boot
- jz2440裸板开发之:存储器控制
- jz2440裸板开发之:外部中断
- JZ2440开发板-TFT LCD实验
- uboot配置分析(jz2440开发板)
- JZ2440开发板Uboot烧写
- QT在JZ2440开发板上移植
- 下载文件到JZ2440开发板上
- JZ2440开发板介绍(S3C2440)
- jz2440开发板-软件环境的构建
- jz2440开发板NFS服务器配置
- jz2440修改分区的方法
- React Native之DrawerLayoutAndroid仿网易云音乐滑动菜单
- yii框架项目的创建
- build.gradle配置参数详解
- 比你厉害的人,其实比你拼命多了
- raid
- 给JZ2440开发板重新分区
- python数据分析及数据处理相关资料
- 策略模式——你要用支付宝还是微信?
- python调用Java-JPype使用介绍(一)(转)
- Hrbust 1540 摧毁车站【Floyd+记录路径+思维】
- Layer2-wan-3 ppp
- SSM(一)框架的整合
- 利用ant构建 jsp->servlet->class->jar
- FreeRTOS 队列使用