Bootloader的主要功能是什么?
Bootloader是系统启动过程中运行的第一个程序,其主要功能是在操作系统内核运行之前完成必要的硬件初始化和设置,为内核的加载和运行创造合适的环境。具体而言,Bootloader的任务包括但不限于以下几个方面:
- 硬件初始化:初始化CPU、内存控制器、时钟、中断控制器等关键硬件部件,确保它们处于一个可预测且适合后续操作的状态。
- 内存空间映射:建立物理内存到虚拟内存的映射关系,确保内核可以在预期的地址空间中运行。
- 加载内核映像:将操作系统内核从非易失性存储介质(如硬盘、闪存等)读取到RAM中。
- 参数传递:向内核传递启动参数,这些参数可能包括内存大小、启动设备信息、命令行参数等。
- 启动内核:跳转到内核的入口点,将控制权交给内核。
- 错误处理:在硬件初始化或内核加载过程中处理可能出现的错误,并提供一定的错误恢复能力。
- 用户交互:某些Bootloader提供命令行界面,允许用户选择不同的启动选项。
如何区分primary bootloader和secondary bootloader?
在一些复杂的启动过程中,可能涉及到多个阶段的Bootloader。Primary bootloader(也称为stage1 bootloader)通常是固化在ROM中的最小程序,它的主要任务非常有限ÿ