基于Intel TianoCore衍生的EDK-II诞生的UEFI,用来取代Legacy BIOS。

INF文件

Module Information File,模块描述文件。Module可以是可执行文件,也可以是库文件,Module Type包括BASE/SEC/PEI_CORE/PEIM/DXE_CORE/DXE_DRIVER/DXE_RUNTIME_DRIVER/DXE_SMM_DRIVER/DXE_SAL_DRIVER/UEFI_DRIVER/UEFI_APPLICATION

[Defines]
  INF_VERSION                    = 0x00010006
  BASE_NAME                      = LinuxFdtLoader
  FILE_GUID                      = f536d559-459f-48fa-8bbc-43b554ecae8d
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 0.1
  ENTRY_POINT                    = UefiMain            //入口函数
 
[Sources]                          //源码
  LinuxFdtLoader.c
  LinuxConfig.c
 
[Packages]                          //依赖的Package
  ArmPkg/ArmPkg.dec
  MdePkg/MdePkg.dec
 
[LibraryClasses]                        //依赖库
  BdsLib
  DxeServicesTableLib
  UefiLib
  UefiApplicationEntryPoint
 
[Protocols]                          //依赖的Protocols
  gEfiLoadedImageProtocolGuid
  gEfiDevicePathToTextProtocolGuid

DEC文件

Package Declaration File,组件包描述文件,用于支持编译Package以及发布Modules

[Includes] 指定头文件路径

[LibraryClasses] 依赖的库以及头文件路径

DSC文件

Platform Description File,平台描述文件。EDK Build Tools是EDK II通用组件之一,为了在自己的Module中使用EDK II通用组件包括EDK II Build Tools,必须要在自己的Module中编写DSC和FDF配置文件。

DSC文件用来配合FDF/DEC/INF等文件,最终生成PE32/PE32+/Coff二进制文件。

DSC文件中包括:

1) EDK II Module INF Files

2) EDK Components

3) EDK Libraries (only used by EDK Components)

4) EDK II Library Class Instance Mappings (only used by EDK II Modules)

5) EDK II PCD Entries

LibraryClasses字段表示当前Package依赖哪些库以及库描述文件路径。

Components字段表示当前Package对外提供哪些库以及库描述文件路径。

FDF文件

Flash Definition File,Flash布局描述文件,类似于lds链接脚本

UEFI手札的更多相关文章

  1. archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)

    准备工具和设置制作启动盘连接网络硬盘分区规划分区LVM方案创建文件系统分区挂载激活lvm2钩子基础安装和配置配置镜像源基础系统安装fstab进入系统initramfs引导程序网络搭建使用环境用户管理用 ...

  2. UEFI+GPT安装windows

    首先bios开启uefi windows安装选择驱动器界面:F10 进入命令行: list disk select disk 0 clean convert gpt

  3. UEFI模式安装Win10和Linux双系统

    最近心血来潮,想装一个Linux.Windows双系统,吸取上次安装的经验,这次一定都要使用UEFI模式启动,需要注意的是必须是支持此种启动模式的系统(一般解压之后都有efi文件夹不需要刻录),这次遇 ...

  4. UEFI模式下Win10和Linux双系统

    一.准备 用Win自带的磁盘管理或者进PE分出一块空间来. 你必须要有一个U盘,然后使用软碟通或者ImageWriter把iso系统镜像文件烧录进去,这是比较传统的方法,但既然我们UEFI启动,那就根 ...

  5. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  6. UEFI引导在GPT分区下安装win2008——抓住那只傲娇的win2008

    上周遇到个客户DELL R520的服务器新采购了8块3T硬盘做备份服务器,raid配置5+1,一个磁21.8T.先用普通的装desktop OS的方法发现进去没raid盘,然后就按照官方的文档进入Li ...

  7. UEFI Bootable USB Flash Drive - Create in Windows(WIN7 WIN8)

    How to Create a Bootable UEFI USB Flash Drive for Installing Windows 7, Windows 8, or Windows 8.1 In ...

  8. 一步一步安装UEFI分区方式的windows 10 企业版

    发现很多坛友不会安装UEFI分区的windows 10 从启动设置,到分区,到最后的引导与激活都是很大的问题. 在我看来这是最不容易出错的安装方式适合于刚刚上手的菜鸟,自己按照图片一步一步的就可以安装 ...

  9. Win10无法安装提示磁盘布局不受UEFI固件支持怎样解决

    微软在推出Win10系统以后,就向Win7和Win8.1系统用户提供了免费升级Win10系统的推送,但是用户在安装Win10系统的时候,却有一部分用户反映,遇到提示“无法安装Windows,因为这台电 ...

随机推荐

  1. 《剑指offer》面试题25 二叉树中和为某一值的路径 Java版

    (判断是否有从根到叶子节点的路径,其和为给定值.记录这些路径.) 我的方法:这道题我是按照回溯的思路去做的,我们需要一个数据结构来保存和删除当前递归函数中添加的值.这里要打印一条路径,我们可以选择Li ...

  2. 数位dp相关

    经典的数位Dp是要求统计符合限制的数字的个数. 一般的形式是:求区间[n,m]满足限制f(1). f(2). f(3)等等的数字的数量是多少. 条件 f(i) 一般与数的大小无关,而与数的组成有关. ...

  3. QT DBUS: Not connected to D-Bus server, 注意source /etc/profile

    运行环境:ARM 运行如下代码: QDBusConnection bus = QDBusConnection::sessionBus(); if(!bus.registerService(" ...

  4. Nginx 配置二级虚拟目录访问 Laravel 重写

    server { listen 80; server_name _; root /opt/sites; index index.php index.html index.htm; etag on; g ...

  5. linux下的变量规则

    1.变量名可以由字母.数字和下划线组成,但是不能以数字开头: 2.变量在命名时,默认情况下为字符型: 3.为变量赋值时,等号两边不能有空格: 4.如果要增加变量的值,可以进行变量的叠加,不过需要将变量 ...

  6. STL: HDU1004Let the Balloon Rise

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  7. HDU 5266 pog loves szh III ( LCA + SegTree||RMQ )

    pog loves szh III Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Oth ...

  8. 1. Docker快速入门(仓库,镜像,容器)

    参考阿里云文档:https://help.aliyun.com/document_detail/51853.html?spm=a2c4g.11186623.6.820.RaToNY 参考菜鸟教程文档: ...

  9. django学习笔记(五)

    知识点概要 - Session - CSRF - Model操作 - Form验证(ModelForm) - 中间件 - 缓存 - 信号 内容详细: 1. Session 基于Cookie做用户验证时 ...

  10. numpy.random.randn()和numpy.random.rand()

    1 numpy.random.rand() (1)numpy.random.rand(d0,d1,…,dn) rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1 dn表格每个维度 返回 ...