需要注意的是,系统发行商为了适应于各个不同的硬件接口,因此将各个不同的硬件接口的驱动组装打包起来,例如在用户第一次使用光盘安装完系统之后,会动态探测当前主机上的硬件设备并调用与之对应的设备驱动再做成ramdisk文件的。所以,ramdisk文件并非必须的,如果只是为了将Linux安装于特定硬件平台上,就可以直接把对应的驱动编译进内核即可,而不需要去使用ramdisk文件了。
第五步:init管理用户空间服务进程
init可以理解成是内核派来管理用户空间的使者,就好像天使代表上帝来访问人间一样。init这个初始化程序会根据其配置文件执行一系列操作。虽然CentOS 5、CentOS 6以及CentOS 7的init配置 文件各不相同,但总体的启动流程是不变的。
这一步的流程是:/sbin/init --> 根据init配置文件设置默认运行级别 --> 运行系统初始化脚本/etc/rc.d/rc.sysinit,完成系统初始化 --> 关闭或启动用户选定的默认运行级别所对应的服务 --> 启动终端,打印登录提示符
(1)根据init配置文件设置默认运行级别
对于CentOS 5来说,初始化程序init是SysV init,其配置文件为:/etc/inittab;
对于CentOS 6来说,初始化程序init是upstart,其配置文件为:/etc/inittab, /etc/init/*.conf,也就是upstart将配置文件拆分成多个,在/etc/init/目录下以conf结尾的都是upstart风格的配置文件,而/etc/inittab仅用于设置默认运行级别;
对于CentOS 7来说,初始化程序init是systemd,其配置文件为:/usr/lib/system/systemd/*, /etc/systemd/system/*;
注意:
运行级别是为了系统的运行和维护等目的而设定的一种机制,对于CentOS 5/6来讲,一共有7种运行级别,即0-6,它们的意义如下:
0:关机模式,shutdown;
1:单用户模式(single user):不需要通过认证,登录进去之后为root用户身份,是维护模式;
2:多用户模式(multi user):会启动网络功能,但不会启动NFS,是维护模式;
3:多用户模式(multi user):为完全功能模式,提供文本界面;
4:预留级别,目前无特别使用目的,但习惯上以同3级别功能来使用;
5:多用户模式(multi user):为完全功能模式,提供图形界面;
6:重启模式,reboot;