本文介绍了Linux引导过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用内核Linux,在引导过程中我遇到了一些错误:我想从总体上了解Linux内核的引导过程是如何工作的,尤其是在startcore()函数和rootf加载期间和之后。

谢谢你们。

推荐答案

让我们举一个通过MMC在Beaglebone上移植Linux的例子。您了解引导过程的概念。它是这样工作的-

  1. 首先,当我们打开电路板时,Boottrom代码执行(硬编码在电路板的只读存储器中),并初始化CPU,禁用MMU。
  2. 执行Boot-ROM代码后,它跳转到MLO(X-Loader with Header,它是特定于电路板的)并加载它。
  3. MLO执行并加载UBOOT,它是特定于主板的,所有外围设备都在这里初始化。
  4. 现在,UBoot执行并在内核和rootf所在的位置查找bootcmd(在MMC中)。这将调用内核
  5. 内核已提取,然后调用initramfs(根文件系统)

实际上用户并不能仅通过内核与硬件交互,因此根文件系统为用户提供了与内核运行应用程序的接口。

这篇关于Linux引导过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 15:34