使U-BOOT能正确引导LINUX

2009-05-13 10:57:46来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


1、为了能使得U-BOOT正确引导linux内核。必须传递合适的参数给内核。
修改include/configs/zj2410.h如下:
……
……
/************************************************************
* RTC
************************************************************/
#define    CONFIG_RTC_S3C24X0     1

/* allow to overwrite serial and ethaddr */
#define CONFIG_ENV_OVERWRITE

#define CONFIG_BAUDRATE             115200

/************************************************************/
/* My Add */
/* enable passing of ATAGs   */
#define CONFIG_CMDLINE_TAG      1
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_INITRD_TAG   1

/***********************************************************
* Command definition
***********************************************************/
#define CONFIG_COMMANDS \
                     (CONFIG_CMD_DFL   | \
                     CFG_CMD_CACHE      | \
                     CFG_CMD_NAND       | \
                     /*CFG_CMD_EEPROM |*/ \
                     /*CFG_CMD_I2C  |*/ \
                     /*CFG_CMD_USB |*/ \
                     CFG_CMD_REGINFO  | \
                     CFG_CMD_DATE  | \
                     CFG_CMD_ELF)
……
……

2、为了能稳定正确引导linux内核,得修改UBOOT的2410CPU频率。
smdk2410的U-BOOT原来运行频率是202.8M,在这个频率我已开始能正确引导内核,但是后来突然就不能引导了,总是死在下面这个地方:
Uncompressing Linux....................................................... done, booting the kernel.
按照网上的说法,内核中,在\arch\arm\mach_s3c2410\s3c2410.c 中
       fclk = s3c2410_get_pll(MPLLCON, xtal);   //读出来的fclk结果和bootloader的频率不一致。
既然不能用202.8M,VIVI的200M能跑得好好的,那我把U-BOOT的频率改成200M,2.6.20.3的内核和阳初光盘的2.4.18的内核都能正确稳定地引导了。
修改board/yangchu2410/smdk2410.c文件如下:
#define FCLK_SPEED 1
#if FCLK_SPEED==0  /* Fout = 203MHz, Fin = 12MHz for Audio */
#define M_MDIV 0xC3

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:uboot for s3c2410 nandboot 使用saveenv保存环境变量

下一篇:制作U盘启动的FREEBSD完全版