最近一直苦恼网卡驱动到底在哪儿自动加载的?今天无意之中发现了一些端倪,记录下来以便以后查阅。
FC启动过程参见鸟哥私房菜:
1.加载BIOS的硬件信息,并获取第一个启动设备的代号
2.读取第一个启动设备的MBR的引导程序
3.加载vmlinuz 如果有initrd 也需要加载initrd(RAM disk 我的理解当有些模块驱动例如SCSI硬盘驱动并不被内编到内核,而是以模块的方式存在,RAM DISK只是为了在真正加载根文件系统设备之前,以模块方式来加载SCSI驱动,这样内核才能识别真正的根文件系统设备) 并且尝试驱动所有的硬件设备
4. 核心执行init程序并获取运行信息
5.init执行/etc/rc.d/rc.sysinit文件
6.启动核心的外挂模块(/etc/modprobe.conf)
7.init执行运行的各个批处理文件
8.init执行/etc/rc.d/rc.local文件
9.执行/bin/login程序,等待用户登录
10登录之后开始以shell控制主机
我在这里所以正式init解析/etc/inittab文件,并得到不同运行等级下需要启动的服务脚本 例如我的/etc/inittab的
id:3:initdefault: #3运行等级
# 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/r