Linux( bootloader)启动 *** 作系统过程

Linux( bootloader)启动 *** 作系统过程,第1张

Linux Booting Process:

(1) BIOS

功能:执行计算机系统完整性检测;通电自检;搜索/加载/执行 boot loader程序

一旦 boot loader 程序被探测到,并且加载到内存,BIOS会把控制权交给它。

(2) MBR

MBR位于引导盘(Bootable Disk)的第一个扇区(512B)。

通常是在 /dev/sda 或者 /dev/hda 。

注意:引导盘(bootable disk)和引导分区(bootable partition)的区别。

(3) GRUB

GRUB = Grand Unified Bootloader

如果在系统中安装有多个内核镜像,你可以选择某一个被执行。

GRUB展示了一个启动画面,等待几秒,如果你不输入任何字符,它将会按照grub配置文件的规定加载默认的内核镜像。

Grub配置文件在: /boot/grub/grubconf

它包含了内核和initrdimg

(4) Kernal

(注意Kernal和kernel不一样)

Kernal按照grubconf文件的规定,挂载根文件系统。

一旦kernal启动,它第一件事情就是执行:sbin/init 进程。

initrd是被kernel用做临时根文件系统,直到Kernal挂载了根文件系统。

(5) INIT(Initilization)

根据 /etc/inittab 文件决定Linux运行层级,运行级别决定了哪个初始化程序(Initial Programs)被加载到启动项。

(6) Run Level

根据你的运行级别的设定, *** 作系统会执行下来对应的文件夹下的程序:

Linux的7个运行级别(Run levels):

标准的Linux运行级别为3或者5,如果是3的话,系统就在多用户状态;如果是5的话,则是运行着XWindow系统。不同的运行级别有着不同的用处,也应该根据自己的不同清晰来设置。例如,如果丢失了root口令,那么可以让机器启动进入单用户模式来设置。

如果是使用S(Start)开头的程序,那么是用在启动的时候,

如果是使用K(Kill)开头的程序,那么是用在关机的时候。

我不是非常确定,我可以尽我所能地帮助您理解。

单片机 bootloader 可以是由厂商提供的默认引导程序,也可以由用户自己编写。如果厂商提供了 bootloader,则可以直接使用。如果需要根据自己的特殊需求进行修改或自己编写,则需要自己编写 bootloader。

在编写 bootloader 时,需要了解特殊硬件的工作原理和优缺点,例如 flash 存储器、RAM 存储器、串口、定时器等。此外,还需要掌握汇编语言或某种高级语言(如 C 语言)。因此,相对来说需要较高的技能水平。

希望这有助于您了解单片机 bootloader 的编写问题。

上电之后到U-boot的流程

暂不关心CP的启动,而主要关心AP

Android启动流程——1序言、bootloader引导与Linux启动

以上就是关于Linux( bootloader)启动 *** 作系统过程全部的内容,包括:Linux( bootloader)启动 *** 作系统过程、单片机bootloader要自己写吗、Android系统启动流程(二)BootLoader引导程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10138112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存