uuid
iPXE> show uuid smbios/uuid:uuid = 86a9f546-d31b-4ba2-9bbb-303b61bcf8d1
iPXE> chain http://boot.ipxe.org/demo/boot.php?uuid=${uuid}
Contains the system UUID, which should be a globally unique and permanent identifier for the system. The system UUID is read from the SMBIOS information.
iPXE will normally send the system UUID as part of option 97 in all DHCP requests. If you need to prevent this, you can override the system UUID with an invalid value. For example:
iPXE> set uuid:string INVALID iPXE> dhcp # Option 97 will not be present in the DHCP request
SMBIOS versions 2.6 and newer store the UUID in a partially byte-swapped format. iPXE will handle the byte swapping automatically. You can get the raw unswapped bytes using the hexraw setting type. For example:
iPXE> show uuid smbios/uuid:uuid = b78bca22-4ea4-4d0c-9efd-e3c9a210ac79 iPXE> show uuid:hexraw smbios/uuid:hexraw = 22ca8bb7a44e0c4d9efde3c9a210ac79
If you need to check whether or not your system has a byte-swapped UUID, you can test this using a script fragment such as:
set uuidcheck:uuid ${uuid:hexraw}
iseq ${uuidcheck} ${uuid} || echo SMBIOS is version 2.6 or higher