1. 我们先回顾下之前所讲到的linux开机的一个流程:当你按下电源按键后计算机硬件会主动读取BIOS来加载硬件信息及进行硬件系统的自我测试,之后系统会主动读取第一个开机装置(由BIOS设定),此时就可以读入开机管理程序了。
2. 简单地说,系统开机的整个流程如下:
1)加载BIOS的硬件信息与进行自我测试,并依据设定取得第一个可开机的装置
2)读取并执行第一个开机装置内MBR的boot loader
3)依据boot loader的设定加载kernel,kernel会开始侦测硬件预加载驱动程序
4)在硬件驱动成功后,kernel会主动呼叫init程序,而init会取得run-level信息
5)init执行/etc/rc.d/rc.sysinit档案来准备软件执行的作业环境
6)init执行run-llevel的各个服务的启动
7)init执行/etc/rc.d/rc/local档案
8)init执行终端机仿真程序mingetty来启动login程序,最后等待用户进入
3. Loader的最主要功能是认识操作系统的文件格式并据以加载核心到主存储器中去执行。
4. kernel信息一般存储在/boot/vmlinuz中。
5. init的处理流程如下:
1)先去的runlevel的相关等级(以init 5为例)
2)使用/etc/rc.d/rc.sysinit进行系统初始化
3)由于runllevel是5,就进行5:5:wait:/etc/rc.d/rc 5
4)设定好ctrl+alt+del这组的组合键功能
5)设定不断电系统的pf,pr机制
6)启动mingetty的六个终端机(tty1-tty6)
7)最终以/etc/X11/perfdm-nodaemon启动图形接口。
6. 任何想要在开机就执行的工作可以直接写入/etc/rc.d/rc.local,那么该工作就会在开机的时候自动被加载,而不必等我们登陆系统去启动。
7. lsmod:显示目前核心加载了多少模块
modprobe:加载模块
rmmod:移除模块