- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux系统的引导过程
6.2 Linux系统的引导过程
Linux.3所示
图6.3 Linux内核启动过程示意图
第1阶段:完成硬件检测、初始化和内核的引导。
第2阶段:主要是init初始化进程的执行。
1.BIOS自检
计算机通电后首先由BIOS进行自检,即所谓的POSTPower On Self Test),对硬件进行检测BIOS 必须确定要使用哪个设备来引导系统CMOS中设置的引导顺序有哪些信誉好的足球投注网站处于活动状态并可引导的设备硬盘、CDROM当找到一个引导设备之后,中读引导块MBR,Master Boot Record)。主引导记录MBR中包含主引导加载程序。MBR是一个512大小的扇区,位于磁盘的第一个扇区中0道0面1扇区当MBR被加载到RAM中之后,BIOS会把控制权交给MBR要看MBR的内容,# dd if=/dev/hda of=mbr.bin bs=512 count=1 //从/dev/da上读取前512的内容,将其写入mbr.bin文件中# od -xa mbr.bin //以十六进制和ASCII码格式打印这个二进制文件的内容MBR中的主引导加载程序是一个512大小的映像,其中包含程序代码和一个分区表。前446是主引导加载程序,其中包含可执行代码和错误消息文本。接下来的64是分区表,其中包含4个分区的记录(每个记录的大小是16个字节)。MBR以两个特殊数字的字节(0xAA55)结束。这个数字会用来进行MBR的有效性检查。2.启动GRUB
GRUB是引导加载程序,会引导操作系统。当机器引导它的操作系统时,BIOS会读取引导介质上最前面的512字节MBR,Master Boot Record)
主引导加载程序第一阶段的引导加载程序的是查找并加载次引导加载程序它是通过在分区表中查找一个活动分区来实现这种功能的。当找到一个活动分区时,会扫描分区表中的分区,以确保它们都不是活动的。当这个过程验证完成之后,就将活动分区的引导记录第二阶段的引导加载程序从这个设备中读RAM中并执行它。第二阶段的引导加载程序次引导加载程序可以更形象地称为内核加载程序。是将默认的内核映像和initrd映像加载到内存中。在PC环境中,第一阶段和第二阶段的引导加载程序一起称为GRand Unified Bootloader(GRUB)在GRUB命令中GRUB界面中按C键进入),可以使用initrd映像引导一个特定的内核,方法如下grub kernel (hd0,2)/
Possible files are: lost+found sys proc var tmp dev etc root selinux usr bin boot home li
b media mnt opt sbin srv misc tftpboot .autofsck net cache_db
grub kernel (hd0,2)/boot/vmlinuz-2.6.18-128.el5
[Linux-bzImage, setup=0x1e00, size=0x1bbeb4]
grub initrd (hd0,2)/boot/initrd-2.6.18-128.el5.img
[Linux-initrd @ 0x2fd79000, 0x266c72 bytes]
grub 当内核映像被加载到内存后,内核阶段就加开始了3.加载内核
当内核映像被加载到内存中,并且阶段2的引导加载程序释放控制权之后,内核阶段就开始了。内核映像并不是一个可执行的内核,而是一个压缩过的内核映像。通常它是一个 zImage(压缩映像,小于512KB)或一个bzImage(较大的压缩映像,大于512KB)。在这个内核映像前面是一个例程,它实现少量硬件设置,并对内核映像中包含的内核进行解压,然后将其放入高端内存中,如果有初始RAM磁盘映像,就会将它移动到内存中,并标明以后使用。然后该例程会调用内核,并开始启动内核引导的过程。在内核引导过程中,初始RAM磁盘(initrd)是由次引导加载程序加载到内存中的,它会被复制到RAM中并挂载到系统上。这个initrd会作为RAM中的临时根文件系统使用,并允许内核在没有挂载任何物理磁盘的情况下完整地实现引导。由于与外围设备进行交互所需要的模块可能是initrd的一部分,因此内核可以非常小,但是仍然需要支持大量可能的硬件配置。在内核引导之后,就可以正式挂载根文件系统了此时会将initrd根文件系统卸载掉,挂载真正的根文件系统。在一个没有硬盘的嵌入式环境中,initrd可以是最终的根文件系统,或者通过网络文件系统(NFS)挂载最终的根文件系统。4.执行init进程
内核将生成第一个进程―init实际上/sbin/init、/etc/init、/bin/init或
文档评论(0)