计算机内核加载流程
1.PC上电后引导主板上的BIOS;
2.BIOS对基本硬件进行初始化;
3.BIOS根据设置选择用于启动设备(如光盘、硬盘、U盘、网络);
4.当启动设备可用时,执行设备中固定位置的代码(GRUB、LILO等);
5.GRUB首先对计算机硬件进行基本的硬件初始化;
6.根据配置文件(menu.1st或grub.cfg)进行启动控制;
配置文件用于设置界面颜、等待用户选择的时间、启动项选择、启动项中执行的过程;
7.根据启动项的设置载入内核、镜像文件(如initrd);
8.GRUB将控制权交给内核;
9.内核初始化(开始检测与驱动各个周边设备,包括:存储设备、CPU、网卡、声卡。此时Linux内核会以自己的功能重新检测一次硬件,而不是使用BIOS检测到的硬件信息。),产生rootfs、ROM Disk(/dev/ram一般有8个,最多可以设置为255);
Linux内核自身初始化后将载入Linux系统到根文件系统上;
10.1.1内核还原/boot/initrd到ROM Disk,产生辅助系统;
RAM Disk设备上使用辅助系统必须采用文件系统,必须将镜像文件格式化为Linux内核支持的文件系统,在文件系统中存放辅助系统;
10.2.Initramfs中的系统在Linux内核中视为“最终系统”,Linux将该系统直接还原到根文件系统。内核执行该系统后就不在接管控制权了,执行的控制权都有该系统来完成。
注:Initramfs同initrd一样,initramfs打包压缩文件也可以使用启动器读取放入内存中的特定位置,再由内核将其压缩还原到根文件系统中,之后转入运行其中的系统。
10.1.2.该辅助系统,在内存中仿真成一个根目录,并提供一个可执行的程序,通过该程序
来加载启动过程中所需要的内核模块,通常这些模块就是USB、RAID、LVM、SCSI等文件系统与磁盘的驱动程序;
10.1.3.Linux内核重新获得控制权,继续执行根文件系统(rootfs)中的“最终系统”(内核加载适当的驱动程序,最终释放虚拟文件系统,并挂载实际的根目录文件系统,就能够开始后续的正常启动);
11.内核加载完成,该主机就开始正确运行,执行/sbin/init程序。
BIOS的基本功能:
linux内核文件放在哪1.它保存着计算机最重要的基本输入输出程序;
2.系统设置信息;
3.开机自检程序;
4.系统自启动程序;
COMS主要存储BIOS设置程序所设置的参数和数据
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论