bootloader基礎(1)

(嵌入式方向)
一.常用的bootloader
u-boot (支持大多数处理器平台)
pccboot (支持powerpc的处理器平台)
redboot (支持m68k,sh处理器平台)
yamon (支持MIPS处理器平台)
二.操作模式
bootloader 有两种模式:启动加载模式、下载模式。
1.启动加载模式,
也称为"自主"(Autonomous)模式。此时bootloader从目标机
上的某个固态存储设备上(如nandflash)将“linux镜像文件”与“根文件系统镜像文件”加载到 RAM 中运行,
整个过程并没有用户的介入。
这个过程中用的一般是nandflash上的bootloader
2.下载模式,
目标机将通过串口连接或网络连接等通信手段从主机(Host)下载文件,
比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被 Boot
Loader 保存到目标机的 RAM 中,然后再被 BootLoader 写到目标机上的 FLASH 类固态存储设备中。Boot
Loader 的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用 Boot
Loader 的这种工作模式。工作于这种模式下的 Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口。
这个过程用的一般是norflash上的bootloader
3.U-Boot,同时支持这两种工作模式,而且允许用户在这两种工作模式之间进行切换.
三.bootloader的典型结构框架
stage1通常包含以下几个步骤(以执行的先后为顺序):
1。硬件设备初始化
2。为stage2准备RAM空间。
3。拷贝stage2到RAM空间。
4。设置好堆栈。
5。跳转到stage2的C入口。
stage2通常包含以下几个步骤(以执行的先后为顺序):
1。初始化本阶段需要用到的硬件。
2。检测系统的内存映象(memery map)。
3。将kernel和根文件系统从flash上加载到RAM空间。
4。为kernel设置启动参数。
5。调用内核。

本文出自 “linux菜鸟” 博客,请务必保留此出处http://zheshigepangzi.blog.51cto.com/6407906/1220042

更多相关文章
一周排行
  • Linq操作非泛型集合
    我们都知道,Linq能查询泛型集合,确切的说是:LINQ能实现查询泛型对象或者实现了IEn ...
  • 


    		    圖解AngularJS Wijmo5和LightSwitch
    Visual Studio 2013 中的 LightSwitch 有新增功能,包括更好的 ...
  • 先看下FastCgi的一些解释: 1 CGI全称是“通用网关接口”(Common Gateway Interface), 它可以让一个客户端,从网页浏览器向执行在Web服务器上的程序请求数据. CGI描述了客户端和这
  • [26]Remove Duplicates from Sorted Array Given a sorted array, remove the duplicates in place such that each
  • error while loading shared libraries: libgtk-x.0.so.0: cannot openshared object file: No such file or di
  • 链接: http://acm.hdu.edu.cn/showproblem.php?pid=2899   Time Limit: 2/1 MS (Java/Others)    Memory Limit: 32768
  • 转载自  http://blog.chinaunix.net/uid-26768267-id-3342.html //AppDelegate.h 头文件 #import <UIKit/UIKit.h> @ ...
  •  求组合数,dfs即可 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cs ...
  • 对于从1到N(1<=N<=3)的连续整数集合,划分成两个子集合,使得每个集合的数字之和相等.举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,他们每个的所有数字和是相等的:{3} and {1, ...
  • poj3924
    题目:给定一个起点(xw1, yw1),直线经过(xw2, yw2),速度为vw无限运动的