驱动程序功能清单

驱动程序功能清单定义要包含在映像中的驱动程序的位置。 与其他功能清单一样,驱动程序功能清单需要包含在映像的 OEMInput.xml 文件的 <AdditionalFMs> 元素中,以便让该驱动程序功能清单中定义的这些驱动程序包含在某个映像中。

对于你的第一个映像,可以使用 CreateWSKDriversFMUpdateWSKDriversFM将所有驱动程序一次添加到你的映像

驱动程序功能清单示例

<?xml version="1.0" encoding="utf-8"?>
<FeatureManifest 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
  xmlns="http://schemas.microsoft.com/embedded/2004/10/ImageUpdate" Revision="1" SchemaVersion="1.2">
  <Drivers>
    <BaseDriverPackages>
      <DriverPackageFile Path="%WSKWorkspaceRoot%\DCHUDrivers\" Name="always.inf" />
    </BaseDriverPackages>
    <DriverFeatures>
      <DriverPackageFile Path="%WSKWorkspaceRoot%\DCHUDrivers\" Name="optional.inf">
        <FeatureID>OPTIONAL_DRIVER</FeatureID>
        <!-- This FeatureID must be referenced in the OEMInput file to be included in the image. -->
      </DriverPackageFile>
    </DriverFeatures>
  </Drivers>
</FeatureManifest>

可选的驱动程序

Windows 系统工具包中的脚本会配置驱动程序功能清单中的每个驱动程序,以便让它们包含在某个映像中。 你可以修改驱动程序功能清单,让有些驱动程序必须专门添加到 OEMInput.xml,以便包含在映像中。

每个驱动程序功能清单都包含 BaseDriverPackages 部分,这个部分会定义将要包含在所有映像中的驱动程序,还有一个 DriverFeatures 部分,这个部分定义了需要通过将驱动程序的功能 ID 添加到 OEMInput.xml 来以手动方式包含在映像中的驱动程序。

如果对多个映像使用某一个附件集,那么,通过将驱动程序功能清单配置为包含可选的驱动程序,你就可以选择要包括在特定映像配置中的驱动程序。 此方案中的驱动程序功能清单可以包含附件集中所有的驱动程序,而同时还指定:

  • 要包含在所有映像中的基本驱动程序集
  • 一组可选的驱动程序,可以手动将它们添加到特定的 OEMInput.xml 文件

标记为可选的驱动程序不会包含在任何映像中,除非在映像设计中专门包含它们。 这样,你就可以针对多个映像重复使用驱动程序功能清单。

使用可选的驱动程序

在设计包含不同驱动程序集的映像集合时,可以将逻辑添加到功能清单中,以使某个驱动程序成为可选状态,然后,可通过将它添加到映像配置文件 (OEMInput) 来包含它。

在默认情况下,所有在此列出的驱动程序都会包含在所有映像中。

若要将某个驱动程序指定为可选,请执行以下操作:

  1. 选择要使其成为可选状态的驱动程序:

    <BaseDriverPackages>
      <DriverPackageFile Path="%WSKWorkspaceRoot%\DCHUDrivers\" Name="optional.inf" />
    </BaseDriverPackages>
    
  2. 在驱动程序功能清单中,将该驱动程序从 BaseDriverPackages 元素移动到 DriverFeatures 部分。 当驱动程序位于 DriverFeatures 元素中时,则不会再自动包含它。

     <DriverFeatures>
      <DriverPackageFile Path="%WSKWorkspaceRoot%\DCHUDrivers\" Name="optional.inf">
      </DriverPackageFile>
    </DriverFeatures>
    
  3. 将 FeatureID 分配到可选的驱动程序。 你分配的 FeatureID 可以添加到 OEMInput.xml 中,以便将该驱动程序添加到映像:

     <DriverFeatures>
      <DriverPackageFile Path="%WSKWorkspaceRoot%\DCHUDrivers\" Name="optional.inf">
        <FeatureID>OPTIONAL_DRIVER</FeatureID>
        <!-- This FeatureID must be referenced in the OEMInput file to be included in the image. -->
      </DriverPackageFile>
    </DriverFeatures>
    
  4. 按如下所示,通过更新 OEMInput.xml,将 FeatureID 添加到集合中的单个映像:

<Features> 
  ...
  <OEM> 
    <Feature>OPTIONAL_DRIVER</Feature> 
  </OEM>
</Features>