1.Kernel初始化的过程:
a、设备探测
b、驱动初始化(可能会从initrd(initramfs)文件中装载驱动模块)
c、以只读挂载根文件系统;
d、装载第一个进程init(PID:1)
e、int进程的配置文件/etc/inittab
f、/etc/inittab文件的格式
id:runlevels:action:process
id: 标识符
runlevels: 在哪个级别运行此行
action: 在什么情况下执行此行
process: 要运行程序
action:
initdefault: 设定默认运行级别
sysinit: 系统初始化
wait: 等待级别切换至此级别时执行
respawn: 一旦程序终止,会重新启动
id:3:initdefault: 设定默认的启动级别
si::sysinit:/etc/rc.d/rc.sysinit 设定系统初始化时执行的脚本
# System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6
2./etc/rc.d/rc.sysinit文件完成的任务:
1、激活udev和selinux
2、根据/etc/sysctl.conf文件,来设定内核参数
3、设定时钟时钟
4、装载键盘映射
5、启用交换分区
6、设置主机名
7、根文件系统检测,并以读写方式重新挂载
8、激活RAID和LVM设备
9、启用磁盘配额
10、根据/etc/fstab,检查并挂载其它文件系统
11、清理过期的锁和PID文件
3./etc/rc.d/rc.sysinit脚本会根据运行级别选择执行对应目录下的脚本(服务启动或停止)
l3:3:wait:/etc/rc.d/rc 3
运行级别为3 对应/etc/rc.d/rc3.d/目录下的文件,以K开头的服务被停止,S开头的服务开启(先停止后开启)关闭或启动的优先次序,数值越小越优先被选定
/etc/rc3.d 为链接文件指向/etc/rc.d/rc3.d
/etc/rc3.d/目录下文件为链接文件,源文件存放在/etc/rc.d/init.d/目录下
/etc/init.d指向/etc/rc.d/init.d
4.系统初始化
si::sysinit:/etc/rc.d/rc.sysinit
/etc/rc.d/init.d/目录下为所有的服务类脚本
注意:这两行前面一定要有#号
# chkconfig: 2345 9 91 # description: start and stop ISDN services
这两行用于在对应级别目录下创建相应的链接文件
# chkconfig: 2345 9 91
# chkconfig: runlevels SS KK
2345 代表在哪些级别下是启动的,runlevels表示默认创建为S*开头的链接,-表示没有级别默认为S*开头的链接,除此之外的级别默认创建为K*开头的链接
9 SS对应的启动优先级为SS所表示的数字
91 KK对应关闭优先次序为KK所表示的数字
# description: start and stop ISDN services
用于说明此脚本的简单功能; \用于续行
执行chkconfig命令时有这两行的脚本会自动创建相应的链接文件
5./var/lock/目录下
服务脚本启动后会在/var/lock/目录或/var/lock/subsys/目录下创建相应的锁文件
chkconfig --list: 查看所有独立守护服务的启动设定,独立守护进程
chkconfig --list SERVICE_NAME
将指定的脚本转化为服务脚本,并且为其在可运行的相应级别目录下创建链接文件
chkconfig --add SERVICE_NAME
移除相应目录下所有链接文件
chkconfig --del SERVICE_NAME
指定服务脚本在哪些级别下开启或关闭
chkconfig [--level RUNLEVELS] SERVICE_NAME {on|off}
如果省略级别指定,默认为2345级别
6./etc/rc.d/rc.local文件
系统最后启动的一个服务,准确说,应该执行的一个脚本
7./etc/inittab文件
/etc/inittab的任务:
1、设定默认运行级别
2、运行系统初始化脚本
3、运行指定运行级别对应的目录下的脚本
4、设定Ctrl+Alt+Del组合键的操作
5、定义UPS电源在电源故障/恢复时执行的操作
6、启动虚拟终端(2345级别)
7、启动图形终端(5级别)