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

done Bytes transferred = 2286856 (22e508 hex)

## Booting kernel from Legacy Image at 32000000 ...

Image Name:   Linux-2.6.32.2-FriendlyARM

Created:      2012-02-12   4:43:25 UTC

Image Type:   ARM Linux Kernel Image (uncompressed)

Data Size:    2286792 Bytes =  2.2 MB

Load Address: 30008000

Entry Point:  30008000

Verifying Checksum ... OK

Loading Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux..................................................................................................................................................... done, booting the kernel.

出现这个现象的原因有三个:

1.u-boot中的频率与kernel中CPU频率的设置不一样,kernel中设置的过高,使程序跑飞。

2.mach_type值不一致。u-boot中的mach_type值与kernel中的不一致,导致这个问题。

3.启动的时候,串口参数设置有问题。

我的问题是第2个大原因。

去arch/arm/mach-s3c2440/mach-mini2440.c 查看下面这个结构体:

MACHINE_START(MINI2440, "MINI2440")

/* Maintainer: Michel Pollet */

.phys_io        = S3C2410_PA_UART,

.io_pg_offst    = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,

.boot_params    = S3C2410_SDRAM_PA + 0x100,

.map_io         = mini2440_map_io,

.init_machine   = mini2440_init,

.init_irq       = s3c24xx_init_irq,

.timer          = &s3c24xx_timer,

MACHINE_END

问题就是出在第一行的MINI2440,因为这个宏定义扩展之后的machine type 就成了 MACHINE_TYPE_MINI2440, 而我在u-boot定义的是MACHINE_TYPE_S3C2440,因此不匹配导致内核不识别死在这里了。 将MINI2440改成S3C2440后内核成功起来

linux 内核调试 booting the kernel.,Linux无法启动解决 booting the kernel.相关推荐

  1. linux 内核调试信息在哪里,Linux kernel debug技巧----开启DEBUG选项

    Linux kernel debug技巧----开启DEBUG选项 作者:wowo 发布于:2016-11-1 19:39 分类:Linux应用技巧 kernel的source code中有很多使用p ...

  2. Linux Kernel - Debug Guide (Linux内核调试指南 )

    linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 ...

  3. linux下jtag命令,[转载]LINUX内核调试过程(使用OpenJtag + OpenOCD)

    [转载]LINUX内核调试过程(使用OpenJtag + OpenOCD) (2012-04-12 02:02:27) 标签: 杂谈 [转载]LINUX内核调试过程(使用OpenJtag + Open ...

  4. Linux内核调试技术指南

    前两天,完成了ucos在2440上的移植,以及boot的修改.今天突然想到,我在linux下,该如何来编写,调试比较复杂的驱动.我想这个问题应该从如何调试内核入手,先转载两个文字,待西西看来. 系统搭 ...

  5. linux内核调试指南

    Hunnad的专栏 * 条新通知 * 登录 * 注册 * 欢迎 * 退出 * 我的博客 * 配置 * 写文章 * 文章管理 * 博客首页 * * * * 空间 * 博客 * 好友 * 相册 * 留言 ...

  6. 开源项目-基于Intel VT技术的Linux内核调试器

    本开源项目将硬件虚拟化技术应用在内核调试器上,使内核调试器成为VMM,将操作系统置于虚拟机中运行,即操作系统成为GuestOS,以这样的一种形式进行调试,最主要的好处就是调试器对操作系统完全透明.如下 ...

  7. Linux内核调试 - 一般人儿我都不告诉他(一)【转】

    转自:http://www.cnblogs.com/armlinux/archive/2011/04/14/2396821.html 悄悄地进入Linux内核调试(一) 本文基址:http://blo ...

  8. Linux 内核调试器 调试指南

    Linux 内核调试器内幕 KDB 入门指南 Hariprasad Nellitheertha (nharipra@in.ibm.com), 软件工程师, IBM 简介: 调试内核问题时,能够跟踪内核 ...

  9. Linux内核调试的方式以及工具集锦

    Linux内核调试的方式以及工具集锦 CSDN GitHub Linux内核调试的方式以及工具集锦 LDD-LinuxDeviceDrivers/study/debug  本作品采用知识共享署名-非商 ...

  10. Linux内核调试原理和工具介绍--理解静态插装/动态插装、tracepoint、ftrace、kprobe、SystemTap、Perf、eBPF

    可以将linux跟踪系统分成Tracer(跟踪数据来自哪里),数据收集分析(如"ftrace")和跟踪前端(更方便的用户态工具). 1. 数据源(Tracers) printk 是 ...

最新文章

  1. Google设想将《黑镜》情节变为现实,但要你的隐私作交换
  2. 【预告】这两天可能要装Server 2012 Essentials和Nginx反向代理
  3. pandas笔记:根据列索引名称/行索引名称 对列重新排序
  4. AWT Button类
  5. java如何运行一个任务_如何每天从Java运行任务?
  6. Python字符串之'\x00'与空串''的区别
  7. Google在东京召开了一场AI座谈会
  8. stm32 JTAG和SWD的使用区别简要介绍
  9. POI导出之我的实践篇
  10. 光头老熊做易赛是这样做教下家的
  11. 相亲交友婚恋活动报名小程序开发制作功能
  12. opencv img.shape
  13. oom killer 详解
  14. 计算机思维培训心得,计算机教师培训心得体会
  15. 用python写王字_看这里!Python之web之王!
  16. Exploratory Social Network Analysis with Pajek(第三版)2-1
  17. gmai邮箱怎么注册啊
  18. uniapp微信小程序项目启动步骤
  19. Visual C++ 2010 第8章 深入理解类
  20. 使用css将彩色图片转换为黑白图片

热门文章

  1. 回调函数与回调地狱及其解决方法 | JavaScript
  2. bootloader学习笔记---第一篇以stm32为例
  3. F5负载均衡器通过iRules实现http应用的灵活转发
  4. jiaba库之关键词提取(增量更新自定义语料)
  5. 基于DCT变换的JPEG图像压缩
  6. 哪个软件能准确测试人脸,人脸识别软件哪个好?人脸识别软件推荐2020
  7. CSS3 SVG波浪线条动画js特效
  8. 2345加速浏览器有哪些特点
  9. 快速设置电脑自动关机
  10. Python代码中的三大常见“愚形”,你中招了吗?