uefi的幾種文件格式(.fdf .dec .dsc .inf)

在uefi 中fdf文件和dsc文件以及dec文件還有inf文件是每一個做uefi的人最開始接觸的文件,那麼這些文件到底有什麼作用?以及文件中每個字段的意義又是什麼呢?現在就讓我們一個文件一個文件的看吧!(本文的所有內容都來自於uefi de spec,如果想詳細瞭解spec中的內容,請自己參閱spec,本文只是自己在閱讀過程中將重點記錄下來)

首先看一下uefi中的幾種名詞解釋:

HII
Human    Interface    Infrastructure.    This    generally    refers    to    the    database    that    contains    string,
font,    and    IFR    information    along    with    other    pieces    that    use    one    of    the    database    components.
HOB
Hand-off    blocks    are    key    architectural    mechanisms    that    are    used    to    hand    off    system
information    in    the    early    pre-boot    stages.
IFR
Internal    Forms    Representation.    This    is    the    binary    encoding    that    is    used    for    the
representation    of    user    interface    pages.

BDS
Framework    Boot    Device    Selection    phase.

DEC
EDK    II    meta-data    package    declaration    file.    This    file    declares    all    public    elements    of    a
package    containing    similar    content.
DEPEX
Module    dependency    expressions    that    describe    runtime    process    restrictions.

DSC
EDK    II    meta-data    platform    description    file.    This    file    describes    what    gets    built    and    makes
statements    that    affect    how    it    is    built.
DXE
Framework    Driver    Execution    Environment    phase.

INF

EDK    II    Module    Information    File.    This    file    describes    how    the    module    is    coded.    For    EDK,    this
file    describes    how    the    component    or    library    is    coded    as    well    as    providing    some    basic    build
information.
Source    INF    -    An    EDK    II    Module    Information    file    that    contains    content    in    a    [Sources]
section    and    it    does    not    contain    a    [Binaries]    section.    If    the    [Binaries]    section    is    empty    or
the    only    entries    in    the    [Binaries]    section    are    of    type    DISPOSABLE,    then    the    [Binaries]
section    is    ignored.
Binary    INF    -    An    EDK    II    Module    Information    file    that    has    a    [Binaries]    section    and    does
not    contain    a    [Sources]    section    or    the    [Sources]    section    is    empty.
Mixed    INF    -    An    EDK    II    Module    Information    file    that    contains    content    in    both    [Sources]
and    [Binaries]    sections    and    there    are    entries    in    the    [Binaries]    section    are    not    of    type
DISPOSABLE
AsBuilt    INF    -    An    EDK    II    Module    Information    file    generated    by    the    EDK    II    build    system
when    building    source    content    (listed    in    a    [Sources]    section).

Library    Class
A    library    class    defines    the    API    or    interface    set    for    a    library.    The    consumer    of    the    library    is
coded    to    the    library    class    definition.    Library    classes    are    defined    via    a    library    class    .h    file    that
is    published    by    a    package.

Module
A    module    is    either    an    executable    image    or    a    library    instance.    For    a    list    of    module    types
supported    by    this    package,    see    module    type.
Module    Type
All    libraries    and    components    belong    to    one    of    the    following    module    types:         BASE     ,         SEC     ,
    PEI_CORE     ,         PEIM     ,         SMM_CORE     ,         DXE_CORE     ,         DXE_DRIVER     ,         DXE_RUNTIME_DRIVER     ,
    DXE_SMM_DRIVER     ,         DXE_SAL_DRIVER     ,         UEFI_DRIVER     ,    or         UEFI_APPLICATION     .    These    definitions
provide    a    framework    that    is    consistent    with    a    similar    set    of    requirements.    A    module    that    is    of
module    type    BASE,    depends    only    on    headers    and    libraries    provided    in    the    MDE,    while    a
module    that    is    of    module    type    DXE_DRIVER    depends    on    common    DXE    components.    For    a
definition    of    the    various    module    types,    see    module    type.    The    EDK    II    build    system    also
permits    modules    of    type    USER_DEFINED.    These    modules    will    not    be    processed    by    the    EDK
II    Build    system.

PCD
Platform    Configuration    Database.

PEI
Pre-EFI    Initialization    Phase.
PEIM
An    API    named    by    a    GUID.
PPI
A    PEIM-to-PEIM    Interface    that    is    named    by    a    GUID.

SAL
System    Abstraction    Layer.    A    firmware    interface    specification    used    on    Intel(R)    Itanium(R)
Processor    based    systems.

SKU
Stock    Keeping    Unit.

SMM
System    Management    Mode.    A    generic    term    for    the    execution    mode    entered    when    a    CPU
detects    an    SMI.    The    firmware,    in    response    to    the    interrupt    type,    will    gain    control    in    physical
mode.    For    this    document,    "SMM"    describes    the    operational    regime    for    IA32    and    x64
processors    that    share    the    OS-transparent    characteristics.

UEFI    Application
An    application    that    follows    the    UEFI    specification.    The    only    difference    between    a    UEFI
application    and    a    UEFI    driver    is    that    an    application    is    unloaded    from    memory    when    it    exits
regardless    of    return    status,    while    a    driver    that    returns    a    successful    return    status    is    not
unloaded    when    its    entry    point    exits.

 

fdf文件:

The    FDF    file    is    used    to    describe    the    content    and    layout    of    binary    images.    Binary    images
described    in    this    file    may    be    any    combination    of    boot    images,    capsule    images    or    PCI
Options    ROMs


 

 


 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章