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中运行,来装载内核。它可以初始化硬件设备,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统做好准备

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

    关注

    5068

    文章

    19008

    浏览量

    302929
  • Linux
    +关注

    关注

    87

    文章

    11219

    浏览量

    208872

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

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

收藏 人收藏

    评论

    相关推荐

    嵌入式Linux启动流程简介

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

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

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

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

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

    STM32F103要接触的嵌入式OS

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

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

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

    嵌入式linux开发流程

    | 一嵌入式Linux1 什么是嵌入式Linux嵌入式linux 是将日益流行的
    发表于 09-10 10:20 40次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>开发<b class='flag-5'>流程</b>

    嵌入式Linux系统开发基础

    了解嵌入式Linux系统Ø 从Linux内核到文件系统ü嵌入式Linux开发流程v
    发表于 09-10 11:11 68次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系统开发基础

    嵌入式LINUX开发基础知识

    嵌入式LINUX简介,嵌入式LINUX开发平台简介,嵌入式LINUX开发
    发表于 07-31 21:34 261次下载

    嵌入式Linux快速启动技术综述张全胜

    嵌入式Linux快速启动技术综述_张全胜
    发表于 03-14 08:00 1次下载

    详解嵌入式linux 启动信息

    详解嵌入式linux 启动信息
    发表于 10-30 10:28 11次下载
    详解<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b> <b class='flag-5'>启动</b>信息

    嵌入式 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启动流程--详解

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

    嵌入式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>

    嵌入式Linux(基础篇)】嵌入式Linux底层系统开发流程和应用开发流程

    介绍了嵌入式Linux系统体系架构,以及每一层开发人员的开发流程
    发表于 11-02 14:51 21次下载
    【<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>

    嵌入式系统的启动流程

    嵌入式系统的启动流程是一个复杂但有序的过程,它涉及从系统上电到操作系统内核及应用程序启动的多个阶段。
    的头像 发表于 10-05 17:44 278次阅读