启动流程
POST-->BIOS(Boot Sequence)-->MBR(bootloader,446)-->Kernel-->initrd-->(ROOTFS)/sbin/init
启动的服务不同
运行级别:0-6
0:halt
1:single user mode,直接以管理员身份切入
2:multi user mode,no NFS
3:multi user mode,text mode
4:seserved
5:multi user mode,graphic mode
6:reboot
详解启动过程
bootloader(MBR)
核心:动态加载 内核模块
内核:/lib/modules/"内核版本号命名的目录"/
ldd:显示文件的依赖库
runlevel和who -r显示当前运行级别
查看内核release版本号
uname -r
安装grub stage1
#grub
grub> root (hd0,0)
grub>set (hd0)
grub下启动系统
grub>find
grub>root (hd#,N)
grub>kernel /PATH/TOKERNEL_FILE
grub>initrd /PATH/TO/INITRD_FILE
grub>boot
kernel初始化的过程
1、设备探测
2、驱动初始化(可能会从initrd(initramfs)文件中装载驱动模块)
3、以只读挂载根文件系统:
4、装载第一个进程init(PID:1)
/sbin/init:(/etc/inittab)
upstart:ubuntu,d-bus,event-driven
systemd:
id:runlevels:action:process
id:标识符
runlevels:在哪个级别运行此行
action:在什么情况下执行此行:
process:要运行程序;
id:3initdefault:
ACTION:
initdefault:设定默认运行级别
sysinit:系统初始化
wait:等待级别切换至此级别时执行
respawn:一旦程序终止,会重新启动
/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文件