[syslinux] PXE Booting EFI

Gene Cumm gene.cumm at gmail.com
Sat Jan 10 06:38:24 PST 2015


On Sat, Jan 10, 2015 at 5:44 AM, Patrick Masotta <masottaus at yahoo.com> wrote:
>> I use Syslinux 6.03 EFI64 on a VMware Workstation 10 VM on
>> 10.0.2 on Linux.
>>
> w/o any problem?

Yes.

> Me too, I just send the ""corresponding"" syslinux.efi

>> Are they actually transferring the syslinux.efi files?
>
> sure
>
>> What values are present in DHCP options 60 and 93?  I've found
>> feeding EFI32 binaries to my VMs results in hangs/failures.
>
> This is perfect, both option provide the right info. if I replace
> syslinux.efi with MS bootmgfw.efi then the Microsoft boot manager
> perfectly boots it retrieves the BCD etc. etc that tells me
> it is not a VMware problem.

First, I was looking for the actual values.  For a VM with (among other values):

config.version = "8"
virtualHW.version = "10"
ethernet0.virtualDev = "e1000"
guestOS = "rhel6-64"
firmware = "efi"

I see:

option-93 = 0x07
option-60 = "PXEClient:Arch:00007:UNDI:003016"

and present it efi64/efi/syslinux.efi and it boots.  I also only have
1 NIC in this VM.  This level of detail is what it takes for someone
else to reproduce your issue.

Second, don't eliminate but merely discount the probability a
"working" system as the source of the issue.  I've seen people try to
use "perfectly working" desktops/laptops with VMware
Player/Workstation and ESXi only to see the system fail miserably due
to extremely minor hardware faults.

>  >> any idea?
>
>> 6.03 as in the precompiled binaries.
> That's what I use
>>I've successfully built EFI binaries on Debian 7 and built failing
>>EFI binaries on Ubuntu 12.04 (I suspect due to gcc 4.7 versus 4.6).
>>
> I also built EFI binaries with Ubuntu 14.04 (gcc 4.6.3) and failing "exactly in the same way"...
> Then the only way to build syslinux is using gcc 4.7 with debian 7?

No, I'm stating that binaries built with gcc-4.6 will likely fail and
that gcc-4.7+ is likely needed.  One example of a system is a build VM
I have with Debian-7 that I use to build some of my test binaries.

>  > Is there some setting in the VMWare products to
>  configure which exact
>  > type of firmware (BIOS / EFI IA32 / EFI x64) is being
>  used/expected by
>  > the VM?
>
>  And how are you switching between EFI IA32 and EFI x64?

> Bios vs EFI is done adding a switch to the VM conf file
> EFI IA32 v EFI x64 is automatically set by VMware considering the VM's target OS architecture

Thanks for the info!  The VMX guestOS setting is really a hint to the
platform indicating what you expect to use (hence the term "guestOS
hint").

>  > A packet capture might be helpful.

> You will only see how a perfect TFTP transfer delivers syslinux.efi. That's it.

>  > I assume we are talking about Syslinux 6.03 official
>  upstream binary
>  > files, downloaded from kernel.org (as oppose to some
>  package or
>  > rebuild).

> 6.03 official binaries...

As in extract binary/source archive and copy (without running make)?
OK, that's good.

-- 
-Gene


More information about the Syslinux mailing list