Linux启动过程总结
当我们按开机键后,主机就会执行:
1、POST(Power-On Self Test 加电自检)。
2、读取BIOS中定义的开机设备启动程序,并加载MBR(主引导记录(Master Boot Record))中的bootloader(一般包括:Grub、Lilo和spfdisk等,常用grub)
3、bootloader会执行一段程序,将内核加载进内存,并解压缩。
4、内核检测硬件、加载驱动程序、挂载根文件系统,启动第一个进程/sbin/init。
5、init读取它的配置文件/etc/inittab,获取运行级别
/etc/inittab内容包括:1>预设运行级别,2>指定初始化运行环境要执行的脚本,3>7个不同级别,需要启动的服务脚本放置路径,4>设置[ctrl]+[alt]+[del]组合键功能,5>设置断电,恢复时的应急处理等。
6、init会执行/etc/rc.d/rc.sysinit来初始化软件所运行的系统环境。
/etc/rc.d/rc.sysinit主要功能:
<1>以读写方式重新挂载根文件系统;
<2>获取网络环境,主机类型
<3>启动selinux
<4>加载核心相关设定,读取/etc/sysctl.conf
<5>启动swap分区
<6>设置系统时间,时区
<7>初始化lvm、raid文件系统
<8>清除开机过程中的临时文件等等
7、执行指定级别的服务脚本,在/etc/rc.d/rc*d rc0.d~rc6.d
以K**开头的要执行stop,**数字表示关闭时的次序
以S**开头的要执行start,**数字表示开启时的次序(一般**越小开启越早,会被别的服务依赖,所以关闭晚,chkconfig会负责处理这些脚本)
8、执行最后一个脚本/etc/rc.d/rc.local。
9、启动虚拟终端,图形终端(运行级别为5时)
开机过程中根目录是以只读方式挂载的,一般非必要的功能会编译成模块放在/lib/modules/中(包括一些磁盘的驱动:USB,SATA,SCSI等,除了IDE),以应对不同厂商的硬件设备。假如Linux装在SATA上,所以要加载SATA的驱动,然后挂载根文件系统,但是驱动是放在/lib/modules中的,根文件还没有挂载,所以就找不到驱动,找不到驱动就挂载不了,挂载不了就找不见驱动(先有鸡还是先有蛋)。
这时就会出现一个虚拟文系统(过度文件系统)/boot/initrd,bootloader加载内核的同时将它也加载进内存,在内存中解压缩,模拟成一个根文件系统,在内存中执行一段程序判断并加载所用磁盘(USB、SATA、SCSI)的驱动,内核得到驱动后就会挂载正真的文件系统。
Linux启动过程总结的更多相关文章
- Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...
- Linux启动过程详解
Linux启动过程详解 附上两张图,加深记忆 图1: 图2: 第一张图比较简洁明了,下面对第一张图的步骤进行详解: 加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的 ...
- 嵌入式Linux启动过程中的问题积累
嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number ## Booting image at 33000000 ... Bad Magic Num ...
- [linux 整理] linux启动过程3
本文介绍linux启动过程的第三步 busybox--------------------> rc init busybox位置即内容 busybox/init/init.c 1.各种设置信号 ...
- 从Linux启动过程到android启动过程
Linux启动过程: 1.首先开机给系统供电,此时硬件电路会产生一个确定的复位时序,保证cpu是最后一个被复位的器件.为什么cpu要最后被复位呢?因为 如果cpu第一个被复位,则当cpu复位后开始运行 ...
- Linux启动过程简述
Linux启动过程: 图片来自:https://www.cnblogs.com/codecc/p/boot.html 简单来讲: 加载BIOS–>读取MBR–>Boot Loader–&g ...
- Linux 启动过程详解
目录 1. Linux启动过程 2. 启动过程概述 3. 引导加载阶段 4. 内核阶段 4.1 内核加载阶段 4.2 内核启动阶段 5. 早期的用户空间 6. 初始化过程 6.1 SysV init ...
- 转-Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)
http://blog.chinaunix.net/space.php?uid=10167808&do=blog&id=26042 1)BIOS自检2)启动Grub/Lilo3)加 ...
- Linux启动过程笔记
Linux启动过程 1.启动流程(BIOS->MBR:Boot Code->引导GRUB->载入内核->运行init->runlevel) 2./boot/grub/下有 ...
- 深入理解Linux启动过程
深入理解Linux启动过程 本文详细分析了Linux桌面操作系统的启动过程,涉及到BIOS系统.LILO 和GRUB引导装载程序,以及bootsect.setup.vmlinux等映像文件 ...
随机推荐
- nyoj 1104 just for you
just for you 时间限制:1000 ms | 内存限制:65535 KB 难度:0 描写叙述 今天tlp和ly想去看电影了到了电影院才发现买票的人特别多 .ly不想让tlp等着急了,就先 ...
- HDOJ 5098 Smart Software Installer 拓扑排序
拓扑排序: 两个队列,一个放不须要重新启动入度为0的,一个放须要重新启动入度为0的....从不须要重新启动的队列開始,每弹出一个数就更新下入度,遇到入读为0的就增加到对应队列里,当队列空时,记录重新启 ...
- HDU 5883 欧拉回路
题面: 思路: 这里面有坑啊啊啊-.. 先普及一下姿势: 判断无向图欧拉路的方法: 图连通,只有两个顶点是奇数度,其余都是偶数度的. 判断无向图欧拉回路的方法: 图连通,所有顶点都是偶数度. 重点:图 ...
- 有关error PRJ0003错误的思考
作者:朱金灿 来源:http://blog.csdn.net/clever101 今天同事遇到两个编译错误: 项目: error PRJ0003 : 生成"rc.exe"时出错. ...
- 分享一下js正则中惰性与贪婪
首先引入一个介绍比较详细的网站 http://www.cnblogs.com/yuaima/p/5258513.html http://www.jb51.net/article/31491.htm 接 ...
- vmware-images
https://virtualboxes.org/images/centos/ https://www.osboxes.org/vmware-images/
- 洛谷 P3692 [PUB1]夏幻的考试
P3692 [PUB1]夏幻的考试 题目背景 夏之幻是软件工程系的大神,学校把举办考试的任务交给她了. 题目描述 某大学软工专业要举办一场笔试,学生们要在机读答题卡上填写答案来进行答题.学校把机读卡识 ...
- socket编程之中的一个:计算机网络基础
在開始学习网络之前先复习下计算机网络基础吧. 鲁迅说,天下文章一大抄.看你会炒不会炒,基础知识就抄抄书吧. 一 分层模型 1 为什么分层 为了简化网络设计的复杂性.通讯协议採用分层结构.各层协议之间既 ...
- cocos2d-x的声音控制
声音控制SimpleAudioEngine是单例.下面是其方法. [cpp] view plaincopy //获得SimpleAudioEngine的实例 static SimpleAudioEng ...
- rtmp,rtsp,hLS区别
流媒体协议一共三种:rtmp,rtsp,http live streaming(apple和adobe各一种)rtmp是adobe的,rtsp android native支持,http live s ...