Bug 21 - efi64 fails to boot kernel with vmware player 5.02
Summary: efi64 fails to boot kernel with vmware player 5.02
Status: CONFIRMED
Alias: None
Product: Syslinux
Classification: Unclassified
Component: pxelinux (show other bugs)
Version: 6.02
Hardware: PC Linux
: High major
Assignee: H. Peter Anvin
URL:
Depends on:
Blocks:
 
Reported: 2013-07-25 07:48 PDT by Matt Fleming
Modified: 2014-10-09 19:31 PDT (History)
4 users (show)

See Also:


Attachments
EFI Test VMware VM (2.16 KB, application/gzip)
2014-10-09 01:13 PDT, Gene C
Details
TFTP Root.txt (2.78 KB, text/plain)
2014-10-09 05:36 PDT, Conrad Kostecki
Details
VMware Logs (54.03 KB, application/octet-stream)
2014-10-09 05:37 PDT, Conrad Kostecki
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Fleming 2013-07-25 07:48:14 PDT
Beginning with version 6.02-pre2, VMWare player 5.02 build 1031769 on Win2k8 R2 64bit can no longer boot Linux kernels. Attempting to boot a kernel results in a crash.

This is likely caused by the kernel loader changes between -pre1 and -pre2 whereby we default to jumping to the 32-bit entry point of the kernel after having transitioned from long mode to 32-bit mode. Previously, the 64-bit entry point was always used.

It has been verified that Syslinux is using the 32-bit entry point.
Comment 1 Gene C 2014-07-27 17:37:08 PDT
Has anyone tested this with recent builds?  I've had no issues on VMware Workstation 10.0.1/10.0.2 (comparable to VMware Player 6.0.1/6.0.2) with recent builds, notably 6.03-pre18.
Comment 2 Conrad Kostecki 2014-10-07 18:27:44 PDT
Hi,
it seems, I am having still problems with VMware Workstation 10.0.3 and SYSLinux 6.03.

"The firmware encountered an unexpected exception. The virtual machine cannot boot".

Screen shows:
Getting cached packed
My IP is xxx.xxx.xxx.xxx

