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

发布时间: 2024-07-01
来源: 电子工程世界

4.1 include/conskfigs/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"


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。