- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
redhat启动流程
Redhat启动流程
当用户打开PC 的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导Linux, Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初 始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从 开机到登录的整个启动过程。
Master Boot Record)中装载启动引导管理器(LILO或root指令为grub 指定了一个根分区
grubkernel /xen.gz-2.6.18-37.el5 --kernel指令将操作系统内核载入内存
grubmodule /vmlinuz-2.6.18-37.el5xen ro root=/dev/sda2 --module指令加载指定的模块
grubmodule /initrd-2.6.18-37.el5xen.img --指定initrd文件
grubboot --boot 指令调用相应的启动函数启动OS内核
第三阶段:
如阶段2所述,grubboot 指令后,系统启动的控制权移交给kernel。Kernel会立即初始化系统中各设备并做相关配置工作,其中包括CPU、I/O、存储设
备等。
关于设备驱动加载,有两部分:一部分设备驱动编入Linux Kernel中,Kernel会调用这部分驱动初始化相关设备,同时将日志输出到kernel message buffer,
系统启动后dmesg可以查看到这部分输出信息。另外有一部分设备驱动并没有编入Kernel,而是作为模块形式放在initrd(ramdisk)中。
在2.6内核中,支持两种格式的initrd,一种是2.4内核的文件系统镜像image-initrd,一种是cpio 格式。以 cpio 格式为例,内核判断initrd为cpio 的文件
格式后,会将initrd 中的内容释放到rootfs 中。
initrd 是一种基于内存的文件系统,启动过程中,系统在访问真正的根文件系统/时,会先访问initrd文件系统。将initrd 中的内容打开来看,会发现有bin、
devetc、lib、procsys、sysroot、init等文件(包含目录)。其中包含了一些设备的驱动模块,比如scsi ata等设备驱动模块,同时还有几个基本的可执行程
序 insmod, modprobe, lvm,nash。主要目的是加载一些存储介质的驱动模块,如上面所说的scsi ideusb 等设备驱动模块,初始化LVM,把/根文件系统以
只读方式挂载。
initrd 中的内容释放到rootfs 中后,Kernel会执行其中的init 文件,这里的init 是一个脚本,由nash 解释器执行。这个时候内核的控制权移交给init文件处
理,我们查看init 文件的内容,主要也是加载各种存储介质相关的设备驱动。
驱动加载后,会创建一个根设备,然后将根文件系统/以只读的方式挂载。这步结束后释放未使用内存并执行switchroot,转换到真正的根/上面去,同时
运行/sbin/init 程序,开启系统的1号进程,此后系统启动的控制权移交给 init 进程。关于switchroot是在nash 中定义的程序。
Linux Kernel需要适应多种不同的硬件架构,但是将所有的硬件驱动编入Kernel又是不实际的,而且Kernel也不可能每新出一种硬件结构,就将该硬件的
设备驱动写入内核。实际上Linux Kernel仅是包含了基本的硬件驱动,在系统安装过程中会检测系统硬件信息,根据安装信息和系统硬件信息将一部分设
备驱动写入 initrd 。这样在以后启动系统时,一部分设备驱动就放在initrd 中来加载。
第四阶段:
init 进程起来后,系统启动的控制权移交给init 进程。
/sbin/init 进程是所有进程的父进程,当init 起来之后,它首先会读取配置文件/etc/inittab,进行以下工作:
1)执行系统初始化脚本(/etc/rc.d/rc.sysinit),对系统进行基本的配置,以读写方式挂载根文件系统及其它文件系统,到此系统基本算运行起来了,后面需
要进行运行级别的确定及相应服务的启动;
2)确定启动后进入的运行级别;
3) 执行/etc/rc.d/rc,该文件定义了服务启动的顺序是先K后S,而具体的每个运行级别的服务状态是放在/etc/rc.d/rcn.d(n=0~6)目录下,所有的文件均
链接至/etc/init.d 下的相应文件。
4)有关key sequen
您可能关注的文档
- Exfjvqa关于本溪市生态环境问题的调查报告.doc
- Exuscqn_a关于二号井党员队伍建设情况的调查报告.doc
- Experimental Report--海洋生物资源调查.doc
- E时代来临-品牌快跑.doc
- Exchange Server 2003 管理1-3.ppt
- F5双色显示屏工艺规程.doc
- Fear and Loathing In the Classroom…Violence & Safety Issues on Ca.ppt
- Fear of Floating or Fear of Flying:Exchange Rate Policy in the New Mille.ppt
- Feurio!攻略.doc
- Fh-trum《迦思佑新托福10000词逻辑辩证记忆20天》网络课程内部讲义(序)`.doc
文档评论(0)