最新引导程序BootlosderPPT课件.ppt
-
资源ID:77614829
资源大小:698KB
全文页数:12页
- 资源格式: PPT
下载积分:20金币
快捷下载

会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
最新引导程序BootlosderPPT课件.ppt
引导程序引导程序BootlosderBootlosder计算机操作系统的引导计算机操作系统的引导 vPC 机中的引导加载程序由机中的引导加载程序由 BIOS和位于硬盘和位于硬盘 MBR 中的中的 OS Boot Loader(比如,(比如,LILO 和和 GRUB 等)一起组成。等)一起组成。BIOS 在完成硬件检测和资源分配后,将硬盘在完成硬件检测和资源分配后,将硬盘 MBR 中的中的 Boot Loader 读到系统的读到系统的 RAM 中,然后将控制权交给中,然后将控制权交给 OS Boot Loader。Boot Loader 的主要运行任务就是将内核映象从硬的主要运行任务就是将内核映象从硬盘上读到盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开中,然后跳转到内核的入口点去运行,也即开始启动操作系统。始启动操作系统。v嵌入式系统中,通常并没有像嵌入式系统中,通常并没有像 BIOS 那样的固件程序,因此整那样的固件程序,因此整个系统的加载启动任务就完全由个系统的加载启动任务就完全由 Boot Loader 来完成。在一来完成。在一个基于个基于 ARM9的嵌入式系统中,系统在上电或复位时通常都从的嵌入式系统中,系统在上电或复位时通常都从地址地址 0 x00000000 处开始执行,而在这个地址处安排的通常就处开始执行,而在这个地址处安排的通常就是系统的是系统的 Boot Loader 程序。程序。规划内核映像和根文件系统内存占用的布局规划内核映像和根文件系统内存占用的布局 v对于内核映像,一般将其拷贝到从对于内核映像,一般将其拷贝到从(MEM_START0 x8000)这个基地址开始的大约这个基地址开始的大约1MB大小的内存范围内大小的内存范围内(嵌入式嵌入式 Linux 的内核一般都不操过的内核一般都不操过 1MB)。为什么要把从。为什么要把从 MEM_START 到到 MEM_START0 x8000 这段这段 32KB 大小大小的内存空出来呢?这是因为的内存空出来呢?这是因为 Linux 内核要在这段内存中放置内核要在这段内存中放置一些全局数据结构,如:启动参数和内核页表等信息。一些全局数据结构,如:启动参数和内核页表等信息。v v而对于根文件系统映像,则一般将其拷贝到而对于根文件系统映像,则一般将其拷贝到 MEM_START+0 x00100000 开始的地方。如果用开始的地方。如果用 Ramdisk 作为根文件系统映像,则其解压后的大小一般是作为根文件系统映像,则其解压后的大小一般是1MB。设置内核的启动参数设置内核的启动参数 v应该说,在将内核映像和根文件系统映像拷贝到应该说,在将内核映像和根文件系统映像拷贝到 RAM 空间中后,空间中后,就可以准备启动就可以准备启动 Linux 内核了。但是在调用内核之前,应该作一内核了。但是在调用内核之前,应该作一步准备工作,即:设置步准备工作,即:设置 Linux 内核的启动参数。内核的启动参数。vLinux 2.4.x 以后的内核都期望以标记列表以后的内核都期望以标记列表(tagged list)的形式来的形式来传递启动参数。启动参数标记列表以标记传递启动参数。启动参数标记列表以标记 ATAG_CORE 开始,开始,以标记以标记 ATAG_NONE 结束。每个标记由标识被传递参数的结束。每个标记由标识被传递参数的 tag_header 结构以及随后的参数值数据结构来组成。数据结构结构以及随后的参数值数据结构来组成。数据结构 tag 和和 tag_header 定义在定义在 Linux 内核源码的内核源码的include/asm/setup.h 头文件中:头文件中:调用内核调用内核 vBoot Loader 调用调用 Linux 内核的方法是直接跳转到内核的第内核的方法是直接跳转到内核的第一条指令处,在跳转时,下列条件要满足:一条指令处,在跳转时,下列条件要满足:CPU 寄存器的设置:寄存器的设置:vR00;vR1机器类型机器类型 ID;vR2启动参数标记列表在启动参数标记列表在 RAM 中起始基地址;中起始基地址;CPU 模式:模式:v必须禁止中断(必须禁止中断(IRQs和和FIQs););vCPU 必须必须 SVC 模式;模式;Cache 和和 MMU 的设置:的设置:vMMU 必须关闭;必须关闭;v指令指令 Cache 可以打开也可以关闭;可以打开也可以关闭;v数据数据 Cache 必须关闭;必须关闭;