0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式Linux OS启动流程

Q4MP_gh_c472c21 来源:未知 作者:李倩 2018-08-01 16:17 次阅读

嵌入式Linux OS启动流程

一、硬件上电

二、一级启动:bootROM

Boot ROM是厂商都无法进行更改,固化在芯片内部的ROM;

作用:确定用于启动的设备;从启动的设备的位置搬移一小段代码(4k/8k/16k)到RAM中运行,即SPL;

三、二级启动:SPL+uboot

1.SPL: Secondary Program Loader:

作用:初始化DDR;从启动的设备搬移第二段代码到RAM中,加载uboot;(有些SoC是将bootloader复制到RAM后,再进行DDR初始化;)

2.uboot: Universal boot loader:

U-Boot从启动设备上面读取、分析环境变量获得kernel和rootfs存储位置,以及所需的kernel command line;自动检测系统RAM和eMMC/Nand Flash容量和参数;设置以太网口MAC地址,并配置好硬件准备加载Linux kernel;加载Linux kernel到RAM,至此系统控制权则转移到kernel来处理;

四、Linux Kernel

系统Kernel初始化Linux,加载rootfs,最后启动’init’来初始化Linux user space

五、不同的OS

Android、Yocto、ubuntu、fedora

补充:

一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:1、 引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。(bootROM,uboot)

2、Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。(linux kernel)

3、 文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk来作为rootfs。

4、 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。

BootLoader是一段小程序,主要功能是引导操作系统启动。可以把它想象成PC机Linux上的GRUB/LILO引导程序,只不过在嵌入式linux中,没有BIOS,而是直接从flash中运行,来装载内核。它可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统做好准备

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18281

    浏览量

    288387
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206731

原文标题:嵌入式Linux OS启动流程,了解一下!

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式Linux系统的快速启动方法

    1 嵌入式Linux系统启动时序目前,嵌入式系统的硬件平台和应用方向区别很大,但总体启动流程一致
    发表于 07-24 07:14

    嵌入式系统是如何去定义的

    的专用软硬件系统都可称为嵌入式系统。嵌入式系统的核心是定制是根据市场需求对软硬件进行定制,实现性能的最大化通用嵌入式系统软件组成部分图一为无os嵌入
    发表于 07-28 06:43

    嵌入式Linux启动流程简介

    目录嵌入式 Linux 启动流程简介启动流程Bootloader 简介市面上可见的 bootlo
    发表于 11-04 09:04

    如何对嵌入式linux系统快速启动进行优化

    嵌入式linux快速启动的一些优化的方法,主要是要掌握嵌入式linux系统的启动
    发表于 11-04 06:36

    嵌入式linux启动流程的相关资料分享

    开门见山:1、嵌入式linux启动第一步----Boot LoaderBoot Loader在这里我就不细说了,详细分析起来的话有很多内容,网上也有很多讲解很详细的文章。这段小程序中我们可以初始化
    发表于 11-05 08:45

    Linux启动流程是怎样的

    本文简单的介绍了什么是嵌入式系统,以及嵌入式Linux的系统结构,并且简单的介绍了Linux启动流程
    发表于 11-05 06:44

    详细分析嵌入式Linux系统启动流程

    嵌入式Linux专题(一)中已经对嵌入式Linux系统的架构及启动流程有了初步的介绍,本文将详
    发表于 11-05 09:25

    嵌入式linux开发的流程是怎样的

    很多的小伙伴都私信问了小编在嵌入式学习的过程中都能学到什么,这次小编就顺从大家的意思来一篇嵌入式linux开发的流程嵌入式
    发表于 12-16 07:02

    嵌入式Linux系统的构成和启动过程

    文章目录一、嵌入式Linux系统构成二、嵌入式Linux系统启动过程在我们的周围,大量的嵌入式
    发表于 12-16 06:20

    STM32F103要接触的嵌入式OS

    :I.MAX6从CPU:STM32F103要接触的嵌入式OS嵌入式linux,android嵌入式系统设计三阶段:1.分析2设计3.实现
    发表于 12-22 08:06

    如何优化嵌入式Linux启动时间

    优化嵌入式Linux启动时间之启动脚本注:本文转载自微信公众号嵌入式客栈——优化嵌入式
    发表于 12-23 06:43

    嵌入式linux安装与使用

    嵌入式linux安装与使用!嵌入式Linux开发工具!! gcc make shell嵌入式linux
    发表于 12-23 06:32

    典型ARM嵌入式Linux设备启动流程是怎样的?

    典型ARM嵌入式Linux设备启动流程是怎样的?
    发表于 12-23 06:25

    嵌入式 Linux 启动流程和 bootloader 介绍

    目录嵌入式 Linux 启动流程简介启动流程Bootloader 简介市面上可见的 bootlo
    发表于 11-01 16:32 11次下载
    <b class='flag-5'>嵌入式</b> <b class='flag-5'>Linux</b> <b class='flag-5'>启动</b><b class='flag-5'>流程</b>和 bootloader 介绍

    嵌入式Linux专题(一)——嵌入式Linux系统构成及启动流程

    本文简单的介绍了什么是嵌入式系统,以及嵌入式Linux的系统结构,并且简单的介绍了Linux启动流程
    发表于 11-02 12:36 15次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>专题(一)——<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系统构成及<b class='flag-5'>启动</b><b class='flag-5'>流程</b>