嵌入式Linux设计:文件系统和引导加载程序

嵌入式Linux设计:文件系统和引导加载程序,第1张

Linux 内核在系统引导期间所做的最后一件事是挂载根文件系统Linux 内核没有规定文件系统结构,但用户空间应用程序希望在目录结构中找到具有特定名称的文件。因此,遵循 Linux 系统中出现的事实标准很有用。

构建根文件系统的“官方”规则包含在文件系统层次标准 (FHS) 中。FHS 定义了 Unix *** 作系统中的目录结构和内容(图 1)。所有文件和目录都出现在根目录“/”下,即使它们存储在不同的物理或虚拟设备上。但是,根据某些子系统(例如 X Windows),这些目录中的一些可能存在于 Unix 系统上。为文件系统开发层次结构的过程早在 1993 年就开始于重组 Linux 系统的想法。当前的 FHS 标准(以前称为 FSSTND)由非营利组织 Free Standards Group 管理,该组织由惠普、红帽、IBM 和戴尔等主要软件硬件供应商组成。

这些目录中的大多数都存在于所有 Unix *** 作系统上,并且通常以几乎相同的方式使用。

根文件系统的每个顶级目录都有特定的用途。但是,其中许多仅与多用户系统相关,其中管理员负责不同用户使用的许多服务器或工作站。在嵌入式 Linux 系统中,通常没有用户和管理员,构建根文件系统的规则可以自由解释。这并不意味着可以违反所有规则,但确实意味着违反其中一些规则对系统的正常运行几乎没有影响。有趣的是,商业发行版,甚至是传统的工作站和服务器发行版,有时会偏离根文件系统的实际规则。

引导加载程序负责在内存中加载和初始化 *** 作系统内核及其支持基础设施。引导加载程序执行的典型任务包括选择内核(Linux 桌面系统可能会提供一个内核列表以供您在引导期间按下一个键)并将初始文件系统加载到 RAM(initrd、initramfs 或类似的东西)。RAM 上的文件系统包含一个最小的环境来挂载根文件系统并启动正常的引导过程。大多数台式机和服务器系统都有扩展的系统固件(BIOS、UEFI、OpenFirmware 等),它提供了硬件设备配置和中断路由详细信息等信息。然而,嵌入式 Linux 通常没有这些扩展。它通过引导加载程序完成工作,

因此,嵌入式 Linux 有一些独特的引导加载程序要求。固件不仅必须将内核映像加载到系统内存中;它还必须对系统内存控制器进行编程、初始化处理器缓存、激活各种硬件设备、直接实现对网络引导基础设施的支持,以及执行许多其他活动。

嵌入式Linux设计:文件系统和引导加载程序,pYYBAGLeB9eAAZV8AABrevYmOCI229.jpg,第2张

图 1:层次结构——文件系统层次标准 (FHS)

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

原文地址: https://outofmemory.cn/dianzi/2711543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存