《UEFI内核导读》UEFI Firmware Storage简介

这篇具有很好参考价值的文章主要介绍了《UEFI内核导读》UEFI Firmware Storage简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 ==============================

敬请关注:“固件C字营

    ==============================

          UEFI固件一般存储在被称之为“固件仓库”的非易失性存储器中,简称为FD(固件设备),当前主流的存储介质是NorFlash它拥有非易失性、XIP以及可二次编程的特性。

        固件设备可以分为物理设备和逻辑设备,一个NorFlash固件设备可以被划分为多个逻辑设备FV(Firmware Volume),同理多个物理固件设备也可以组成更大的逻辑设备,FV是最基本的“固件设备”管理单元,被称之为FFS(Firmware File System)。FV以唯一的GUID来区分,同时它会有不同的类型如FFS2或FFS3,以及对其读写控制的其他的属性。FD组织方式是:Section->Firmware File->FV->FD,下文分别介绍。

        Firmware File:用来存储代码或数据,在FV当中它是由GUID来唯一命名,具有文件类型、存储对齐方式、文件大小等属性。UEFI提供了基本的服务来访问Fireware File,在PEI阶段用EFI_PEI_SERVICES->(FfsFindNextFile, FfsFindFileByName、FfsGetFileInfo),在DXE阶段用EFI_FIRMWARE_VOLUME2_PROTOCOL->(ReadFile, ReadSection、WriteFile、GetNextFile), 或EFI_BOOT_SERVICES->LoadImage()。

        Firmware File Section:组成Firmware File的最小单元,由2个最基本的属性,一个是类型,另一个是所占用的存储空间大小。UEFI提供了基本的服务来访问Fireware File Section,在PEI阶段用EFI_PEI_SERVICES->FfsFindSectionData,在DXE阶段用EFI_FIRMWARE_VOLUME2_PROTOCOL->ReadSection

FFS PI Firmware File Types:

PI File Type

Value

Mnemonic

EFI_FV_FILETYPE_RAW

0x01

Binary data

EFI_FV_FILETYPE_FREEFORM

0x02

Sectioned data

EFI_FV_FILETYPE_SECURITY_CORE

0x03

Platform core code used during the SEC phase

EFI_FV_FILETYPE_PEI_CORE

0x04

PEI Foundation

EFI_FV_FILETYPE_DXE_CORE

0x05

DXE Foundation

EFI_FV_FILETYPE_PEIM

0x06

PEI module (PEIM)

EFI_FV_FILETYPE_DRIVER

0x07

DXE driver

EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER

0x08

Combined PEIM/DXE driver

EFI_FV_FILETYPE_APPLICATION

0x09

Application

EFI_FV_FILETYPE_MM

0x0A

Contains a PE32+ image that will be loaded into MMRAM in MM Traditional Mode.

EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE

0x0B

Firmware volume image

EFI_FV_FILETYPE_COMBINED_MM_DXE

0x0C

Contains PE32+ image that will be dispatched by the DXE Dispatcher and will also be loaded into MMRAM in MM Tradition Mode.

EFI_FV_FILETYPE_MM_CORE

0x0D

MM Foundation that support MM Traditional Mode

EFI_FV_FILETYPE_MM_STANDALONE

0x0E

Contains a PE32+ image that will be loaded into MMRAM in MM Standalone Mode.

EFI_FV_FILETYPE_MM_CORE_STANDALONE

0x0F

MM Foundation that support MM Tradition Mode and MM Standalone Mode

EFI_FV_FILETYPE_OEM_MIN… EFI_FV_FILETYPE_OEM_MAX

0xC0-0xDF

OEM File Types

EFI_FV_FILETYPE_DEBUG_MIN… EFI_FV_FILETYPE_DEBUG_MAX

0xE0- 0xEF

Debug/Test File Types

EFI_FV_FILETYPE_FFS_MIN… EFI_FV_FILETYPE_FFS_MAX

0xF0- 0xFF

Firmware File System Specific File Types

EFI_FV_FILETYPE_FFS_PAD

0xF0

Pad File For FFS

FFS PI Section Types:

PI Section Type

Value

Mnemonic

EFI_SECTION_COMPRESSION

0x01

Encapsulation section where other sections are compressed

EFI_SECTION_GUID_DEFINED

0x02

Encapsulation section where other sections have format defined by a GUID

EFI_SECTION_DISPOSABLE

0x03

Encapsulation section used during the build process but not required for execution

EFI_SECTION_PE32

0x10

PE32+ Executable image.

EFI_SECTION_PIC

0x11

Position-Independent Code

EFI_SECTION_TE

0x12

Terse Executable image

EFI_SECTION_DXE_DEPEX

0x13

DXE Dependency Expression

EFI_SECTION_VERSION

0x14

Version, Text and Numeric.

EFI_SECTION_USER_INTERFACE

0x15

User-Friendly name of the driver

EFI_SECTION_COMPATIBILITY16

0x16

DOS-style 16-bit EXE

EFI_SECTION_FIRMWARE_VOLUME_IMAGE

0x17

PI Firmware Volume image

EFI_SECTION_FREEFORM_SUBTYPE_GUID

0x18

Raw data with GUID in header to define format

EFI_SECTION_RAW

0x19

Raw data

EFI_SECTION_PEI_DEPEX

0x1b

PEI Dependency Expression

EFI_SECTION_MM_DEPEX

0x1c

Leaf section type for determining the dispatch order for an MM Traditional driver in MM Traditional Mode or MM Standaline driver in MM Standalone Mode

