ARM Linux":解压缩uImage"后,Start_core不能调用 [英] ARM LINUX ":start_kernel is not calling after decompressing uImage"

查看:0
本文介绍了ARM Linux":解压缩uImage"后,Start_core不能调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

解压缩ARM板上的内核映像(UImage)后,未调用start_core()函数:

为什么没有调用startcore()函数?我知道它应该从文件ch/arm/core/head.s调用。

解压缩uImage并调用start_core()后会发生什么序列?

推荐答案

引导嵌入式linux分3步完成:

  1. 引导加载程序

    • 低级硬件初始化
    • 将Linux内核加载到RAM中并将控制权传递给Linux
  2. Bootstrap Loader(Linux内核镜像内):

    • 解压缩并重新定位内核
    • 将控制权传递给它
  3. Linux内核:

    • 通过运行start_core()引导系统,这最终会派生init进程

您的输出介于步骤2和步骤3之间(即,内核解压缩)。

您可能尚未将所有东西都设置为具有工作控制台:

  1. 编译目标Linux内核,通过make menuconfig中的串口控制台启用

    Device Drivers -> Character Devices -> Serial Drivers
    
  2. 在内核配置中启用用于串口通信的特定驱动程序(即通过make menuconfig)

  3. 通过在U-Boot的botargs变量中设置选项控制台=设备,波特率,在正确的设备上设置Linux控制台。

这篇关于ARM Linux":解压缩uImage"后,Start_core不能调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