嵌入式操作系统 5 BootLoader和bootloader.举例 陈香兰(xlanchenc@ustc.edu.cn) 计算机应用教研室。计算机学院 嵌入式系统实验室。苏州研究院 中国科学技术大学 Fa112014 December 4,2014 4口4四1是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作系统 Decem0er4.20141/87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 嵌入式操作系统 5 BootLoader和bootloader举例 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室@计算机学院 嵌入式系统实验室@苏州研究院 中国科学技术大学 Fall 2014 December 4, 2014 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 1 / 87
Outline ①BootLoader简介 ●Boot Loader的概念 ●Boot Loader的安装 ●Boot Loader的启动过程和操作模式 ●Boot Loader的主要任务和典型结构框架 ●部分开源的Boot Loader 2 u-boot ●u-boot简介 ●编译u-boot ●简单分析u-boot源码 RedBoot ●RedBoot简介 ●RedBoot的下载、编译和运行 ●RedBoot的简单分析 小结和作业 4口4四1是4P,刀00 练奇兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 Dece0er4,20142/87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. BootLoader简介 Boot Loader 的概念 Boot Loader 的安装 Boot Loader 的启动过程和操作模式 Boot Loader的主要任务和典型结构框架 部分开源的Boot Loader .2 u-boot u-boot简介 编译u-boot 简单分析u-boot源码 .3 RedBoot RedBoot简介 RedBoot的下载、编译和运行 RedBoot的简单分析 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 2 / 87
●本节从以下四个方面来讨论嵌入式系统的Boot Loader,包括: ①Boot Loader的概念 ©Boot Loader的安装 Boot Loader的启动过程 Boot Loader的主要任务和典型框架结构 1口4四是42刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 Dece0er4.20144/87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 本节从以下四个方面来讨论嵌入式系统的 Boot Loader,包括: 1. Boot Loader 的概念 2. Boot Loader 的安装 3. Boot Loader 的启动过程 4. Boot Loader 的主要任务和典型框架结构 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 4 / 87
嵌入式Linux的软件层次 ●在专用的嵌入式板子上运行GNU/Linux系统已变得越来越流行。 ●一个嵌入式Liux系统从软件的角度看通常可以分为四个层次: ①引导加载程序。 包括固化在固件(firmware)中的boot代码(可选)和Boot Loader 两大部分 Linux内核o 特定于嵌入式板子的定制内核及内核的启动参数 ®文件系统。 包括根文件系统和建立于Flash内存设备之上的文件系统 通常用RAM-Disk来作为根文件系统 。用户应用程序。 特定于用户的应用程序 。嵌入式GUI 有时在用户应用程序和内核层之间可能还会包括一个嵌入式 图形用户界面(GUI)。 常用的嵌入式GUI有:MicroWindows和MiniGUI等o 4口4四是42刀00 陈香兰(xlanchenoustc,edu,cn)(计界机应 长人式择作系统 December 4.2014 5 87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 嵌入式Linux的软件层次 在专用的嵌入式板子上运行GNU/Linux系统已变得越来越流行。 一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序。 包括固化在固件(firmware)中的 boot 代码(可选)和 Boot Loader 两大部分 2. Linux内核。 特定于嵌入式板子的定制内核及内核的启动参数 3. 文件系统。 包括根文件系统和建立于 Flash 内存设备之上的文件系统 通常用RAM-Disk来作为根文件系统 4. 用户应用程序。 特定于用户的应用程序 嵌入式GUI 有时在用户应用程序和内核层之间可能还会包括一个嵌入式 图形用户界面(GUI)。 ▶ 常用的嵌入式 GUI 有: MicroWindows 和 MiniGUI等。 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 5 / 87
引导加载程序 ·引导加载程序是系统加电后运行的第一段软件代码。 ●例如P℃机的引导加载程序,包括 ●BIOS(其本质就是一段固件程序) ②位于硬盘MBR中的OS Boot Loader ★比如LILO、GRUB等· ●BIOS的主要任务是 ①进行硬件检测和资源分配 O将MBR中的OS Boot Loader读到系统的RAM中 O将控制权交给OS Boot Loader ●Boot Loader的主要运行任务是 ●将内核映象从硬盘上读到RAM中 ⑧跳转到内核的入口点去运行,也即启动操作系统。 4口4四1是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(计界机 长人式操作香统 December 4.2014 6/87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 引导加载程序 引导加载程序是系统加电后运行的第一段软件代码。 例如PC 机的引导加载程序,包括 1. BIOS(其本质就是一段固件程序) 2. 位于硬盘 MBR 中的 OS Boot Loader ⋆ 比如LILO、GRUB 等。 BIOS的主要任务是 1. 进行硬件检测和资源分配 2. 将MBR中的OS Boot Loader读到系统的 RAM 中 3. 将控制权交给 OS Boot Loader Boot Loader 的主要运行任务是 1. 将内核映象从硬盘上读到 RAM 中 2. 跳转到内核的入口点去运行,也即启动操作系统。 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 6 / 87