下载此文档

linux内核启动流程总结.docx


文档分类:IT计算机 | 页数:约5页 举报非法文档有奖
1/5
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/5 下载此文档
文档列表 文档介绍
精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 1 页
X86体系结构内核启动分析
一、硬件检测
当机器加电后它首先执行BIOS(基本输入输出系统)中的代码,BIOS首先执行加电自检程序(POST),当自检通过程便完成了硬件的启动。当自检完成后 BIOS按照系统COMS中设置的启动顺序搜寻有效的启动驱动器(这里我们以硬盘为例),并读入系统引导扇区,并将系统控制权交给引导程序。
二、加载和执行引导程序
系统引导程序主要是把系统内核装载到内存,启动盘必须在第一个逻辑磁道上包含引导记录。这512个字节的扇区又被称作是引导扇区,在系统完成加电自检后, BIOS从启动盘中将引导扇区读入到内存中。一旦引导记录加载完毕,BIOS就交出系统的执行控制权,跳转到引导程序的头部执行。
有关linux pc的引导程序lilo和grub,lilo和grub可以引导多个系统,嵌入式系统上,最常见的bootloader是UBOOT,如果机器上要装多系统的话一般都会用到它们,这一引导程序也储存在引导扇区中或者存放在主引导记录中(MBR),lilo和grub都许允用户自己配置,它们在系统安装时建立了关于系统内核占用磁盘数据块的位置对照表。
比如,grub程序就非常强大。Gurb运行后,将初始化设置内核运行所需的环境。然后加载内核镜像。
grub磁盘引导全过程:
stage1: grub读取磁盘第一个512字节(硬盘的0道0面1扇区,被称为MBR(主引导记录),也称为bootsect)。MBR由一部分bootloader的引导代码、分区表和魔数三部分组成。
stage1_5: 识别各种不同的文件系统格式。这使得grub识别到文件系统。
stage2: 加载系统引导菜单(/boot/grub/ 根据grub版本不同文件位置会有所不同),加载内核vmlinuz和RAM磁盘initrd。
有时候基本引导装载程序(stage1)不能识别stage2所在的文件系统分区,
假设有如下grub配置代码
root (hd0,0) //grub分区
kernel /vmlinuz‐‐ ro root=/dev/ram0 //linux分区
initrd /initramfs‐‐
精品文档,仅供学习与交流,如有侵权请联系网站删除
【精品文档】第 2 页
要搞清楚上面两个root的关系,root (hd0,0)中的root是grub命令,=/dev/ram0是kernel的参数,它告诉操作系统内核加载完毕之后,。kernel命令用来指定内核所在的位置,"/"代表(hd0,0),也就是grub的根目录initrd命令用来指定初始化ram的img文件所在位置。
三、内核启动
内核映像文件vmlinuz:包含有linux内核的静态链接的可执行文件,传统上,vmlinux被称为可引导的内核镜像。vmlinuz是vmli

linux内核启动流程总结 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数5
  • 收藏数0 收藏
  • 顶次数0
  • 上传人qsrkmc24
  • 文件大小23 KB
  • 时间2021-11-22
最近更新