现在的位置: 首页 > 综合 > 正文

Linux引导流程解析

2014年03月29日 ⁄ 综合 ⁄ 共 1721字 ⁄ 字号 评论关闭

系统引导流程:  

                                      固件firmware(CMOS/BIOS)------>POST加电自检

|

   自举程序BootLoader(GRUB)------>载入内核

|

              载入内核Kernel  -------------->驱动硬件

|

                启动进程init    

|

     读取执行配置文件/etc/inittab



inittab配置文件内容如下:


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指定的命令终止,便重新运行改命令
--------------------------------------------------------------------------------------------
范例: 指定系统默认运行级别为3,如果想系统启动后自动运行x window,则将上面的3改为5即可。

--------------------------------------  


启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生产系统启动信息日志文件等。
-----------------------------------

判断默认运行级别,调用/etc/rc.d/rc脚本,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置。
--------------------------------------
/etc/rc.d/init.d 该目录下包含各个运行级别的服务程序脚本

------------------------------------------------------------------------------------------
/etc/rc.d/rc[0123456].d 分别存放对应运行级别的服务脚本的符号链接,链接到init.d目录中的相应脚本

-------------------------------------------------------------------------------------------
可以设置自启动程序,方式有三个:
1、ln -s 通过软链接指向你要启动的脚本程序,然后将软链接放到相应启动目录以“S+数字+名称”
      的方式存放。
2、chkconfig (chkconfig --list bluetooth 查看蓝牙在各级别下的启动状态。
                          chkconfig --levels [0123456] name <on|off>设置name脚本在各个级别下是否启动)                                                          
3、ntsysv     用命令ntsysv --level [0123456]修改各个级别的自启动程序
    
-----------------------------------------------------------------------------------------------



抱歉!评论已关闭.