内核启动卡在 Starting kernel ...

时间:2022-07-15 13:33:50

 

一、有时log是这样的

Card did not respond to voltage select!
9889800 bytes read in 237 ms (39.8 MiB/s)
70155 bytes read in 5 ms (13.4 MiB/s)
## Flattened Device Tree blob at 48000000
   Booting using the fdt blob at 0x48000000
   Using Device Tree in place at 0000000048000000, end 000000004801420a

Starting kernel ...


但是如上所示,没有得到提示信息,直接悬挂在启动内核的位置上。为解决这个提问: 首先想到的是打开使能early_printk,再次启动然后看是否可以得到有效的提示信息,假如仍然不可以的话,
那就你直接读取缓存 ,缓存的地址为 __log_buf其地址在System.map被标记出来,我们可以找到具体的位置。具体如下:

# cd build/tmp/work/g6s-poky-linux/linux-renesas/4.14.45-r1/build
# cat System.map | grep __log_buf
ffff0000089fcab8 b __log_buf      //记住这个地址

重新打断Uboot,输入下面命令并不停回车,就可以看到出问题的原因
> md ffff0000089fcab8

MMC:   sh-sdhi: 0, sh-sdhi: 1
In:    serial
Out:   serial
Err:   serial
Net:   Board Net Initialization Failed  //可以看出是网络初始化失败导致的
No ethernet found.
Recovery Flag: ""
Recovery Magic: ""
Update Package Flag: 0x0
Hit any key to stop autoboot:  0