9.6 Generate Module Images

The final images generated by building a module are files which can be recognized by EFI/Framework protocols. The types of those files supported by default are EFI executable image file (.efi), ACPI machine language file (.aml), ACPI table file (.acpi), real mode executable file (.com) and microcode binary file (.bin).

The .efi file will be generated for non-library modules which have C files declared. It's converted from .dll file created during the dynamic link step by the GenFw tool. Also:

  • The .aml file is generated from .asl file in Compile/Assembly step.
  • The .acpi file is converted from .dll file by the GenFw tool.
  • The .com file is generated in the Dynamic Link step by real mode linker (ASMLINK).
  • The .bin file is converted from .txt file by the GenFw tool.

9.6.1 GenFw

This tool is used to generate UEFI Firmware Image files based on Component or Module types listed in the INF files from the PE/PE32+/COFF images generated by the third party tool chains. This takes .dll files created during the compile portion of the $(MAKE) stage, converting the header and creating the .efi files. Additional functions of the GenFw tool are discussed in Post-Build ImageGen Stage - FLASH Images, Section 10.