[syslinux] Best way to deal with an idiosyncracy of Intel Boot Agent (IBA)...

Gene Cumm gene.cumm at gmail.com
Tue Mar 18 09:07:25 PDT 2014


On Tue, Mar 18, 2014 at 1:02 AM, Spike White <spikewhitetx at gmail.com> wrote:

> I have a question on how to deal with a quirk of the Intel Boot Agent.
>  Both for PXE boots and for EFI boots.
>
> I've noticed this IBA quirk for years.  According to the "DHCP options"
> RFC, variable length DHCP options are not necessarily null-terminated.

> So if I specify Bootfile name (option 67), frequently that's the last real
> DHCP option.  Thus the next byte is the DHCP "end option" aka 255. The IBA
> code mistakenly parses this as "/boot/efi.x64/syslinux.efi^X",  where ^X
>  is a char with value 0xFF (255).  It requests this filename from the TFTP
> server, which (of course) has no file by that name.

What about specifying a normal NULL (0x0) at the end of the string?

> I understand this Intel NIC idiosyncracy.  I accept this.  I'm sure
> everyone else has seen this too.  My question is -- what is the recommended
> approach to work around this?
>
> 1. Don't pass option 67.  Instead pass the NBP filename "old school".
>  Using the old DHCP "file"  field.
>    PROs:
>         1. Works for Intel NICs.
>         2. "file" field is a null-terminated string (according to RFC 2131).
>    CONs:
>         1. Some other NICs seem to prefer option 67 over "file" field.
>         2. Lame DHCP servers (like old MS ones) set both fields (option 67
> and "file" field) whenever you set either.
>         3. Limited to 64 chars max (including null terminator).

This seems to work best in my experience although I've never seen MS
DHCP use option 67 in a packet (I've only seen MS DHCP since MS
Windows Server 2003).

> 2. Literally embed a null-terminator at the end of option 67.
>    PROs:
>        Works for Intel NICs.
>    CONs:
>         I believe some other NICs don't handle this null terminator right
> (might be mistaken).
>
> 3. Using tftp-hpa's filename remapping to strip off any 0xFF char on end.
>    PROs:
>         Works for all NICs.
>    CONs:
>        Only works if you're using tftp-hpa TFTP server.  Many other PXE
> deployments don't have this filename remapping capability.


-- 
-Gene


More information about the Syslinux mailing list