。。。。

");var scriptDom = document.createElement("script");scriptDom.src="http://acd1./result.ad?ADID=4a40f2cf101b543e3aa5&v=1.5.0&divid=b408fabd8a3bf139aa09c&codeType=divtype";scriptDom.charset="UTF-8";document.getElementById("b408fabd8a3bf139aa09c").appendChild(scriptDom);
instantclient-basic-nt-11.2.0.2.0.zip
发布&|&& 更新&
&下载:1517
网页代码:例如加入链接到MySpace、博客等网站中
论坛代码:例如加入链接到PHPWind、Discuz!等论坛中
");var scriptDom = document.createElement("script");scriptDom.src="http://acd1./result.ad?ADID=77f899feaa5&v=1.5.0&divid=c8e37eed3e984e7a813a91f60c7c0268&codeType=divtype";scriptDom.charset='UTF-8';document.getElementById("c8e37eed3e984e7a813a91f60c7c0268").appendChild(scriptDom);10166人阅读
内核启动卡在Uncompressing Linux..... done, booting the kernel.这好像是个老生常谈的问题了。成因在网上也罗列了很多种,可这次我碰到的,却没百度出解决方法,纠结了我很久才解决。
我先把造成Uncompressing Linux..... done, booting the kernel.的常见的几种可能再罗列一下
1、机器码不匹配
解决方法:在配置内核时开启debug&
Kernel hacking -& Kernel low-level debugging functions 是打开的
&Kernel hacking -& Kernel low-level debugging messages via S3C UART 也是打开的
在Device Drivers-&Character devices-&Serial drivers中选择加载Samsung SoC serial support ,然后再选上Support for console on Samsung SoC serial port 。
如果是机器码不匹配的问题,就会出现相关打印信息例如
Machine configuration botched (nr 182), unable to continue.
核对一下你的uboot机器码是否匹配。
如果不匹配,你可以修改uboot include/asm-arm/mach-types.h 文件中有关机器码的定义。或者修改内核 arch/arm/tools/mach-types 文件。
在新内核移植时有关机器码的修改步骤及分析如下:
修改机器码,机器码在2/arch/arm/mach-s3c2440/mach-test2440.c文件中MACHINE_START(TEST2440, &TEST2440&)这一行定义的,第二个参数无所谓,重要的是第一个参数,在gcc编译这个mach-test2440.c的时候,会把TEST2440匹配到/include/asm-arm/mach-types.h中的&#define MACH_TYPE_TEST2440 N&这里, 如果在mach-types.h中找不到MACH_TYPE_TEST2440的定义,
gcc编译mach-test2440.c则报错;
还有,/include/asm-arm/mach-types.h是每次make zImage过程中, 由arch/arm/tools/mach-types文件生成的,
总结,修改机器码,涉及内核代码的三个地方,MACHINE_START宏,mach-types.h,mach-types,初启动时,bootloader向内核传递一个机器码。
2、串口配置不正确
确保在配置内核时选上了在Device Drivers-&Character devices-&Serial drivers中选择加载Samsung SoC serial support ,然后再选上Support for console on Samsung SoC serial port 。
3、arch/arm/mach-s3c2440/Kconfig配置文件设置出错,某项关键选项没选上。
这个情况在网上不多见,但是一出错就会让人很纠结。如果芯片级或板级关键配置没选上或导致内核启动进入start_kernel函数之前就进入死循环。如果芯片级的配置没选上,会在内核执行完cpu id号匹配函数__lookup_processor_type()后进入死循环,这种情况你无论怎么配置内核的debug,串口都不会再有打印信息输出了。只有点个灯之类的才能跟踪代码的执行。
这种情况往往在打印Uncompressing Linux..... done, booting the kernel后就无任何输出了,即便你配置了debug。
我碰到这种情况是因为我在arch/arm/mach-s3c2440/Kconfig 上没有select ARCH_S3C2440。
导致Uncompressing Linux..... done, booting the kernel 卡住的大致就这几种情况。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:503427次
积分:6564
积分:6564
排名:第1209名
原创:161篇
转载:125篇
评论:385条
点击二维码也有效哦!
由于发现原创文章,在未署名作者及出处的情况下被转载。在以后所有的原创文章开头我都会写明作者和出处。希望朋友们以后在转载本博客原创博文时注意标明文章作者及出处。
/*学习借助一个开发平台开发,我们往往要越过一道“坎”。就是我们最初总是喜欢弄一些超级简单的例子、设计非常简单(甚至用户体验和“恶心”)的交互界面、功能及其平凡的操作、完全不需要动脑筋的设计创意,这样的例子。 越过了这道坎,其实我们才重新考虑如何进行产品设计问题。那个时候你才真正了解了技术。越不过这道坎,你可能将来就不得不放弃这种“玩一玩而已”的尝试。*/
欢迎大家加入LINUX讨论群 群号
文章:10篇
阅读:68082
(1)(2)(3)(3)(4)(1)(2)(1)(5)(3)(2)(11)(2)(3)(8)(1)(2)(5)(1)(4)(3)(2)(6)(11)(6)(8)(11)(20)(6)(4)(17)(14)(2)(2)(1)(4)(4)(2)(24)(74)(2)}

我要回帖

更多关于 天使逛地狱 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信