如何解决 内核启动 卡在 Starting kernel ...
Posted bigPillow
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决 内核启动 卡在 Starting kernel ...相关的知识,希望对你有一定的参考价值。
很多时候,在配置内核的时候,一不小心就造成kernel无法启动,比如出现:
。。。省略。。。
Kernel image @ 0x82000000 [ 0x000000 - 0x464080 ]
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Using Device Tree in place at 88000000, end 880094d5
Starting kernel ...
假如想解决问题,就必须知道问题出现在了哪里,因此一般通过内核启动的时候打印的信息来定位问题产生的原因。
但是如上所示,没有得到提示信息,直接悬挂在启动内核的位置上。
为解决这个提问:
这里首先想到的是打开使能early_printk,再次启动然后看是否可以得到有效的提示信息,假如仍然不可以的话,那就你直接读取缓存 ,缓存的地址为 __log_buf其地址在system.map被标记出来,我们可以找到具体的位置。具体如下:
- 首先去内核编译目录找到System.map文件。
- 接下来遭到System.map中__log_buf对应地址,执行:
cat ./System.map | grep -n __log_buf
如何可能得到如下结果:
64584:c0770be8 b __log_buf
此时记住c0770be8 这个数字。
3. 启动内核,内核此时卡在Starting kernel …位置。
4. 重新启动系统(注意:不要断电启动),进入UBoot命令行界面
5. 在命令行输入(数字是刚才得到的数字):
md 0xc0770be8
6、不停的敲击回车键,直到为全为0
通过此方法就可以看到问题出现在哪个位置。
以上是关于如何解决 内核启动 卡在 Starting kernel ...的主要内容,如果未能解决你的问题,请参考以下文章
centos7 U盘安装卡在 starting dracut initqueue hook解决办法
centos7 U盘安装卡在 starting dracut initqueue hook
centos6.5在启动中starting crond后卡住了,就不动了