Linux启动过程详解:从开机到登录
需积分: 1 185 浏览量
更新于2024-09-15
收藏 38KB DOC 举报
"本文详细介绍了Linux在Alpha/AXP平台上的启动过程,特别是Redhat 6.0 Linux 2.2.19版本。启动流程包括Bootloader阶段,涉及MILO引导程序、Firmware(ARC和SRM)的作用,以及内核加载的详细步骤。"
在Linux操作系统启动过程中,Bootloader扮演着至关重要的角色。对于Alpha/AXP架构的机器,有两种常见的引导方式:一是通过MILO引导,二是由Firmware直接引导。MILO类似于i386平台的LILO,拥有基本的磁盘驱动和文件系统支持,能引导Linux并加载内核。另一方面,Firmware分为ARC和SRM两种形式,两者都有不同的引导功能和用户交互界面。
1. MILO引导:MILO内置了IDE、SCSI等磁盘驱动和ext2、iso9660等文件系统驱动,使得它可以直接从特定的分区或磁盘首扇区引导Linux。通过编写在`arch/alpha/boot`目录下的代码,如`head.S`和`main.c`,实现引导过程。`head.S`首先被编译并放置在引导扇区,初始化数据结构,然后调用`start_kernel()`开始内核的加载。
2. Firmware引导:ARC提供类似BIOS的界面,支持多重引导设置,可以访问分区首扇区。SRM则具有命令行界面,用户可以直接使用`boot`命令引导系统。虽然SRM无法直接访问分区,但它能将控制权交给磁盘首扇区。
启动流程中,`start_kernel()`会打印一些启动信息,初始化PAL代码,打开引导设备,加载核心代码到内存,并将Firmware中的引导参数加载到内存特定位置。最终,控制权传递给内核,Bootloader的使命完成。
如果使用MILO这样的引导程序,需要生成包含Bootloader和vmlinux的bootimage文件,写入磁盘的引导扇区。这种方式无需其他工具,但要求遵循Makefile的指示进行操作。
在采用MILO引导时,Bootloader会处理更复杂的任务,比如识别和加载内核映像,而Firmware则主要负责机器的基本初始化和控制权转移。理解这些启动细节对于调试和优化Linux系统的启动性能至关重要。
2022-06-12 上传
2012-07-02 上传
2022-06-12 上传
2023-05-14 上传
2024-10-28 上传
2024-10-30 上传
2024-10-28 上传
2024-10-28 上传
2024-10-30 上传
jenic
- 粉丝: 1
- 资源: 18
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码