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

在移植Linux内核到MINI6410时遇到启动卡住的问题,通常由machine type不匹配、串口驱动未编译、内核启动参数错误或bootloader中GPMC配置不当引起。解决方法包括检查machine type一致性、确保串口驱动被编译、正确设置内核参数,并在bootloader中谨慎处理GPMC配置。
摘要由CSDN通过智能技术生成

出现:Uncompressing Linux... done, booting the kernel 然后卡住了。

今天用主线Linux内核移植到MINI6410,主线内核2.6.37.1基本已经支持了MINI6410的板子,所以移植到能够启动起来的阶段很简单,但是在移植的时候还是出现了一个比较常见的问题:

MINI6410 # bootm 0x50008000

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

Image Name: Linux-2.6.37.1

Image Type: ARM Linux Kernel Image (uncompressed)

Data Size: 3800644 Bytes = 3.6 MiB

Load Address: 50008000

Entry Point: 50008040

Verifying Checksum ... OK

XIP Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

停住不动了~~~~

这种问题比较常见,由于输出的信息有限,不是很好找原因,如果去代码中追踪的话也比较麻烦。在查找原因解决这个问题的时候,我找到了一些可能出现的原因,在这里总结一下:

1、machine type 不匹配

在内核自解压完成以后内核会首先会进入 bl __lookup_machine_type函数(在arch/arm/kernel/head.S中),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值