Linux系统启动流程学习笔记
2015-09-12 10:59
931 查看
1.POST --> BIOS(Boot Sequence[检查启动次序]) --> MBR(MBR只是存储空间,bootloader加载到MBR上[找到硬盘上装有系统的分区,并加载系统的内核],446Byte) --> Kernel(bootloader将内核加载到内存后,内核就获得了系统控制权,探测硬件,加载驱动) --> initrd (虚拟根,也是由bootloader加载,被kernel使用)--> init(/sbin/init 用户空间主导程序,/etc/inittab)
2.kernel加载:文件系统、进程管理、内存管理、网络管理、安全功能、驱动程序
3.存放根/的文件系统叫 rootfs根文件系统
4.内核初始化完成后必须加载根文件系统,之后找到根,才能加载/sbin/init
5.内核设计风格:
单内核:把所有功能都做进内核,Linux (LWP)
内核包括核心和外围模块(/lib/modules/内核版本号)
核心: ko(kernel object)可以动态加载各种外围内核模块,需要哪个装载哪个,保证内核足够小
微内核:支持多线程 Windows,Solaris
6.chroot : chroot /PATH/TO/TEMPROOT [COMMAND...] : 根切换
chroot /test/virroot /bin/bash
7.ldd /PATH/TO/BINARY_FILE : 显示二进制文件所依赖的共享库
8.启动的服务不同:
运行级别:0-6
0:halt 关机
1:single user mode 直接以管理员身份切入
2:multi user mode, no NFS 接近正常模式,但是不启用NFS
3:multi user mode, text mode 命令模式
4:reseved 尚未定义,保留级别
5:multi user mode, graphic mode 图形界面
5:reboot 重启
9.详解启动过程
bootloader(是个程序,在MBR中)
LILI: linux loader 过时,不能引导大磁盘,不过在嵌入式系统能用
GRUB: Grand Unitfied Bootloader
Stage1: MBR (第一阶段引导第二阶段)
Stage1_5
Stage2: /boot/grub/
10./etc/grub.conf
default=0 # 是定默认启动的title,从0开始
timeout=5 # 等待用户选择的超时市场,单位秒
splashimage=(hd0,0)/grub/splash.xpm.gz # grub的背景图片
hiddenmenu # 隐藏菜单
password --md5 $1$UAVMI$TSWjrlLHJKsucedSsmWDf/
title godben linux # 内和标题,或操作系统名称,字符串,可自由修改
root (hd0,0) # 内和文件所在的设备:对grub而言,所有类型硬盘一律hd,格式为(hd#,N) hd#,#表示第几个磁盘,最后的N表示对应磁盘的分区
kernel /vmlinuz-2.6.32-131.0.15.el6.i686 ro root=UUID=fe0c9033-3c0f-4dad-8903-8060ecdbe789 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet # 内和文件路径,及传递给内核的参数
initrd /initramfs-2.6.32-131.0.15.el6.i686.img # ramdisk文件路径,虚根
2.kernel加载:文件系统、进程管理、内存管理、网络管理、安全功能、驱动程序
3.存放根/的文件系统叫 rootfs根文件系统
4.内核初始化完成后必须加载根文件系统,之后找到根,才能加载/sbin/init
5.内核设计风格:
单内核:把所有功能都做进内核,Linux (LWP)
内核包括核心和外围模块(/lib/modules/内核版本号)
核心: ko(kernel object)可以动态加载各种外围内核模块,需要哪个装载哪个,保证内核足够小
微内核:支持多线程 Windows,Solaris
6.chroot : chroot /PATH/TO/TEMPROOT [COMMAND...] : 根切换
chroot /test/virroot /bin/bash
7.ldd /PATH/TO/BINARY_FILE : 显示二进制文件所依赖的共享库
8.启动的服务不同:
运行级别:0-6
0:halt 关机
1:single user mode 直接以管理员身份切入
2:multi user mode, no NFS 接近正常模式,但是不启用NFS
3:multi user mode, text mode 命令模式
4:reseved 尚未定义,保留级别
5:multi user mode, graphic mode 图形界面
5:reboot 重启
9.详解启动过程
bootloader(是个程序,在MBR中)
LILI: linux loader 过时,不能引导大磁盘,不过在嵌入式系统能用
GRUB: Grand Unitfied Bootloader
Stage1: MBR (第一阶段引导第二阶段)
Stage1_5
Stage2: /boot/grub/
10./etc/grub.conf
default=0 # 是定默认启动的title,从0开始
timeout=5 # 等待用户选择的超时市场,单位秒
splashimage=(hd0,0)/grub/splash.xpm.gz # grub的背景图片
hiddenmenu # 隐藏菜单
password --md5 $1$UAVMI$TSWjrlLHJKsucedSsmWDf/
title godben linux # 内和标题,或操作系统名称,字符串,可自由修改
root (hd0,0) # 内和文件所在的设备:对grub而言,所有类型硬盘一律hd,格式为(hd#,N) hd#,#表示第几个磁盘,最后的N表示对应磁盘的分区
kernel /vmlinuz-2.6.32-131.0.15.el6.i686 ro root=UUID=fe0c9033-3c0f-4dad-8903-8060ecdbe789 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet # 内和文件路径,及传递给内核的参数
initrd /initramfs-2.6.32-131.0.15.el6.i686.img # ramdisk文件路径,虚根
相关文章推荐
- Linux socket 初步
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝
- vivi下重新调整分区
- Linux VS Unix:Linux欲一统天下 Unix不死
- linux下设定环境变量
- Linux下修改MySQL编码的方法