更多导读,尽情期待!

==============================文章来源地址https://www.toymoban.com/news/detail-403671.html

   敬请猛戳下面链接,关注&转发

敬请关注:“固件C字营

点击左下角“分享”,快乐更多人

==============================

到了这里,关于《UEFI内核导读》UEFI Firmware Storage简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 香橙派简介、刷机、启动、显示内核日志

    师承clc 学习香橙派(全志H616)主 要是Linux系统的学习 特性 CPU 全志H616四核64位1.5GHz高性能Cortex-A53处理器 GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0 运行内存 1GBDDR3(与GPU共享) 存储 TF卡插槽_课程配套硬件16G,测试128G可支持、2MBSPIFlash WIFI+蓝牙 AW859A芯片、支持IEEE802.11a/b/g/n/ac、

    2024年02月16日
    浏览(105)
  • Linux内核安全子系统简介(下)

    内容来源:deepin社区 作者:zhanglei       Linux内核安全子系统简介(上) 资源隔离是一个历史悠久又异常有效的安全手段。 从操作系统的角度来看,它对各个进程的管理实际上就是一个隔离。每个进程都拥有从0开始的连续一大片地址空间可以使用,但实际上在物理地址上,

    2024年04月08日
    浏览(38)
  • eBPF(Linux内核安全方案)教程1简介

    eBPF(extended Berkeley Packet Filter)是一种革命性的内核技术,它允许开发人员编写可动态加载到内核中的自定义代码,从而改变内核的运行方式。(如果你对内核还不太了解,不用担心,本章很快就会讲到)。 这使得新一代高性能网络、可观察性和安全工具成为可能。而且,正如

    2024年02月08日
    浏览(35)
  • BUUCTF-firmware1

    题目下载:下载  新题型,记录一下 题目给出了flag形式,md5{网址:端口},下载发现是一个.bin文件 二进制文件,其用途依系统或应用而定。一种文件格式binary的缩写。一个后缀名为\\\".bin\\\"的文件,只是表明它是binary格式。比如虚拟光驱文件常用\\\".bin\\\"作为后缀,但并不意味着所

    2024年02月16日
    浏览(21)
  • Linux内核4.14版本——drm框架分析(1)——drm简介

    目录 1. DRM简介(Direct Rendering Manager) 1.1 DRM发展历史 1.2 DRM架构对比FB架构优势  1.3 DRM图形显示框架  1.4 DRM图形显示框架涉及元素 1.4.1 DRM Framebuffer 1.4.2 CRTC 1.4.3 Encoder 1.4.4 Connector 1.4.5 Bridge 1.4.6 Panel 1.4.7 Fence 1.4.8 Plane 1.4.9 小结 2. DRM驱动框架 2.1 DRM驱动对象介绍 2.2 DR

    2024年02月02日
    浏览(30)
  • 【230828更新】晶晨(Amlogic)s905l(-b)p211 android 9.0(atv 9)固件(firmware)

    230828更新: 1.修复usb sdcard 2.删除一些遥控器支持   写在前面: 本人之前在论坛发布过android 6.0 android 7.1,一直在关注这些盒子的信息,一天在网上发现了一款与国内运营商配置相同的外贸盒子(Q96 MAX),这款盒子用的也是p201的母板,同时处理器也是s905l,于是本人在一个俄

    2024年02月06日
    浏览(30)
  • 【UEFI/BIOS】UEFI Shell Command (UEFI Shell 命令)篇目一

    命令 作用 alias 在UEFI Shell环境中显示、创建、删除别名 attrib 显示或更改文件或目录的属性 bcfg 操作Boot或者驱动程序顺序 cd 显示或更改当前目录 comp 以字节为单位比价两个文件的内容 connet 将驱动程序绑定到特定的设备并启动该驱动程序 cp 将一个或多个源文件或目录复制到目

    2024年02月07日
    浏览(32)
  • 【UEFI实战】UEFI图形显示(字符输出)

    接下来介绍 EFI_HII_FONT_PROTOCOL ,它在UEFI代码中完成了字符到像素的转换,本节主要介绍这个转换关系,它的实现代码在edk2MdeModulePkgUniversalHiiDatabaseDxeHiiDatabaseDxe.inf中,除了 EFI_HII_FONT_PROTOCOL ,这个模块还实现了很多其它的Protocol,后面用到的时候也会介绍,所以HiiDatabaseDx

    2024年02月13日
    浏览(28)
  • Quest固件下载链接,最全版本升级包,降级,Quest2,Firmware,rom,system.img,boot.img, 附录下载地址大全

    adb sideload C:path-to-update-fileupdate-file.zip 除了 v20 之外的所有这些链接都是完整的固件版本(因此大约有 800 MB 的下载量),因此您无需担心您当前使用的是哪个版本来使用这些。为防止 Quest 在降级后自行更新,请在 Oculus 应用的“高级设置”中禁用“自动更新软件”(防止升

    2024年02月05日
    浏览(67)
  • UEFI Shell命令详解,自写一个UEFI Shell命令

    命令 功能 命令 功能 acpiview 显示ACPI表相关信息 ifconfig 配置IP地址 alias 显示,创建,删除别名 load 加载UEFI驱动 attrib 显示,更改文件或目录属性 loadpcirom 加载PCI ROM bcfg 管理启动项 ls 列出目录内容或文件信息 cd 更改当前目录 map 显示Mapping cls 清空标准输出 memmap 显示目录映射

    2023年04月17日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包