0 Linux系统启动流程如下:
术语介绍:
POST: power on safe testing
BIOS: 定义设备启动次序,依次去找对应设备的MBR,
MBR里面包含了bootloader大小为446字节,根据MBR的分区表查找活动分区,找到操作系统所在的分区,并加载这个分区的操作系统内核,此时BIOS退出
Kernel: 操作系统内核,一般都是压缩的,将操作系统装载入内核,并解压缩,而后将控制权转交给内核,内核装载驱动识别硬件,获取整体硬件控制权,此时bootloader退出
Kernel涉及的操作:文件系统,进程管理,内存管理,网络管理,安全功能,驱动程序
initrd: 开始启动init进程,上帝开始造人,开始管理用户空间和相关业务请求进程, Init是用户空间的主导程序
流程如下:
POST-->BIOS(Boot Sequence)-->MBR(bootloader,446字节)-->Kernel-->initrd-->(ROOTFS)/sbin/init(/etc/inittab)
POST 硬件内置的,检查硬件健康 显卡 内存 CPU风扇等
2 内核设计风格:
单内核LWP: 所有功能都做进内核 比如文件系统 内存管理等 Linux 在linux上线程被称为轻量级进程LWP(ligth weight process) linux的内核解压后有几百兆大小
这几百兆是为了支持多个平台,内置的
微内核: 文件系统 驱动程序等做成子系统,需要什么子系统由内核来调度 windows solaris 支持真正意义的多内核
/lib/modules:内核模块文件,其下是所有外围模块
3 运行级别:
即启动的服务不同
启动的服务不同, 这个级别定义在/etc/inittab下的 id:3:initdefault:内
运行级别:0-6
0:halt 停止
1: single user mode, 直接以管理员身份切入, s,S,single
2:multi user mode, no NFS(不启用NFS 网络文件系统)
3: multi user mode, text mode(只有命令行的多用户模式)
4:reserved 保留级别 尚未定义
5: multi user mode, graphic mode 多用户图形模式
6: reboot
4 启动过程细节:
bootloader(MBR) linux的bootloader有如下几种
1 LILO: LInux LOader 支持单个分区不大于8G 现在少用
2 GRUB: GRand Unified Bootloader 分两步执行
Stage1: MBR
Stage1_5:
Stage2: /boot/grub/
/etc/grub.conf 下是开机参考的文件 ,可以修改里面配置文件后保存在重新启动 来实现开机引导设置
参数如下:
default=0 # 设定默认启动的title的编号,从0开始
timeout=5 # 等待用户选择的超时时长,单位是秒
splashimage=(hd0,0)/grub/splash.xpm.gz # grub的背景图片
hiddenmenu # 隐藏菜单
password redhat
password --md5 $1$HKXJ51$B9Z8A.X//XA.AtzU1.KuG.
title Red Hat Enterprise Linux Server (2.6.18-308.el5) # 内核标题,或操作系统名称,字符串,可自由修改
root (hd0,0) # 内核文件所在的设备;对grub而言,所有类型硬盘一律hd,格式为(hd#,N);hd#, #表示第几个磁盘;最后的N表示对应磁盘的分区;
kernel /vmlinuz-2.6.18-308.el5 ro root=/dev/vol0/root rhgb quiet # 内核文件路径,及传递给内核的参数
initrd /initrd-2.6.18-308.el5.img # ramdisk文件路径
password --md5 $1$HKXJ51$B9Z8A.X//XA.AtzU1.KuG.
title Install Red Hat Enterprise Linux 5
root (hd0,0)
kernel /vmlinuz-5 ks=http://172.16.0.1/workstation.cfg ksdevice=eth0 noipv6
initrd /initrd-5
password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.
5