linux启动过程
自己学习总结的linux启动过程,不准确的还请大家指教。
BIOS-->MBR-->init-->/etc/rc.d/rc.sysinit-->/etc/rc.d/rc-->/etc/rc.d/rcX.d/*和/etc/rc.d/rc.local-->/sbin/mingetty
MBR-->init都是由引导程序(GRUB)执行。
/etc/rc.d/rc.sysinit工作:
启动热插拔设备(udev)和selinux设置kernel参数(/etc/sysctl.conf)设置系统时间设置键盘keymaps启用swap设置主机名(/etc/sysconfig/network)检查root filesystem并重新挂载成可读可写激活RAID和LVM启用disk quotes检查其他的filesystem并挂载清楚开机暂存内容
/etc/rc.d/rc工作:
根据/etc/inittab的"id:X:initdefault",执行相应/etc/rc.d/rcX.d/*
/etc/rc.d/rcX.d/*工作:
启动系统服务,这些启动脚本位于/etc/rc.d/init.d/,同时包括/etc/rc.d/rc.local。优先执行K打头的脚本,再执行S打开的脚本。
/sbin/mingetty工作:
启动终端ttyX(默认启动1-6,6个) 1 楼 yongdi2 2010-04-20 研究的很细。开始启动后,内核有个ID为0的init进程,为你做启动的工作。所有进程都是它的子进程