jz2440修改分区的方法

来源:互联网 发布:2016淘宝新手还能做吗 编辑:程序博客网 时间:2024/06/03 13:43
*********************************修改分区方法************************************
第一步 u-boot下:
include/configs/100ask24x0.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

第二步 修改内核:
/arch/arm/plat-s3c24xx/common-smdk.c 这个文件中把分区信息修改的和uboot一样
然后就可以使用了

第三步:设置启动参数:
setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 rootfstype=yaffs2

然后开发版就可以正常启动了。。。
原创粉丝点击