u-boot-2011.03在mini2440/micro2440上的移植(四)——支持内核启动

4.1 include/configs/micro2440.h

添加

#define CONFIG_SETUP_MEMORY_TAGS    1 //如果没有定义这个参数,则uboot参数必须加入men=内存大小
#define CONFIG_INITRD_TAG            1
#define CONFIG_CMDLINE_TAG           1 //设置bootargs出入内核必须
#define CONFIG_BOOTARGS         "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0"

【说明】

到此步后,使用bootm后在"Starting kernel ..."地方死机。按照下一步修改,具体原因尚不理解,需要在以后阅读uboot的源代码。

 

4.2 arch/arm/lib/bootm.c

static void announce_and_cleanup(void)
{
        printf("/nStarting kernel .../n/n");

#ifdef CONFIG_USB_DEVICE
        {
                extern void udc_disconnect(void);
                udc_disconnect();
        }
#endif

 

#ifndef CONFIG_MICRO2440
        cleanup_before_linux();
#endif
}

4.3 自动启动内核

如果要自动启动内核,需要在include/conskfigs/micro2440.h定义CONFIG_BOOTCOMMAND,类似如下内容:

#define CONFIG_BOOTCOMMAND  "nand read 0x30008000 0x60000 0x300000;bootm 0x30008000"


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值