· [Java论坛][安全论坛][数据库论坛][操作系统论坛]
· [专题] IBM Rational高峰论坛 Windows 7十大功能
· [专题] 史上就危险7月 微软 BizSpark 计划介绍
· [IT技术周刊][IT资源下载专区][病毒求助专区]
· [热点] 我也能做CTO_赛迪连载 赛迪七夕特别行动
· [热点] Chrome 4.0采用V8引擎 Java开发编程规范

Linux操作系统启动流程与Grub的配置方法 (1)

发布时间:2008.03.24 06:38     来源:赛迪网    作者:sixth

一、Linux的启动流程

1. 从BIOS到KERNEL

BIOS自检->MBR(GRUB)->KERNEL->KERNEL自解压->内核初始化->内核启动

2. 内核启动:创建1#进程并执行,由它创建若干内核线程(kernel thread),然后装入并执行程序/sbin/init(变成一个用户进程)。此后,init根据/etc/inittab配置文件来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络等。

对于Redhat来说,执行的顺序为:

/etc/rc.d/rc.sysinit # 由init执行的第一脚本

/etc/rc.d/rc $RUNLEVEL # init执行指定运行级别($RUNLEVEL为缺省的运行模式)的各脚本;

/etc/rc.d/rc.local #运行模式2、3、5时会运行的脚本

/sbin/mingetty(或getty) # 等待用户登录

/etc/inittab中指定了系统的运行级别(RUNLEVEL),init根据运行级别启动相关的服务(一些后台进程),实现不同的功能。

RUNLEVEL值为:0-6

0:halt, 1:单用户,2:多用户,3:多用户并启动NFS服务

4:保留,5:运行xdm(X window)以图形界面方式登录

6:reboot

3./etc/inittab文件

/etc/inittab的文件内容如下:

# 设定系统开机预设的RUNLEVEL:

id:3:initdefault:

# 开始进行RUNLEVEL的服务启动前,使用来侦测与初始化系统环境的设定文件:

si::sysinit:/etc/rc.d/rc.sysinit

# 7 个不同 run level 的,需要启动的服务的 scripts 放置路径:

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

# 是否允许按下 [ctrl]+[alt]+[del] 就重新开机的设定项目:

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# 本机端终端机启动的个数:

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

# 在 X Window (RUNLEVEL 5) 环境下的启动 script 设定项目:

x:5:once:/etc/X11/prefdm -nodaemon

这个文件的语法是这样的:

标识符:级别:init 的动作行为:指令项目

1. 标识符:

最多四个字符,代表 init 的主要工作项目,只是一个简单的代表说明。

2. 级别:

该项目在哪些 run level 底下进行的意思。如果是 35 则代表 runlevel 3 与 5 都会执行。

3. init 的动作行为:

主要可以进行的动作项目意义有:

initdefault :代表预设的 run level 设定值;

sysinit :代表系统初始化的动作项目;

ctrlaltdel :代表 [ctrl]+[alt]+[del] 三个按键是否可以重新开机的设定;

wait :代表后面接的指令项目必须要执行完毕才能继续后面的动作;

respawn :代表后面接的, init 仍会主动的『重新』启动。

更多的设定项目请参考 man inittab 的说明。

4. 指令项目:

亦即应该可以进行的指令,通常是一些 script 啰。

说明:如根据上面的文件,init程序执行时根据/etc/inittab文件的内容,完成以下功能

(1)获取RUNLEVEL(文件中的这一行 id:3:initdefault:)为3

(2)执行rc.sysinit(文件中的这一行 si::sysinit:/etc/rc.d/rc.sysinit)

(3)执行/etc/rc.d/rc3.d目录中的脚本(文件中的这一行 l3:3:wait:/etc/rc.d/rc 3,且因为本例RUNLEVEL为3)

(4)然后设定是否允许按下 [ctrl]+[alt]+[del] 就重新开机(文件中的这一行 ca::ctrlaltdel:/sbin/shutdown -t3 -r now,当然如果不允许,可把此行注释掉)

(5)启动六个终端界面tty1-tty6

(6)最后如果我们使用的是 run level 5 ,那么除了这六个终端机之外, init 还会执行/etc/X11/prefdm -nodaemon 其主要的功能就是在启动 X Window !

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Linux系统下使用Windows XP字体美化汉字 (03-21) · 搞定Ubuntu 7.10下万能影音播放器Totem (03-21)
· 实例详解:RHEL5下实现本地YUM源的过程 (03-21) · 新手学堂:CentOS下配置XDMCP的方法介绍 (03-21)
· 2.6.24内核编译 initrd-2.6.24.img分析 (03-21) · Wine安装一些Windows软件的错误以及处理 (03-21)
· 业界动态:Ubuntu 8.04(Beta)正式发布 (03-21) · 新闻观察:微软宣布支持Eclipse开源项目 (03-21)
· Sun发布最新服务器产品搭配Ubuntu Linux (03-21) · Ubuntu Linux系统已开始支持SELinux技术 (03-21)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
资讯 通信 IT产品 IT技术 信息化
专题:扭亏为盈 联想09年Q2翻番
·专题:Tech·Ed 2009微..
·直播:2009互联网大会..
·迅雷搜狐"互搏" 谁动了..
专题:诺基亚危局已现 或重蹈摩托覆辙
·六股势力角逐4G标准 中..
·专题:联通iPhone并不贵..
·专题:排排坐开商店 三..
商务演示需求分析 多媒体会议室必备投影
·VMware在京隆重举行2009..
·专题:笔记本频道10月热..
·专题:学生机市场 惠普 ..
专题:Tech.Ed 2009微软技术大会
·专题:2009 SYBASE 亚太..
·专题:微软新一代桌面操..
·专题:2009年第3届CSDN..