bootloader 详解-----程序及其功能和特点 在进行嵌入式开发时,会遇到一个名词bootloader,这个东西不太好懂,不要说自己写bootloader,就是能看懂别人的bootoader 都比较困难
本文详细的介绍了bootloader的原理,回答了什么是bootloader,为什么要用bootloader
看到后,希望您能知道什么是bootloader
一、引言 在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行
一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1
引导加载程序
包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分
Linux 内核
特定于嵌入式板子的定制内核以及内核的启动参数
包括根文件系统和建立于 Flash 内存设备之上文件系统
通常用ram disk 来作为 root fs
用户应用程序
特定于用户的应用程序
有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面
常用的嵌入式 GUI 有:MicroWindows 和 MiniGUI 等
引导加载程序是系统加电后运行的第一段软件代码
回忆一下 PC 的体系结构我们可以知道,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的OS Boot Loader(比如,LILO 和 GRUB 等)一起组成
BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 Boot Loader 读到系统的RAM 中,然后将控制权交给 OS Boot Loader
Boot Loader 的主要运行任务就是将内核映象从硬盘上读到RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统
而在嵌入式系统中,通常并没有像 BIOS 那样的