ARM Linux";:解压缩uImage";后,Start_core不能调用 [英] ARM LINUX ":start_kernel is not calling after decompressing uImage"
本文介绍了ARM Linux";:解压缩uImage";后,Start_core不能调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
解压缩ARM板上的内核映像(UImage)后,未调用start_core()函数:
为什么没有调用startcore()函数?我知道它应该从文件ch/arm/core/head.s调用。
解压缩uImage并调用start_core()后会发生什么序列?
推荐答案
引导嵌入式linux分3步完成:
引导加载程序
- 低级硬件初始化
- 将Linux内核加载到RAM中并将控制权传递给Linux
Bootstrap Loader(Linux内核镜像内):
- 解压缩并重新定位内核
- 将控制权传递给它
Linux内核:
- 通过运行start_core()引导系统,这最终会派生init进程
您的输出介于步骤2和步骤3之间(即,内核解压缩)。
您可能尚未将所有东西都设置为具有工作控制台:
编译目标Linux内核,通过make menuconfig中的串口控制台启用
Device Drivers -> Character Devices -> Serial Drivers
在内核配置中启用用于串口通信的特定驱动程序(即通过make menuconfig)
通过在U-Boot的botargs变量中设置选项控制台=设备,波特率,在正确的设备上设置Linux控制台。
这篇关于ARM Linux";:解压缩uImage";后,Start_core不能调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文