[syslinux] VMware with UEFI fails to boot

Gene Cumm gene.cumm at gmail.com
Sun Feb 2 12:22:12 PST 2014


On Sun, Feb 2, 2014 at 1:53 PM, Conrad Kostecki <ck at conrad-kostecki.de> wrote:
> On Sun, Feb 2, 2014 at 12:34 PM, Conrad Kostecki <ck at conrad-kostecki.de> wrote:

Gene wrote:
>>> Yes however I have no clue on the reliability of your system for building Syslinux.  I can provide some test binaries if you would like.


>> That would be a good idea!
>> I've also now installed Debian 7 32-Bit in VMware and compiled syslinux. But it's still not working for me with UEFI. You said, that Debian stable x86 worked for you.
>> So some test binaries would be a good idea.

Gene wrote:
>> Odd.  I do have security/wheezy/updates, wheezy-updates, wheezy-backports, and wheezy-proposed-updates as repos but I thought gnu-efi was the sole item I grabbed from the more current repos outside updates (but should now unnecessary).
>
>> https://sites.google.com/site/genecsyslinux/sl603p1g3.tgz?attredirects=0&d=1
>> should at least get you so you can see it booting.

> Well, it seems, there is a problem with my setup or vmware. I've downloaded your binaries and installed them.
>
> ldlinux.e64 is under /syslinux/ldlinux.e64. According my logfile, it is searching for it and finally finds it, but is unable to receive it completely?
> Feb 02 19:41:17 [dnsmasq-tftp] Datei /var/lib/tftp/boot/ldlinux.e64 nicht gefunden
>                 - Last output repeated twice -
> Feb 02 19:41:17 [dnsmasq-tftp] Datei /var/lib/tftp/boot/boot/isolinux/ldlinux.e64 nicht gefunden
> Feb 02 19:41:17 [dnsmasq-tftp] Datei /var/lib/tftp/boot/isolinux/ldlinux.e64 nicht gefunden
> Feb 02 19:41:17 [dnsmasq-tftp] Datei /var/lib/tftp/boot/boot/syslinux/ldlinux.e64 nicht gefunden
> Feb 02 19:41:17 [dnsmasq-tftp] Datei /var/lib/tftp/boot/syslinuxldlinux.e64 nicht gefunden
> Feb 02 19:41:18 [dnsmasq-tftp] /var/lib/tftp/boot/syslinux/ldlinux.e64 an 192.168.23.25 verschickt
> Feb 02 19:41:18 [dnsmasq-tftp] Fehler 0 No error, file close von 192.168.23.25 empfangen
> Feb 02 19:41:18 [dnsmasq-tftp] konnte /var/lib/tftp/boot/syslinux/ldlinux.e64 nicht an 192.168.23.25 senden

I presume syslinux.efi lives in /var/lib/tftp/boot, likely as bootx64.efi?

Also, looks like a relatively minor bug in the fail-back code or a
paste error: "/var/lib/tftp/boot/syslinuxldlinux.e64"

> When I put it to / directly of tftp-root, it works! So, why its there working? IMHO that should also work, when I put those files to /syslinux.

syslinux.efi and ldlinux.e64 should be in the same directory just like
pxelinux.0 and ldlinux.c32 should but your log does look peculiar and
I would have expected success.  I'll try pcap'ing the fallback to see
if I see the same (bad filename and retrieval issue).

> I've also another question, how do I handle now BIOS and UEFI together? UEFI uses some files with the same name as for BIOS (libcom32.c32, libutil.c32).

Different directory.  There are also several strategies to reuse
files.  I put EFI-64 into <tftp-root>/e6/, create symlinks on my
systems to lead to the same files and only use relative paths in my
config files.

Another strategy is to set DHCP option 209 to target an
architecture-specific file that includes a path statement (ie "PATH
bios" for BIOS, "PATH efi32" FOR EFI32, "PATH efi64" FOR EFI64) then
1+ INCLUDEs and put COM32s (including lib .c32 files) in the per-arch
folder.

-- 
-Gene


More information about the Syslinux mailing list