|
本帖最后由 KauBoi 于 2010-4-13 11:30 编辑
自己改的,我的256mb nand flash + 2.2mb Kernel 试过,正常启动成功。
使用方法:
1.烧完这个uboot之后,在主menu菜单选择"q",进入命令行 EmbedSky>
2.输入 mtdparts 查看当前nandflash分区情况,输入 "mtdparts default" ,就可以把kernel分区扩张成3mb。 可以输入 "mtdparts" 对比看前后变化。不要重启
3.输入"saveenv"。 完成! (不知道为什么要这么做才行,感觉好像分区情况不是保存在uboot,而是通过uboot启动的时候读取nandflash上保存环境设置的区域似的,norflash启动也是读取这个nandflash的区域来自动设置环境。这里也是我觉得我这个uboot修改得还不完善的地方。)
4.因为nandflash分区改变了,所以kernel、root根文件系统 要重新烧过。
我的256nand flash成功了,其它的nand flash我在uboot源码上也改了,不过没试过。uboot上的ip地址可能改变了,自己可以去看看。不过对于天嵌的开发板,一般在uboot下不需要用到网线烧写,所以没影响,因为进入linux后会调用内核源码里的IP设置,不是uboot的。
还有,要烧3mb的内核,也需要在内核的源码上关于nand flash分区的地方稍作修改:
./linux-2.6.30.4/arch/arm/plat-s3c24xx/common-EmbedSky.c (不是common-smdk.c哦!我一开始就在这里弄错了,浪费了一段时间)里面的
#elif defined(CONFIG_EmbedSky_more_than_256MB_NAND)
[0] = {
.name = "EmbedSky_Board_uboot",
.offset = 0x00000000,
.size = 0x00040000,
},
[1] = {
.name = "EmbedSky_Board_kernel",
.offset = 0x00200000,
.size = 0x00200000,
},
[2] = {
.name = "EmbedSky_Board_yaffs2",
.offset = 0x00400000,
.size = 0x0FB80000,
}
#endif
改成
#elif defined(CONFIG_EmbedSky_more_than_256MB_NAND)
[0] = {
.name = "EmbedSky_Board_uboot",
.offset = 0x00000000,
.size = 0x00040000,
},
[1] = {
.name = "EmbedSky_Board_kernel",
.offset = 0x00200000,
.size = 0x00300000,
},
[2] = {
.name = "EmbedSky_Board_yaffs2",
.offset = 0x00500000,
.size = 0x0FA80000,
}
#endif
这是对于256MB nandflash的修改,其它的nandflash只要在相应的地方做修改就可以了 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|