This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

对于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

 

 

 

 

 

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

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

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

  • 各位,

    借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拉高时间上可能会存在一定差异,于是就有可能导致变成板子概率性无法启动。

    解决方案很简单,

    1. 硬件设计上保证RTC reset时序符合数据手册需求
    2. 软件上在MLO里屏蔽对RTC寄存器的读写。(会diable rtc功能)
  • 我們的版子,沒使用RTC

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

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

    ...

    udhcpc (v1.20.2) started
    Sending discover...
    Sending discover...
    Sending discover...
    No lease, failing
    done.
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    Tue Jun 25 23:08:00 UTC 2013
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    Starting telnet daemon.
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    Starting syslogd/klogd: done
    Starting thttpd.

    ...

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

    /etc/init.d/hwclock.sh

  • 这些都只是warning吧