bootloader的启动加载模式和下载模式

启动加载模式:

这种引导方式也称为“自主(autonomous)引导方式”,也即BootLoader从目标机的某个固态存储设备上将操作系统加载到RAM中并引导运行,整个过程并没有用户的介入。这种引导方式是BootLoader的正常工作模式下普遍采用的一种引导方式。因此在嵌入式产品发布的时候,BootLoader一般以这种引导方式对内核代码进行启动引导。

下载模式:

在这种引导方式下目标机上的BootLoader将通过串口连接或网络连接等通信手段从主机下载文件,如下载应用程序、数据文件、内核映像等。从主机下载的文件通常首先被BootLoader保存到目标机的RAM中,然后再被BootLoader写到目标机上的固态存储设备中,其后完成内核的引导运行。 BootLoader的这种引导方式通常在系统研发和更新时使用。

bootloader stage1通常包含以下几个步骤(以执行的先后为顺序):

1。硬件设备初始化

2。为stage2准备RAM空间。

3。拷贝stage2到RAM空间。

4。设置好堆栈。

5。跳转到stage2的C入口。

bootloader stage2通常包含以下几个步骤(以执行的先后为顺序):

1。初始化本阶段需要用到的硬件。

2。检测系统的内存映象(memery map)。

3。将kernel和根文件系统从flash上加载到RAM空间。

4。为kernel设置启动参数。

5。调用内核。

bootloader stage1 和 stage2相关推荐

  1. bootloader stage1 and stage2

    bootloader的启动加载模式和下载模式 启动加载模式: 这种引导方式也称为"自主(autonomous)引导方式",也即BootLoader从目标机的某个固态存储设备上将操作 ...

  2. STAGE1能不能直接引导放在文件系统中的STAGE2.txt

    STAGE1能不能直接引导放在文件系统中的STAGE2.txt 使用GRUB的困惑:STAGE1能不能直接引导放在文件系统中的STAGE2? blocklist (hd0,1)/boot/grub/s ...

  3. bootloader详解(转载)

    一.bootloader介绍 bootloader是硬件在加电开机后,除BIOS固化程序外最先运行的软件,负责载入真正的操作系统,可以理解为一个超小型的os.目前在Linux平台中主要有lilo.gr ...

  4. 菜鸟学Linux 第033篇笔记 bootloader,inittab

    菜鸟学Linux 第033篇笔记 bootloader,inittab Linux 系统自启动流程 PC OS (Linux) POST-->BIOS(Boot Sequence)-->M ...

  5. 【Bootloader】探究bootloader,分析u-boot源码

    Preface 之前也发表过关于<Bootloader启动过程分析>的文章,但是内容表达得比较抽象,大多是文字叙述,所以这里从系统和代码的角度来深入分析bootloader的启动过程. 工 ...

  6. 【整理】BIOS、BootLoader、uboot对比

    bios BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统".其实,它是一组固化到计算机内 ...

  7. Bootloader详解

    Bootloader基本认识 每一种不同的CPU系统结构都有不同的BootLoader,除了依赖于CPU的体系结构外,Bootloader还依赖于具体的嵌入式板级设备的配置,比如板卡的硬件地址分配,外 ...

  8. Linux嵌入式 -- Bootloader , Uboot

    1. Bootloader作用 PC机中的引导加载程序由BIOS(其本质是一段固件程序)和GRUB或LILO一起组成.BIOS在完成硬件检测和资源分配后,将硬盘中的引导程序读到系统内存中然后将控制权交 ...

  9. Bootloader及u-boot简介/u-boot系统启动流程

    Bootloader及u-boot简介 Bootloader代码是芯片复位后进入操作系统之前执行的一段代码,主要用于完成由硬件启动到操作系统启动的过渡,从而为操作系统提供基本的运行环境,如初始化CPU ...

最新文章

  1. C#编程概念系列(一):面向对象编程
  2. Node.js服务器启用Gzip压缩
  3. linux下如何修改系统时间
  4. Linux -- free 命令 内存适用状态监控
  5. void类型和void *的用法
  6. python 整数输出 d f_pythn print格式化输出---------%s 和 % d 都是什么意思?
  7. Docker+Nginx部署Angular国际化i18n
  8. java 事务管理 子父线程_Java中的父线程与子线程
  9. linux手动安装mysql8.16,MySQL8.0.16-linux-x64安装介绍(binary package)
  10. 计算机科学在地理信息科学中的作用,地理信息科学的孕育和发展
  11. Java 飞翔的小鸟小游戏开发 完全源码 + 论文文档
  12. 增值电信许可证与icp许可证有什么区别
  13. linux raid 找回文件,linux – 恢复已经在降级模式下运行的RAID-5(丢失了第二个磁盘)...
  14. 如何高效做好今日舆情信息监测与搜集的方法
  15. 画各种思维导图的软件
  16. 记录java围棋小游戏心得
  17. 网络安全 - 信息收集
  18. java 读取手机文件_Android获取手机文件夹及文件列表的方法
  19. 中关村归国留学人员联创中心揭牌仪式,Jina AI 受邀出席活动
  20. jQuery下来菜单,鼠标移动到下拉菜单就会消失的解决方法

热门文章

  1. 冒烟的意思_冒烟-冒烟的意思,拼音及解释
  2. 你每天的忙碌或许只是在啃技术老本
  3. Clickhouse—数组函数
  4. 【Python基础】Python数据容器(字符串)
  5. 用redis实现任务调度
  6. android 动态设置margin,android 代码中设置margin
  7. 8月28日科技联播:子弹短信上线七天完成1.5亿融资,个税法二审5000元起征点不变...
  8. 输入年月日判断是本年的第多少天
  9. Windows7 64位开启和禁用驱动程序签名强制
  10. oracle语句求去年今月,ORACLE 如何写语句确定两个日期的月和日相同