Linux 系统启动目录(/sys/firmware)的硬件映射

老辰君_1627

老辰君_1627

2026-07-20

778人浏览

原创

/sys/firmware目录映射固件与内核交互接口,非硬件寄存器镜像;主要含acpi/(acpi表、设备、平台信息)和efi/(uefi变量、运行时服务等),由内核启动时解析固件动态生成。

linux 系统启动目录(/sys/firmware)的硬件映射

/sys/firmware 目录本身不直接映射硬件设备,它映射的是固件(firmware)与内核交互的接口层,本质是内核对底层固件状态、能力及控制通道的抽象表达。

它不是硬件寄存器或物理地址的直接镜像,而是通过 sysfs 暴露的、由内核 firmware 子系统管理的逻辑视图,用于协调驱动与固件之间的数据交换和状态同步。


/sys/firmware 里实际包含什么?

该目录下主要存在两类子目录,分别对应主流固件接口标准:

  • /sys/firmware/acpi/
    提供 ACPI(Advanced Configuration and Power Interface)相关信息:

    • tables/:列出当前加载的 ACPI 表(如 DSDT、SSDT、FADT),可通过 cat /sys/firmware/acpi/tables/DSDT > dsdt.aml 提取原始表;
    • devices/:展示由 ACPI 枚举出的设备(如 PNP0C14 电池、INT33A1 集成触摸板),这些设备可能无对应总线(如 PCI),但被 ACPI 描述并交由内核管理;
    • platform/:存放平台级 ACPI 设备(如嵌入式控制器 EC)的属性节点,例如 ec 下有 query、status 等可读写文件。
  • /sys/firmware/efi/(仅 UEFI 启动系统存在)
    反映 EFI 运行时服务与固件环境:

    • efivars/:每个文件代表一个 EFI 变量(如 BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c),权限通常为 rw-r--r--,可读写(需 CAP_SYS_ADMIN);
    • runtime-map、capsule/:暴露 EFI capsule 更新机制与运行时内存映射信息;
    • config_table/:列出 EFI 配置表(如 ACPI_20, SMBIOS3),内核据此获取硬件拓扑与配置数据。

✅ 注意:这些内容均由内核在启动阶段解析固件后动态生成,不随硬件物理变化实时刷新,也不等同于 /dev/mem 或 /proc/iomem 中的地址映射。

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载

它如何参与硬件初始化?

固件本身(如 BIOS/UEFI/ACPI table)不直接控制硬件,而是提供“描述”和“契约”。/sys/firmware 是内核兑现这些契约的窗口:

  • 驱动加载时,通过 acpi_dev_get_first_match_dev() 查找匹配的 ACPI 设备节点;
  • 内核根据 DSDT 中 _CRS(Current Resource Settings)分配 IO 内存、中断号,并在 /sys/devices/ 中创建对应设备;
  • 当驱动调用 request_firmware() 加载二进制固件(如 WiFi 芯片微码),固件子系统会通过 /sys/class/firmware/ 接口触发用户空间响应——而该机制的 uevent 上报路径,依赖 /sys/firmware 下的固件状态标识(如 loading、data 文件);
  • EFI 变量修改(如 efivar 工具写 BootOrder)会经由 /sys/firmware/efi/efivars/ 触发内核调用 EFI SetVariable() 服务,最终影响下一次启动设备顺序。

常见误判澄清

  • ❌ /sys/firmware 不是 /dev 的替代,不能用来 open/read/write 硬件寄存器;
  • ❌ 它不包含设备树(DTB)内容——设备树由内核在 early boot 解析后存入内存,其节点反映在 /sys/firmware/devicetree/(仅 ARM/ARM64 平台启用,且需 CONFIG_OF=y),但该路径属于 devicetree 子系统,与 ACPI/EFI 并列,非统一入口;
  • ✅ 若系统使用 ACPI + UEFI,则 /sys/firmware/acpi/ 和 /sys/firmware/efi/ 同时存在,各自承担不同职责:ACPI 描述设备功能与电源策略,EFI 提供启动服务与持久变量。

实用检查建议

想确认固件如何影响当前硬件可见性,可执行:

# 查看是否启用 ACPI
ls /sys/firmware/acpi/tables/ >/dev/null 2>&1 && echo "ACPI active" || echo "ACPI disabled or absent"

# 列出 EFI 变量数量(UEFI 系统)
ls /sys/firmware/efi/efivars/ | wc -l

# 查看某 ACPI 设备是否被识别
ls /sys/firmware/acpi/devices/ | grep -i "battery\|thermal"

它的作用不是“映射硬件”,而是让内核把固件说清楚的事,变成你能查、能调、能响应的文件接口。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

860

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2532

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

856

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

749

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2276

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4212

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

687

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习