内核引导失败的常见问题解决办法

内核引导失败的常见问题解决办法

ID:6649143

大小:125.50 KB

页数:8页

时间:2018-01-21

内核引导失败的常见问题解决办法_第1页
内核引导失败的常见问题解决办法_第2页
内核引导失败的常见问题解决办法_第3页
内核引导失败的常见问题解决办法_第4页
内核引导失败的常见问题解决办法_第5页
资源描述:

《内核引导失败的常见问题解决办法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、内核引导常见问题Kernel-CommonProblemsBootingLinux作者:卢浩时间:2012.3.9转载请注明出处嵌入式爱好者开发群:122879839不少用户在尝试引导内核的时候,遇到了一些意外,内核的引导在某一点突然中断,并且不能进行下去,有时候是有个软件的bug导致的,而有时候可能是由于内核的错误的配置导致的,这篇文章是为开发者提供一些帮助来诊断为什么不能正常引导内核并且找出其中可能的原因。问题1:内核只引导到"StartingKernel...",然后串口终端就没有输出了,举个例子:##B

2、ootingkernelfromLegacyImageat80300000...ImageName:Linux-2.6.31ImageType:ARMLinuxKernelImage(uncompressed)DataSize:1750680Bytes=1.7MBLoadAddress:80008000EntryPoint:80008000VerifyingChecksum...OKLoadingKernelImage...OKOKStartingkernel...到这里,串口终端就没有再输出任何信息了.以上的

3、串口输出信息是uboot的引导过程,至于这个startingkernel其实是uboot阶段输出最后的一句信息,这时候正准备进入内核引导。这个错误一般由于错误的配置debug串口导致的,你可以检验下你内核配置的时候,你所配置的串口输出端口是多少。打个比方,你用的是TI的omap3的beagle-board板子,其中UART3被用来输入调试信息,那么你打开linux-2.6.37(打个比方是这个版本的内核)下的.config文件,你会看到以下信息:#CONFIG_OMAP_LL_DEBUG_UART1isnots

4、et#CONFIG_OMAP_LL_DEBUG_UART2isnotsetCONFIG_OMAP_LL_DEBUG_UART3=y你会看到串口3是被设置为调试的串口。现在我们需要修改串口为默认的串口,在makemenuconfig下面,"SystemType-->TIOMAPImplementations-->Low-leveldebugconsoleUART".选择这个,这个就是默认用来调试的串口,修改完之后你应该就可以看到串口引导内核的输出信息了。问题2:内核只引导到""bootingthekernel",

5、然后串口终端就没有输出了,举个例子:##BootingkernelfromLegacyImageat80300000...ImageName:Linux-2.6.31ImageType:ARMLinuxKernelImage(uncompressed)DataSize:1750680Bytes=1.7MBLoadAddress:80008000EntryPoint:80008000VerifyingChecksum...OKLoadingKernelImage...OKOKStartingkernel...Un

6、compressingLinux..............................................................................................................done,bootingthekernel.这种情况的发生可能有好几个原因,以下是常见的一些原因:原因1:串口控制台参数设置不正确,打个比方你用的是TI的omap3的beagle-board板子,其中串口选择的是UART3,那么串口的配置应该是115200波特率,

7、数据位为8,校验位为0(none),流控制为0(none)。因此,如果你的设置是正确的,你应该能够看到类似以下的信息:OMAP3beagleboard.org#printenvbootargsbootargs=console=ttyS2,115200n8root=/dev/mmcblk0p2rwrootwait这个要区分大小写,确定你输入是正确的,而且没有空格。在linux-2.6.36及更新的版本里,我们使用ttyO2来代替ttyS2,这是大写字母O,不是阿拉伯数字0.为了避免这种错误,你可以使用TISDK包

8、里面的/ezsdk/bin里面的脚本来设置env变量。原因2:不匹配的uboot和kernel的机器号这里我就不用TI的翻译的了,我前阵子刚写过一篇关于机器号的文章,直接copy过来就是了,大体意思和TI的是差不多的。我以前写过一篇关于设置uboot和kernel的机器号对应的问题。今天我才发现一个比较简单的方法。一般可以完全不用那么麻烦改源码什么的。当你uboot起来之后,在uboo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。