jz2440修改分区的方法

xiaoxiao2021-02-28  26

第一步 u-boot下:

include/configs/100ask24x0.h里面有一个宏定义

 

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

"128k(params),"\

"2m(kernel),"\

"-(root)"

 

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

 

#ifdefined(MTDPARTS_DEFAULT)

staticconst char *const mtdparts_default = MTDPARTS_DEFAULT;

#else

#warning"MTDPARTS_DEFAULT not defined!"

staticconst 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查看 分区一样改好了

 

devicenand0 <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一样

然后就可以使用了

 

第三步:设置启动参数:

setenvbootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0rootfstype=yaffs2

 

然后开发版就可以正常启动了。。。

转载请注明原文地址: https://www.6miu.com/read-2631794.html

最新回复(0)