Bootfiles are defined in [bootfile_<bootfile_name>] sections. “<bootfile>” is an arbitrarily chosen identifier like efi32, bios or efi64. Each bootfile can be restricted to an architecture and/or an user class which is sent by the PXE client.

The bootfile URL in a format like <protocol>://[<adress>]/<file>. The possible protocols are dependent on the PXE client, TFTP should be supported by almost every client.

bootfile_url = tftp://[fd00::1]/pxe.efi

Optionally restrict the bootfile to a specific CPU architecture. If the client doesn’t match the requirement, the next bootfile assigned to the class definition is chosen or no bootfile is provided, if there are no further alternatives.

Either the integer identifier for an architecture is possible (e.g. 0009 for EFI x86-64). The integer must consists of four numeric digits, empty digits must be written as zero (e.g. 9 => 0009). For a full list of possible integer identifier see Alternatively the well-known names of registered CPU architectures defined in RF4578 can be used:

  • Intel x86PC
  • NEC/PC98
  • EFI Itanium
  • DEC Alpha
  • Arc x86
  • Intel Lean Client
  • EFI IA32
  • EFI BC
  • EFI Xscale
  • EFI x86-64

Looks like example:

client_architecture = Intel x86PC

Optionally restrict this bootfile to PXE clients sending this user class. It is matched against the value of the client with simple comparison (no regular expression):

user_class = iPXE

This restricts the bootfile to the iPXE boot firmware.