天嵌 ARM开发社区

 找回密码
 注册
查看: 1932|回复: 3

发个支持3MB内核的uboot

[复制链接]
KauBoi 发表于 2010-4-13 11:24:27 | 显示全部楼层 |阅读模式
本帖最后由 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只要在相应的地方做修改就可以了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
亚瑟王 发表于 2010-4-14 10:33:16 | 显示全部楼层
common-EmbedSky.c这个地方在Linux移植手册里面讲了的,可能不够详细吧。呵呵。
zhengxi 发表于 2010-4-15 00:38:42 | 显示全部楼层
晕 ,要发就发源码 ,不要发镜像 ,对研究没什么作用
kanelai 发表于 2010-5-15 18:14:56 | 显示全部楼层
我也要,给我吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-9-20 02:53 , Processed in 1.038996 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表