最近,正在学习 iPXE 的源代码,于是开始各种 Google 查找 iPXE 的资料进行学习。学习中发现需要重点了解计算机的启动方式,现将学习过程中遇到的很多新的知识点整理为此文,作为后续的参考。
Boot
一台运行操作系统的设备(PC 或嵌入式 Linux 设备)从上电到出现我们用户可见的操作系统提供的 GUI 或者 CLI 经历了一些列的过程。这个过程在 PC 和 嵌入式设备上稍有不同,但大致的流程仍然基本一致。
引导过程通常会被划分为不同的阶段。其中,固件阶段毫无疑问是引导的第一个阶段,目前几乎所有常见系统级芯片都是这样。固件阶段中的代码通常是出厂时由厂家内置到 ROM 中的,它们通常被统一称为固件(firmware)。当然,在不同的芯片中可能有自己的叫法。
- PC 的 ROM 程序通常是放到主板上的,而嵌入式芯片是放在芯片内部。
- BootLoader 通常又会分为多个子阶段。
BIOS
BIOS(Basic Input Output Syste
最近,正在学习 iPXE 的源代码,于是开始各种 Google 查找 iPXE 的资料进行学习。学习中发现需要重点了解计算机的启动方式,现将学习过程中遇到的很多新的知识点整理为此文,作为后续的参考。
Boot
一台运行操作系统的设备(PC 或嵌入式 Linux 设备)从上电到出现我们用户可见的操作系统提供的 GUI 或者 CLI 经历了一些列的过程。这个过程在 PC 和 嵌入式设备上稍有不同,但大致的流程仍然基本一致。
引导过程通常会被划分为不同的阶段。其中,固件阶段毫无疑问是引导的第一个阶段,目前几乎所有常见系统级芯片都是这样。固件阶段中的代码通常是出厂时由厂家内置到 ROM 中的,它们通常被统一称为固件(firmware)。当然,在不同的芯片中可能有自己的叫法。
- PC 的 ROM 程序通常是放到主板上的,而嵌入式芯片是放在芯片内部。
- BootLoader 通常又会分为多个子阶段。
BIOS
BIOS(Basic Input Output Syste