TI中文支持网
TI专业的中文技术问题搜集分享网站

对于No more output is seen on the console after "booting the kernel"问题解决指导

各位好!

最近有部分客户反馈一个kernel解压后没有起来,其具体情况为:

1、RTC部分按照disable RTC的管脚设置进行设计。

具体该部分引脚连接参考schematics checklist , http://processors.wiki.ti.com/index.php/AM335x_Schematic_Checklist#RTC

2. 使用SDK-06.00.00.00

 

问题表现是:

u-boot能够正常跑起来,而在引导kernel启动时,发现卡在kernel解压之后,如

Uncompressing Linux… done, booting the kerne

 

对于上述问题的分析及解决方法:

由于设置internal RTC disabled,而在kernel中没有取消register。

解决方法:

(1)需要在.config中注释掉以下设置:CONFIG_RTC_DRV_OMAP

具体实现,需要在menuconfig中的Device driversàReal Time Clock中去掉选中。

(2)  在HWMOD中取消RTC部分的注册

在linux源码的arch/arm/mach-omap2/omap-hwmod-33xx_data.c中进行修改:

在结构体中am33xx_hwmods[]

注释掉:

/* rtc class */

      &am33xx_rtc_hwmod,

 

同时,对于此问题,还有其他原因也可导致,可以从如下方面分析:

(1)DDR是否稳定: 因为解压kernel会频率操作DDR,如果DDR不够稳定,会造成在解压时kernel的某些数据出错,从而导致无法启动kernel。

如DDR3,解决核对DDR3的相关配置参数,同时记得做SW leveling。

(2)其他原因:可以参考如下链接

http://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux

 

 

 

 

 

Eric Zhang:

以前我也遇到了,开earlyprintk,发现卡在rtc上,然后把omap-hwmod-33xx_data.c中关于rtc的东西都注释掉了,然后内核就跑起来了,就是这个问题。

Eric Zhang:

http://e2e.ti.com/support/arm/sitara_arm/f/791/t/270550.aspx

这哥们应该也是同样的问题,如果他还没解决你可以跟他说一声

Gino E:

各位,

借gary这个帖子,我再补充一种由于RTC的原因导致系统无法启动(或者有一定几率无法启动)的情况和解决方法。我说的这种问题是发生在MLO阶段.

出现这种问题的原因是,RTC相关的上电时序没有符合数据手册的要求。多数是RTC_Reset时间过长,在POWERON_RESET信号拉高后才被拉高。事实上这种设计并不会影响芯片的上电启动(除非PMIC需要由PMIC_POWER_EN触发,如AM335x GPEVM设计),芯片也可以正常输出”cccc”。 但是由于芯片在MLO的s_init函数里会对rtc进行一次初始化。如下截图,

因为红框中的rtc->kick0r & rtc->kick1r寄存器属于RTC domain. 如果当系统对这两个寄存器访问时,RTC domain由于复位的原因还处于不可用的状态,这时整个系统就会出现假死现象。可以看到这可以是个很临界的情况。实际环境由于存在PCB制版的问题,不同板子上RTC reset拉高时间上可能会存在一定差异,于是就有可能导致变成板子概率性无法启动。

解决方案很简单,

硬件设计上保证RTC reset时序符合数据手册需求
软件上在MLO里屏蔽对RTC寄存器的读写。(会diable rtc功能)

jiew:

回复 Gino E:

我們的版子,沒使用RTC

依照上面作法,可以正常進入rootfs

但是仍然會有一些錯誤訊息

udhcpc (v1.20.2) startedSending discover…Sending discover…Sending discover…No lease, failingdone.hwclock: can't open '/dev/misc/rtc': No such file or directoryTue Jun 25 23:08:00 UTC 2013hwclock: can't open '/dev/misc/rtc': No such file or directoryINIT: Entering runlevel: 5Starting system message bus: dbus.Starting telnet daemon.hwclock: can't open '/dev/misc/rtc': No such file or directoryStarting syslogd/klogd: doneStarting thttpd.

請問該如何修改hwclock.sh呢????????

/etc/init.d/hwclock.sh

Yaoming Qin:

回复 jiew:

这些都只是warning吧

yunbo zhang:

回复 Yaoming Qin:

学习了!

赞(0)
未经允许不得转载:TI中文支持网 » 对于No more output is seen on the console after "booting the kernel"问题解决指导
分享到: 更多 (0)