Linux引导流程解析
2011-07-17 13:03
225 查看
系统引导流程: 固件firmware(CMOS/BIOS)------>[b]POST加电自检[/b]| 自举程序BootLoader(GRUB)------>载入内核| 载入内核Kernel -------------->驱动硬件| 启动进程init | 读取执行配置文件/etc/inittab
inittab配置文件内容如下:
![](http://hi.csdn.net/attachment/201107/17/0_1310876910zQDe.gif)
![](http://hi.csdn.net/attachment/201107/17/0_1310876938Hhhv.gif)
inittab文件中的格式:id:run-levels:action:process
id:标识符,一般为两位字母或数字
run-levels:指定运行级别,可以指定多个
action:指定运行状态
process:指定要运行的脚本/命令
-------------------------------------------------------------------------------------------
action常用取值:
1、initdefault:指定系统缺省启动的运行级别
2、sysinit:系统启动执行process中指定的命令
3、wait:执行process中指定的命令,并等其结束再运行其他命令
4、once:执行process中指定的命令,不等待其结束
5、ctrlaltdel:按下Ctrl+Alt+Del时执行process指定的命令
6、powerfail:当出现电源错误时执行process指定的命令,不等待其结束
7、powerokwait:当电源恢复时执行process指定的命令
8、respawn:一旦process指定的命令终止,便重新运行改命令
--------------------------------------------------------------------------------------------
范例:
![](http://hi.csdn.net/attachment/201107/17/0_1310877579cocb.gif)
指定系统默认运行级别为3,如果想系统启动后自动运行x window,则将上面的3改为5即可。
--------------------------------------
![](http://hi.csdn.net/attachment/201107/17/0_1310877656m8Q8.gif)
启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生产系统启动信息日志文件等。
-----------------------------------
![](http://hi.csdn.net/attachment/201107/17/0_13108777946N8x.gif)
判断默认运行级别,调用/etc/rc.d/rc脚本,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置。
--------------------------------------
/etc/rc.d/init.d 该目录下包含各个运行级别的服务程序脚本
![](http://hi.csdn.net/attachment/201107/17/0_1310878160XbqN.gif)
------------------------------------------------------------------------------------------
/etc/rc.d/rc[0123456].d 分别存放对应运行级别的服务脚本的符号链接,链接到init.d目录中的相应脚本
![](http://hi.csdn.net/attachment/201107/17/0_1310878366hTcx.gif)
-------------------------------------------------------------------------------------------
可以设置自启动程序,方式有三个:
1、ln -s 通过软链接指向你要启动的脚本程序,然后将软链接放到相应启动目录以“S+数字+名称”
的方式存放。
2、chkconfig (chkconfig --list bluetooth 查看蓝牙在各级别下的启动状态。
chkconfig --levels [0123456] name <on|off>设置name脚本在各个级别下是否启动)
3、ntsysv 用命令ntsysv --level [0123456]修改各个级别的自启动程序
![](http://hi.csdn.net/attachment/201107/17/0_13108789603WcO.gif)
-----------------------------------------------------------------------------------------------
inittab配置文件内容如下:
![](http://hi.csdn.net/attachment/201107/17/0_1310876910zQDe.gif)
![](http://hi.csdn.net/attachment/201107/17/0_1310876938Hhhv.gif)
inittab文件中的格式:id:run-levels:action:process
id:标识符,一般为两位字母或数字
run-levels:指定运行级别,可以指定多个
action:指定运行状态
process:指定要运行的脚本/命令
-------------------------------------------------------------------------------------------
action常用取值:
1、initdefault:指定系统缺省启动的运行级别
2、sysinit:系统启动执行process中指定的命令
3、wait:执行process中指定的命令,并等其结束再运行其他命令
4、once:执行process中指定的命令,不等待其结束
5、ctrlaltdel:按下Ctrl+Alt+Del时执行process指定的命令
6、powerfail:当出现电源错误时执行process指定的命令,不等待其结束
7、powerokwait:当电源恢复时执行process指定的命令
8、respawn:一旦process指定的命令终止,便重新运行改命令
--------------------------------------------------------------------------------------------
范例:
![](http://hi.csdn.net/attachment/201107/17/0_1310877579cocb.gif)
指定系统默认运行级别为3,如果想系统启动后自动运行x window,则将上面的3改为5即可。
--------------------------------------
![](http://hi.csdn.net/attachment/201107/17/0_1310877656m8Q8.gif)
启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生产系统启动信息日志文件等。
-----------------------------------
![](http://hi.csdn.net/attachment/201107/17/0_13108777946N8x.gif)
判断默认运行级别,调用/etc/rc.d/rc脚本,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置。
--------------------------------------
/etc/rc.d/init.d 该目录下包含各个运行级别的服务程序脚本
![](http://hi.csdn.net/attachment/201107/17/0_1310878160XbqN.gif)
------------------------------------------------------------------------------------------
/etc/rc.d/rc[0123456].d 分别存放对应运行级别的服务脚本的符号链接,链接到init.d目录中的相应脚本
![](http://hi.csdn.net/attachment/201107/17/0_1310878366hTcx.gif)
-------------------------------------------------------------------------------------------
可以设置自启动程序,方式有三个:
1、ln -s 通过软链接指向你要启动的脚本程序,然后将软链接放到相应启动目录以“S+数字+名称”
的方式存放。
2、chkconfig (chkconfig --list bluetooth 查看蓝牙在各级别下的启动状态。
chkconfig --levels [0123456] name <on|off>设置name脚本在各个级别下是否启动)
3、ntsysv 用命令ntsysv --level [0123456]修改各个级别的自启动程序
![](http://hi.csdn.net/attachment/201107/17/0_13108789603WcO.gif)
-----------------------------------------------------------------------------------------------
相关文章推荐
- linux引导流程解析
- 解析Linux系统启动的引导流程
- Linux引导流程解析(2)
- CentOS6.4之Linux引导流程解析
- linux 自学笔记 (七) linux引导流程解析
- Linux基础自学记录六-引导流程解析1
- Linux引导流程解析
- Linux引导流程解析
- Linux引导流程解析(1)
- Linux 引导流程解析
- 7,Linux学习笔记--Linux引导流程解析
- Linux基础自学记录六-引导流程解析2
- 五、linux引导流程解析
- (五)Linux引导流程解析
- Linux 学习笔记_5_Linux引导流程解析_1
- linux 引导流程解析续
- Linux 引导流程解析
- Linux引导流程解析(3)
- CentOS6.4之Linux引导流程解析
- Linux学习笔记之Linux引导流程解析