码迷,mamicode.com
首页 > 系统相关 > 详细

Linux系统启动流程学习笔记

时间:2015-09-12 16:20:28      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:linux   linux启动流程   

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文件路径,虚根


本文出自 “godben” 博客,请务必保留此出处http://godben.blog.51cto.com/8919725/1694033

Linux系统启动流程学习笔记

标签:linux   linux启动流程   

原文地址:http://godben.blog.51cto.com/8919725/1694033

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!