uboot启动Linux内核卡住

这篇具有很好参考价值的文章主要介绍了uboot启动Linux内核卡住。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

uboot启动Linux内核uImage卡在Starting kernel ...这一步

linux启动卡住kernel,linux,arm,arm开发,Powered by 金山文档

由于出现这种情况的原因有很多,暂时列举几种

一、内核镜像uImage的加载地址和入口地址不一致

查看uImage的信息

mkimage -l arch/arm/boot/uImage
linux启动卡住kernel,linux,arm,arm开发,Powered by 金山文档

可以看见加载地址与入口地址为0xc2000040。由于uImage在头部添加了64个字节的识别信息,那么

加载地址是uboot在加载内核时的存放地址,入口地址是内核代码的开始执行地址。在使用前面的uboot加载uImage时,把uImage加载到加载地址(0xc2000040)处,然后就在入口地址(0xc2000040)处开始执行,而实际的代码执行地址是0xc2000080(入口地址+文件头长度)。所以无法启动uImage.

所以在uboot启动阶段使用如下代码可以启动

tftp c2000000 uImage
bootm

二、串口终端设置错误

找到自己开发板的串口终端,在bootargs里面修改。如正点原子stm32mp157开发板的串行终端为ttySTM0,加上使用nfs挂载根文件系统则

setenv bootargs 'console=ttySTM0,115200 root=/dev/nfs nfsroot=192.168.1.208:/home/lemonhack/study/linux/nfs/rootfs,proto=tcp rw ip=192.168.1.250:192.168.1.208:192.168.1.1:255.255.255.0::eth0:off'

三、编译uboot使用的交叉编译器与编译linux内核的交叉编译器不同

这是我写这篇文章遇到的问题

我使用的是正点原子的stm32mp157开发板,uboot使用的是正点原子已经编译好的uboot,根据视频教程,编译uboot使用的是arm-none-linux-gnueabihf-这一个交叉编译器。而内核镜像我是自己编译的,使用的是arm-linux-gnueabihf-这一个交叉编译器,所以uboot启动的时候卡在Starting kernel ...这一步。

解决方法就是uboot与内核镜像使用同一交叉编译器。解决原理请求各位大佬告知一下

参考

uboot无法引导uImage错误及其解决方法 - qiaoqiao2003 - 博客园 (cnblogs.com)

(1条消息) Exynos4412 移植Linux Kernel 5.15过程记录(二)——解决U-Boot启动内核卡在Starting kernel的问题,DM9000网卡驱动(设备树)_dm9000设备树_HelloTonyGo的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-644786.html

到了这里,关于uboot启动Linux内核卡住的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Xilinx】开发环境(五)- 基于Petalinux配置,单独编译uboot,Linux内核

    此系列博客,仅对Xilinx平台PS端(ARM部分)开发做介绍,不对PL(FPGA)做过多介绍。 目录 一. 单独编译UBoot 2.1.拷贝源码 2.拷贝配置文件 3.编译 二. 单独编译内核源码 2.1 复制内核源码 2.2 复制配置文件( 根据芯片,32位复制到arch/arm/configs, 64位到arch/arm64/configs) 2.3 复制.its文件,用

    2024年02月10日
    浏览(55)
  • linux 内核ARM32启动

    基于linux4.19内核翻译理解 为了启动ARM Linux,您需要一个引导加载程序,它是在主内核之前运行的小程序。 引导加载程序被期望初始化各种设备,并最终调用Linux内核,向内核传递信息。 基本上,引导加载程序应该提供(至少)以下内容: 1.设置和初始化RAM。 2.初始化一个串

    2024年01月18日
    浏览(53)
  • ARM Linux 内核启动1 —— 汇编阶段

    1、Makefile 分析 (1) kernel 的 Makefile 写法和规则等,和 uboot 的 Makefile 是一样的,甚至 Makefile 中的很多内容都是一样的。 (2) kernel 的 Makefile 比 uboot 的 Makefile 要复杂,这里我们并不会一行一行的详细分析。 (3) Makefile 中只有一些值得关注的会强调一下,其他不强调的地方暂时可以

    2024年02月12日
    浏览(65)
  • linux内核tcp配置--断网后连接卡住

    目前odbc版本2.3.1,不支持设置连接属性(连接超时、命令请求超时等),需要odbc版本3.0以上。可通过设置tcp内核参数(重传次数)来缩短超时时间。 使用命令行可以方便地查看已安装的 ODBC的版本信息。 打开终端。 输入以下命令来查看MySQL ODBC的版本: 这将显示已安装的O

    2024年02月05日
    浏览(45)
  • 【Linux Kernel】Linux内核裁剪

    目录 1. 内核简介 1.1 内核版本及特点 1.2 获取内核源码 1.3 内核启动过程简述 1.3.1 内核引导阶段 1.3.2 内核初始化阶段 2. 内核源码结构及Makefile分析 2.1 Linux内核Makefile分析 2.1.1决定编译那些文件 2.1.2 怎样编译这些文件 2.1.3 怎样链接这些文件 3. Kconfig分析 3.1 Kconfig文件的基本要

    2024年02月04日
    浏览(48)
  • IMX6ULLPRO单独编译kernel+dtb内核模块以及uboot

    目录 linux开发板启动流程 为什么编译驱动程序之前要先编译内核? 驱动程序要用到内核文件: 编译内核 编译安装内核模块 编译内核模块 安装内核模块到 Ubuntu 某个目录下备用  安装内核和模块到开发板上  Bootloader 介绍 编译 u-boot 镜像 Reset--ROM--bootloader--kernel+dtb--rootfs--AP

    2024年01月22日
    浏览(44)
  • 【Linux内核】从0开始入门Linux Kernel源码

    🌈 博客个人主页 :Chris在Coding 🎥 本文所属专栏 :[Linux内核] ❤️  前置学习专栏 :[Linux学习]从0到1 ⏰  我们仍在旅途                                                                                    ​ 目录         前言--Linux内核简述         内核的

    2024年02月20日
    浏览(44)
  • ubuntu linux kernel内核操作

    1.内核编译前的准备工作 2.下载内核 4. 编译新内核 5. 内核安装 6. 安装模块 7. 生成initrd.img文件 8. 切换到/boot/grub/目录下,自动查找新内核,并添加至grub引导 9. 重启Ubantu,在previous version中选择启动新编译的内核 VMware虚拟机Ubantu20.04,Linux5.8.1内核源代码包 1.内核编译前的准备

    2024年02月19日
    浏览(43)
  • Linux Kernel内核整体架构(图文详解)

    本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。 注:本文和其它的“Linux内核分析”文章都基于如下约定: a) 内核版

    2024年02月11日
    浏览(44)
  • uboot 启动内核代码分析

    uboot的本质就是一个复杂点的裸机程序。内核本身也是一个\\\"裸机程序“,和uboot、和其他裸机程序并没有本质区别。 区别就是操作系统运行起来后在软件上分为内核层和应用层,分层后两层的权限不同,在内存访问和设备操作的管理上更加精细(内核可以随便访问各种硬件,

    2024年02月11日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包