linux查看内核分区,如何根据bootloader中MTD分区信息修改linux内核中的MTD分区

例如uboot中的开发的board目录下的新建的开发板名为100ask24x0,则查看该目录下的100ask24x0.h文件。根据文件中的

#define MTDIDS_DEFAULT "nand0=nandflash0"

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

"128k(params)," \

"2m(kernel)," \

"-(root)"

这段语句来分析,则可知道修改内核中linux-2.6.22.6\arch\arm\plat-s3c24xx\common-smdk.c的下面代码

static struct mtd_partition smdk_default_nand_part[] = {

[0] = {

.name = "Boot Agent",

.size = SZ_16K,

.offset = 0,

},

[1] = {

.name = "S3C2410 flash partition 1",

.offset = 0,

.size = SZ_2M,

},

[2] = {

.name = "S3C2410 flash partition 2",

.offset = SZ_4M,

.size = SZ_4M,

},

[3] = {

.name = "S3C2410 flash partition 3",

.offset = SZ_8M,

.size = SZ_2M,

},

[4] = {

.name = "S3C2410 flash partition 4",

.offset = SZ_1M * 10,

.size = SZ_4M,

},

[5] = {

.name = "S3C2410 flash partition 5",

.offset = SZ_1M * 14,

.size = SZ_1M * 10,

},

[6] = {

.name = "S3C2410 flash partition 6",

.offset = SZ_1M * 24,

.size = SZ_1M * 24,

},

[7] = {

.name = "S3C2410 flash partition 7",

.offset = SZ_1M * 48,

.size = SZ_16M,

}

};

修改为

static struct mtd_partition smdk_default_nand_part[] = {

[0] = {

.name   = "bootloader",

.size   = 0x00040000,

.offset = 0,

},

[1] = {

.name   = "params",

.offset = MTDPART_OFS_APPEND,

.size   = 0x00020000,

},

[2] = {

.name   = "kernel",

.offset = MTDPART_OFS_APPEND,

.size   = 0x00200000,

},

[3] = {

.name   = "root",

.offset = MTDPART_OFS_APPEND,

.size   = MTDPART_SIZ_FULL,

}

};

这样就可以顺利的挂接内核了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值