Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
download [2015/09/10 21:05]
robinsmidsrod
download [2017/08/02 15:53]
mcb30
Line 19: Line 19:
  
   * gcc (version 3 or later)   * gcc (version 3 or later)
-  * binutils (version 2.16 or later)+  * binutils (version 2.18 or later)
   * make   * make
   * perl   * perl
-  * syslinux (for isolinux, only needed for building .iso images) 
   * liblzma or xz header files   * liblzma or xz header files
-  * zlib, binutils and libiberty header files (only needed for EFI builds)+  * mtools 
 +  * mkisofs ​(needed ​only for building .iso images) 
 +  * syslinux (for isolinux, ​needed ​only for building .iso images)
  
 ===== Choosing what to build ===== ===== Choosing what to build =====
Line 127: Line 128:
 Not all network cards will support a ''​.mrom''​ image. ​ To support a ''​.mrom''​ image, a network card must have at least one PCI memory BAR that is at least as large as its expansion ROM BAR.  For example, if the network card has a 128kB expansion ROM BAR and a 256kB memory BAR, then it will be able to support a ''​.mrom''​ image up to 128kB in size. Not all network cards will support a ''​.mrom''​ image. ​ To support a ''​.mrom''​ image, a network card must have at least one PCI memory BAR that is at least as large as its expansion ROM BAR.  For example, if the network card has a 128kB expansion ROM BAR and a 256kB memory BAR, then it will be able to support a ''​.mrom''​ image up to 128kB in size.
  
-==== EFI ====+==== UEFI ====
  
-iPXE supports ​the EFI and UEFI environments,​ as well as the standard PC BIOS.  You can build an EFI driver ​ROM using the ''​.efirom''​ image format. ​ For example:+iPXE supports ​both UEFI and BIOS platforms.  You can build a UEFI ROM using the ''​.efirom''​ image format. ​ For example:
  
-    ​make bin-i386-efi/​808610de.efirom ​    # 32-bit driver ROM +    make bin-x86_64-efi/​808610de.efirom
-    ​make bin-x86_64-efi/​808610de.efirom ​  # 64-bit driver ROM+
  
-It is also possible to build a generic EFI binary you can start from the UEFI shell or firmwareFor example:+where **808610de** ​is constructed ​from the network card's PCI vendor and device IDs.
  
-    make bin-x86_64-efi/​ipxe.efi    # 64-bit EFI binary (try this first) +You can also build a ''​.efi'' executable which you can [[:howto:chainloading|chainload]] from an existing UEFI ROM (or run directly from the UEFI shell):
-    make bin-x86_64-efi/​snponly.efi # 64-bit EFI binary (SNP/NII driver only) +
-    make bin-i386-efi/​ipxe.efi ​     # 32-bit EFI binary (only used on older Apple machines) +
- +
-In most situations you'd want the 64-bit ipxe.efi that includes iPXE-provided native drivers. If your network adapter is not supported by iPXE directly, ​you can still use the SNP/NII driver using [[:howto/chainloading|chainloading]]. The DHCP/TFTP setup is the same as you use for legacy BIOS environments,​ but you use ''​ipxe.efi/​snponly.efi''​ instead of ''​ipxe.pxe/​undionly.kpxe''​. See the [[:examples|example section]] for more help.+
  
 +    make bin-x86_64-efi/​ipxe.efi
  
download.txt · Last modified: 2022/02/17 12:28 by mcb30
Recent changes RSS feed CC Attribution-Share Alike 4.0 International Driven by DokuWiki
All uses of this content must include an attribution to the iPXE project and the URL https://ipxe.org
References to "iPXE" may not be altered or removed.