linux 内核调试 booting the kernel.,Linux无法启动解决 booting the kernel.
使用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.相关推荐
- linux 内核调试信息在哪里,Linux kernel debug技巧----开启DEBUG选项
Linux kernel debug技巧----开启DEBUG选项 作者:wowo 发布于:2016-11-1 19:39 分类:Linux应用技巧 kernel的source code中有很多使用p ...
- Linux Kernel - Debug Guide (Linux内核调试指南 )
linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 ...
- linux下jtag命令,[转载]LINUX内核调试过程(使用OpenJtag + OpenOCD)
[转载]LINUX内核调试过程(使用OpenJtag + OpenOCD) (2012-04-12 02:02:27) 标签: 杂谈 [转载]LINUX内核调试过程(使用OpenJtag + Open ...
- Linux内核调试技术指南
前两天,完成了ucos在2440上的移植,以及boot的修改.今天突然想到,我在linux下,该如何来编写,调试比较复杂的驱动.我想这个问题应该从如何调试内核入手,先转载两个文字,待西西看来. 系统搭 ...
- linux内核调试指南
Hunnad的专栏 * 条新通知 * 登录 * 注册 * 欢迎 * 退出 * 我的博客 * 配置 * 写文章 * 文章管理 * 博客首页 * * * * 空间 * 博客 * 好友 * 相册 * 留言 ...
- 开源项目-基于Intel VT技术的Linux内核调试器
本开源项目将硬件虚拟化技术应用在内核调试器上,使内核调试器成为VMM,将操作系统置于虚拟机中运行,即操作系统成为GuestOS,以这样的一种形式进行调试,最主要的好处就是调试器对操作系统完全透明.如下 ...
- Linux内核调试 - 一般人儿我都不告诉他(一)【转】
转自:http://www.cnblogs.com/armlinux/archive/2011/04/14/2396821.html 悄悄地进入Linux内核调试(一) 本文基址:http://blo ...
- Linux 内核调试器 调试指南
Linux 内核调试器内幕 KDB 入门指南 Hariprasad Nellitheertha (nharipra@in.ibm.com), 软件工程师, IBM 简介: 调试内核问题时,能够跟踪内核 ...
- Linux内核调试的方式以及工具集锦
Linux内核调试的方式以及工具集锦 CSDN GitHub Linux内核调试的方式以及工具集锦 LDD-LinuxDeviceDrivers/study/debug 本作品采用知识共享署名-非商 ...
- Linux内核调试原理和工具介绍--理解静态插装/动态插装、tracepoint、ftrace、kprobe、SystemTap、Perf、eBPF
可以将linux跟踪系统分成Tracer(跟踪数据来自哪里),数据收集分析(如"ftrace")和跟踪前端(更方便的用户态工具). 1. 数据源(Tracers) printk 是 ...
最新文章
- Google设想将《黑镜》情节变为现实,但要你的隐私作交换
- 【预告】这两天可能要装Server 2012 Essentials和Nginx反向代理
- pandas笔记:根据列索引名称/行索引名称 对列重新排序
- AWT Button类
- java如何运行一个任务_如何每天从Java运行任务?
- Python字符串之'\x00'与空串''的区别
- Google在东京召开了一场AI座谈会
- stm32 JTAG和SWD的使用区别简要介绍
- POI导出之我的实践篇
- 光头老熊做易赛是这样做教下家的
- 相亲交友婚恋活动报名小程序开发制作功能
- opencv img.shape
- oom killer 详解
- 计算机思维培训心得,计算机教师培训心得体会
- 用python写王字_看这里!Python之web之王!
- Exploratory Social Network Analysis with Pajek(第三版)2-1
- gmai邮箱怎么注册啊
- uniapp微信小程序项目启动步骤
- Visual C++ 2010 第8章 深入理解类
- 使用css将彩色图片转换为黑白图片