Linux 0.11 是一个非常早期的 Linux 版本,其启动过程体现了经典的操作系统启动方式,下面说明从开机加电到执行main函数之前的过程。
1. BIOS
- 硬件的初始化和自检 检测显卡内存等
- 建立中断向量表和中断服务程序
- 通过int 0X19中断把软盘第一扇区的bootsect载入内存的0x07C00位置
2. bootsect(引导扇区)
- 规划内存
- 把自身从0x07C00复制到0x90000 操作系统开始按照自己意愿安排内存
- 借助bios提供的 int 0x13 中断加载4个扇区的setup程序到内存
- 借助bios提供的 int 0x13 中断加载240个扇区的system程序到内存
- 确定软盘驱动器为根设备(linux启动需要内核镜像和根文件系统)
- 写入机器系统数据
- 跳转至0x90200将控制权转交给 setup