Linux系统的启动过程是由很多步骤组成的,但是,无论你是启 动一个标准的x86桌面计算机,还是一个嵌入式PowerPC的目标板,大多数的流程是惊人得相似的。这篇文章,探索了linux从最初的启动准备到用户 空间中某个程序被开启之间的启动过程,跟随这个流程,你还能学到其他许多与启动有关的知识,例如,boot loaders,内核解压缩,初始化内存盘,以及其他一些linux启动的部分。 在很早的时候,启动一个计算机意味着去喂那些包含启动程序的纸带,或者通过手工使用前面板那密密麻麻的地址/数据/控制开关来加载启动程序,但是,简化这个流程并非必须的。 让我们首先从一个较高的高度上来对linux的启动做一个全面的分析,然后,我们会回顾一下,在每一个独立的过程中,发生了什么事情。在这途中的参考源代码将帮助你在内核树中不至于迷失方向,并能继续深入挖掘下去。 一、 概述 图1将是对启动过程的整体回顾: Figure 1. The 20,000-foot view of the Linux boot process