泰晓科技 -- 聚焦嵌入式 Linux - 追本溯源,见微知著!
网站地址:http://tinylab.org
微信公众号关注我们新浪微博


扫一扫

关注 @泰晓科技
『光顾开源小店,支持泰晓原创!』
请稍侯

固件和引导程序介绍

Wu Zhangjin 创作于 2015/10/01

书籍:嵌入式 Linux 知识库 原文:Firmware, Bootloader 翻译:@lzufalcon

固件

固件是一类存放在非易失性存储器中的软件。

也可查看 维基百科上的 Firmware 入口 获取更多 Firmware 相关的信息。

固件的一种形式是引导程序(Bootloader),这类程序用于初始化设备并装载其他的软件,比如 Linux 内核。下面介绍引导程序。

引导程序(Bootloader)

简单讲,引导程序是计算机开机后运行的第一个软件程序。它负责装载并移交控制权给操作系统内核(例如 Hurd 或者 Linux)。而内核转而初始化接下来的操作系统部分(例如 GNU)。

常见引导程序

图例: ?: 未知 -: 不支持
引导程序 ARM MIPS PPC x86 备注
APEX y  ?  ?  ?
Barebox (U-Boot-v2) y y y y 支持网络安装(系统),集成编辑器和脚本环境
Blob y - - -
CFE - y - - 只支持特定的博通芯片
coreboot (LinuxBIOS) [1] y - - y Peter Stuge 在 2008 年度 嵌入式 Linux 欧洲研讨会上的谈话,视频
Kexecboot y - -  ? 是一个二阶段引导程序,包含 Linux 内核和一个小型 GUI
U-Boot y y y y 支持网络安装
Grub  ?  ? y y
Lilo - - - y 仅支持 x86,需要用 nasm 编译
MicroMonitor y  ? y  ?
PMON 2000 - y - -
Qi y - - - 非常快,可简单直接地引导进 Linux
RedBoot y y y y 支持网络安装
Syslinux - - - y 变体有 isolinux,可非常灵活地引导启动 x86 机器
Yaboot - - y -
YAMON - y - -

更多详尽的列表可以从维基百科上找到。

一些传统的引导程序

下述内容较旧,请不要用于新设计中!

  • rrload(RidgeRun, 曾用于以前的 TI OMAP 开发板)
  • pmon(曾用 MIPS/Loongson Linux,包括博通 Wifi 路由器,譬如 Linksys;也包括龙芯 2F 系列机型,例如逸珑8101迷你笔记本

看过来

分类: