最近一直苦恼网卡驱动到底在哪儿自动加载的?今天无意之中发现了一些端倪,记录下来以便以后查阅。
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/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5<

本文探讨了Fedora Core(FC)系统启动过程中网卡驱动如何自动加载的问题。从加载BIOS硬件信息开始,经过MBR引导、内核及initrd加载,直至init程序执行/etc/rc.d/rc.sysinit文件,逐步揭示驱动加载的关键步骤。特别是,网卡驱动的加载是通过执行/etc/rc.d/init.d/network脚本,并依赖/etc/modprobe.conf配置文件来完成。
最低0.47元/天 解锁文章
1102

被折叠的 条评论
为什么被折叠?