Conrad
Comment 3 Gene C 2014-10-08 00:44:54 PDT
Conrad, I just tested the precompiled binaries and see no issues.  What VMHW version?  Are you using the precompiled version or your own compiled version?  I've seen issues with gcc less than 4.7.
Comment 4 Conrad Kostecki 2014-10-08 06:28:18 PDT
(In reply to comment #3)
> Conrad, I just tested the precompiled binaries and see no issues.  What VMHW
> version?  Are you using the precompiled version or your own compiled
> version?  I've seen issues with gcc less than 4.7.

I am using also the precompiled binaries. My VMHW Version is 10. VMware Workstation 10.0.3 is running under Windows 8.1. So it must be precompiled, as I've only downloaded their *.exe.

Conrad
Comment 5 Conrad Kostecki 2014-10-08 18:50:13 PDT
Maybe I can help somehow with debugging?
Comment 6 Gene C 2014-10-09 01:13:02 PDT
Created attachment 26 [details]
EFI Test VMware VM
Comment 7 Gene C 2014-10-09 01:37:42 PDT
By precompiled, I meant Syslinux binaries as in the precompiled binaries in the source/binary archives available at kernel.org.

I see the fatal UI error.  Did you see any warning about promiscuous mode?  What does the vmware.log show for details about the error?

Let's separate platform from config.  Could you try the VM I attached to the bug?

If it works, how did you make your VM?  What initial guest OS hint?  Any chance I could get a copy of the VM (minus disks, logs and preferably locks)?
Comment 8 Conrad Kostecki 2014-10-09 05:36:01 PDT
(In reply to comment #7)
> By precompiled, I meant Syslinux binaries as in the precompiled binaries in
> the source/binary archives available at kernel.org.

Sorry. I wasn't clear. I also meant, that I am using precompiled syslinux binaries. There are 6.03 final. Downloaded two days ago from kernel ftp.

> I see the fatal UI error.  Did you see any warning about promiscuous mode? 
> What does the vmware.log show for details about the error?

I will attach it.

> Let's separate platform from config.  Could you try the VM I attached to the
> bug?

I don't think, that VMware itself is my problem. Either my DNSMasq config is somehow wrong or I did configure something wrong with my tftp root.

Before the VM crashes, DNSMasq logs:
Oct 09 07:35:35 [dnsmasq-dhcp] DHCPDISCOVER(enp5s0) 00:0c:29:15:38:60
Oct 09 07:35:35 [dnsmasq-dhcp] DHCPOFFER(enp5s0) 192.168.32.42 00:0c:29:15:38:60
Oct 09 07:35:39 [dnsmasq-dhcp] DHCPREQUEST(enp5s0) 192.168.32.42 00:0c:29:15:38:60
Oct 09 07:35:39 [dnsmasq-dhcp] DHCPACK(enp5s0) 192.168.32.42 00:0c:29:15:38:60
Oct 09 07:35:39 [dnsmasq-tftp] Fehler 8 User aborted the transfer von 192.168.32.42 empfangen
Oct 09 07:35:39 [dnsmasq-tftp] konnte /var/lib/tftp/boot/bootx64.efi nicht an 192.168.32.42 senden
Oct 09 07:35:39 [dnsmasq-tftp] /var/lib/tftp/boot/bootx64.efi an 192.168.32.42 verschickt
Oct 09 07:35:39 [dnsmasq-tftp] Datei /var/lib/tftp/boot/ldlinux.e64 nicht gefunden
                - Last output repeated twice -
Oct 09 07:35:39 [dnsmasq-tftp] Datei /var/lib/tftp/boot/boot/isolinux/ldlinux.e64 nicht gefunden
Oct 09 07:35:39 [dnsmasq-tftp] Datei /var/lib/tftp/boot/isolinux/ldlinux.e64 nicht gefunden
Oct 09 07:35:39 [dnsmasq-tftp] Datei /var/lib/tftp/boot/boot/syslinux/ldlinux.e64 nicht gefunden
Oct 09 07:35:39 [dnsmasq-tftp] Datei /var/lib/tftp/boot/syslinuxldlinux.e64 nicht gefunden
Oct 09 07:35:39 [dnsmasq-tftp] /var/lib/tftp/boot/syslinux/ldlinux.e64 an 192.168.32.42 verschickt
Oct 09 07:35:39 [dnsmasq-tftp] Fehler 0 No error, file close von 192.168.32.42 empfangen
Oct 09 07:35:39 [dnsmasq-tftp] konnte /var/lib/tftp/boot/syslinux/ldlinux.e64 nicht an 192.168.32.42 senden

nicht gefunden = not found
fehler = error
empfangen = received
verschickt = sent

I am also attaching a text file, so you can see, how my structure is.

> If it works, how did you make your VM?  What initial guest OS hint?  Any
> chance I could get a copy of the VM (minus disks, logs and preferably locks)?

Sure. I will upload it. But its basically the same, which one you uploaded. It's without any disks configured.
Comment 9 Conrad Kostecki 2014-10-09 05:36:57 PDT
Created attachment 27 [details]
TFTP Root.txt
Comment 10 Conrad Kostecki 2014-10-09 05:37:35 PDT
Created attachment 28 [details]
VMware Logs
Comment 11 Conrad Kostecki 2014-10-09 05:39:33 PDT
Ah, and DNSMasq itself:
# TFTP
enable-tftp
tftp-root=/var/lib/tftp/boot
tftp-secure

# BIOS
dhcp-boot=pxelinux.0

# EFI 32-Bit
dhcp-match=set:efi32,option:client-arch,6
dhcp-boot=tag:efi32,bootia32.efi

# EFI 64-Bit
dhcp-match=set:efi64,option:client-arch,7
dhcp-boot=tag:efi64,bootx64.efi
Comment 12 Gene C 2014-10-09 09:52:13 PDT
Conrad, your setup looks predominantly designed for BIOS.  COM32 modules and library modules, although identically named, come in 3 distinct incompatible architectures.

I'm guessing your config references a .c32 module like say menu.c32 and this is the issue.
Comment 13 Conrad Kostecki 2014-10-09 19:31:14 PDT
(In reply to comment #12)
> Conrad, your setup looks predominantly designed for BIOS.  COM32 modules and
> library modules, although identically named, come in 3 distinct incompatible
> architectures.
> 
> I'm guessing your config references a .c32 module like say menu.c32 and this
> is the issue.

Yeah. You are right. I fixed it now for me. UEFI is booting perfectly fine in VMware now. Thanks!