内核启动卡在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 卡住的大致就这几种情况。

Uncompressing Linux..... done, booting the kernel.相关推荐

  1. linux 内核调试 booting the kernel.,Uncompressing Linux...done, booting the kernel解决办法

    u-boot是好的,是刚移植成功的,用其他的内核跑过没问题.所以皇莡-boot传参有问题,问题就是出在我移植的内核上面. 我用的是mini2440的配置,linux2.6.35的内核.网上找了很多资料 ...

  2. linux 内核调试 booting the kernel.,Uncompressing Linux....... done, booting the kernel就不动了的一个可能原因...

    最近搞阳初2410的板子,做的U-BOOT1.2.0能从NAND FLASH启动起来了,但是引导内核真是搞怪,前几天还能引导的,这几天又不能引导了,但是这些内核用VIVI都是能引导的,搞得头痛死了,总 ...

  3. uboot 引导linux内核 参数mem=size,Uncompressing Linux..... done, booting the kernel.

    内核启动卡在Uncompressing Linux..... done, booting the kernel.这好像是个老生常谈的问题了.成因在网上也罗列了很多种,可这次我碰到的,却没百度出解决方法 ...

  4. linux 内核调试 booting the kernel.,Linux无法启动解决 booting the kernel.

    使用mini2440带的Linux2.6.32 使用u-boot 1.3.4引导时候无法启动内核,一直停留在以下这地方: done Bytes transferred = 2286856 (22e50 ...

  5. linux 内核调试 booting the kernel.,booting the kernel后无内核启动信息的调试方法

    移植内核经常会出现 Uncompressing Linux................................................................ done, ...

  6. linux内核启动停止在booting the kernel.

    linux内核启动停止在Uncompressing Linux................................................................ done ...

  7. Linux无法启动解决 booting the kernel.

    使用mini2440带的Linux2.6.32 使用u-boot 1.3.4引导时候无法启动内核,一直停留在以下这地方: done Bytes transferred = 2286856 (22e50 ...

  8. uncompressing linux .................................................后没反应解决办法

    编译kernel是的no machine record defined 错误,网上有一些解法,其实都是错误的,以讹传讹.不打算自己写,找到一篇还算靠谱的,转摘一下. 其根本原因是没有在 __proc_ ...

  9. linux编译内核卡住,kernel启动卡住

    出现:Uncompressing Linux... done, booting the kernel 然后卡住了. 今天用主线Linux内核移植到MINI6410,主线内核2.6.37.1基本已经支持 ...

最新文章

  1. 服务器市场严酷竞争下的众生相
  2. matlab 线性拟合相关系数,Matlab自动选择相关性最高波段并拟合曲线
  3. LDA 线性判别分析模型
  4. QGraphicsWidget收不到鼠标、键盘消息解决
  5. 一行命令 优化上传速度
  6. 正则表达式 guava_带有正则表达式模式的Google Guava Cache
  7. ASP.NET中使用非托管DLL
  8. opencv 图像仿射变换 计算仿射变换后对应特征点的新坐标 图像旋转、缩放、平移...
  9. mybatis jar包_Spring4+SpringMVC+MyBatis整合思路
  10. FishC笔记—29 讲 文件:一个任务
  11. Java之while循环基本使用
  12. 2000字谏言,给那些想学Python的人,建议收藏后细看!
  13. 酒店管理系统--C语言版
  14. 2021年茶艺师(初级)考试内容及茶艺师(初级)考试总结
  15. MSOCache是什么?
  16. 学习正则表达式 - 用 HTML 标记文本
  17. .com 域名三十年回顾:从 1 到 1 亿个,一部互联网的变迁史
  18. 一键创建多个文件夹?快速批量建立文件夹并命名?
  19. 2.1.3 毫米波雷达
  20. win7和ubuntu实现相互复制粘贴文件

热门文章

  1. 职称计算机2017年考试试题,2017年全国职称计算机考试试题
  2. 爬取微信还有朋友圈数据
  3. 2018年长春理工计算机分数线,长春理工大学2018年录取分数线.docx
  4. 淘宝店铺如何免费设置背景音乐
  5. Cesium 中实现影像贴 3Dtiles
  6. 关于Web程序开发的感想
  7. JavaSHA-256加解密
  8. 浏览器 F12调试网页出现Paused in debugger问题解决
  9. ART简单体验和Android图形硬件加速分析
  10. Ubuntu系统中Sogou输入法面板问题解决方案