[syslinux] PXELINUX 6.03 / vesamenu.c32 hang

Jackson, Dan djackson at longroad.ac.uk
Thu Jun 16 04:36:35 PDT 2016


It hangs. Sending Ctrl-Alt-Del has no effect, I have to use the power options to reset the VM (I have no insert key on my keyboard so I have to use the menus to send Ctrl-Alt-Del). I think something actually happens with the underlying VM because it un-captures the mouse and keyboard as well when it hangs, though I don't know how I'd get ESXi to log something like that or where I'd find the log files.

I've tried VM hardware versions 8, 10 and 11, but there was no difference with any of them, I still get the same result. As the same configuration used to work fine under ESXI 5.x I believe it's likely the result of some change that VMWare have made in 6.0.

Dan Jackson (Lead ITServices Technician).


-----Original Message-----
From: Gene Cumm [mailto:gene.cumm at gmail.com]
Sent: 16 June 2016 12:07
To: Jackson, Dan <djackson at longroad.ac.uk>
Cc: syslinux at zytor.com
Subject: Re: [syslinux] PXELINUX 6.03 / vesamenu.c32 hang

On Thu, Jun 16, 2016 at 4:53 AM, Jackson, Dan via Syslinux <syslinux at zytor.com> wrote:
> Just tested with the latest VirtualBox and that works OK, so it's definitely something specific to ESXi 6.0.0 (it worked previously under 5.x ESXi versions).
>
> Thanks,
> Dan Jackson (Lead ITServices Technician).
>
> -----Original Message-----
> From: Syslinux [mailto:syslinux-bounces at zytor.com] On Behalf Of
> Jackson, Dan via Syslinux
> Sent: 16 June 2016 09:27
> To: 'syslinux at zytor.com' <syslinux at zytor.com>
> Subject: Re: [syslinux] PXELINUX 6.03 / vesamenu.c32 hang
>
> I've just tried 4.07 and that has the same results.

Thank you.

> I should note that I appear to be in error about things working OK with menu.c32 as opposed to vesamenu.c32 - I do indeed see the menu (which with vesamenu.c32 it does not get that far), but when I attempt to choose the Windows Deployment Services option, it hangs.

Hang is a little vague.  The question becomes if it does any network activity or is interruptible with Ctrl-Alt-Ins from the keyboard inside the VM (which becomes Ctrl-Alt-Del).  I typically use "stall"
when it appears to do nothing visually, without regards for underlying network/disk activity and "hang" when Ctrl-Alt-Del (in this case as Ctrl-Alt-Ins on the keyboard) does not respond.  There's yet the third case wherein the machine is so busy, it only sometimes processes the Ctrl-Alt-Del (which is even harder to distinguish).

> -----Original Message-----
> From: Jackson, Dan
> Sent: 16 June 2016 09:17
> To: 'syslinux at zytor.com' <syslinux at zytor.com>
> Subject: RE: [syslinux] PXELINUX 6.03 / vesamenu.c32 hang
>
> Hello,
>
> Thanks very much for your suggestions.
>
> I have double checked that all .c32 files are from the same version of syslinux. What I don't know - I only put those .c32 files I have in there on the basis of trial and error - is what .c32 files are actually needed for menu.c32 and/or vesamenu.c32. I thought perhaps there might be a .c32 file missing that I needed to put in there (though previously when that happened, there was an error message saying so).

The safe bet is putting ALL library COM32 modules in
(bios/com32/*/lib*.c32) however someone was nice enough to build a list at http://www.syslinux.org/wiki/index.php?title=Library_modules#Syslinux_modules_working_dependencies

> I have tried 6.04-pre1, same result.
>
> I have tried your simplified configuration file, same result.

Excellent testing.  Thank you.

> Basically it hangs right after printing "PXELINUX 6.04 PXE 6.04-pre1 Copyright (C) 1994-2015 H. Peter Anvin et al". This is on the free ESXi 6.0.0.

The license of the host has no relevance in this situation.

> I tried different VM hardware versions but this did not produce a different result.

Which ones?  I typically use VMHWv8 for BIOS and VMHWv10 for EFI.
VMHWv8 has the most management compatibility while VMHWv10 resolves a bunch of EFI-specific quirks/bugs.

> I haven't tried 4.07 yet, I'll try that.
>
> Thanks,
> Dan Jackson (Lead ITServices Technician).
>
> -----Original Message-----
> From: Syslinux [mailto:syslinux-bounces at zytor.com] On Behalf Of Ady
> via Syslinux
> Sent: 15 June 2016 18:02
> To: syslinux at zytor.com
> Subject: Re: [syslinux] PXELINUX 6.03 / vesamenu.c32 hang
>
>
>> Hello,
>>
>> I'm experiencing an issue where if I use vesamenu.c32 with PXELINUX 6.03 when network booting a virtual machine hosted on VMware ESXi 6.0, it hangs (the version message is printed and then nothing - the VM has to be powered off and back on again).

So Ctrl-Alt-Ins on the keyboard or using the menu "Send Ctrl-Alt-Del"
options do nothing?  Good to note.

>> This happens no matter if I choose the E1000 network interface or the VMXNET3 network interface when creating the VM.

Again, nice testing.

>> The same problem does not happen if I change the configuration to use menu.c32 instead of vesamenu.c32.
>
> One possibility: double check that all your c32 modules are originated from the same package / version / build.
>
> Mixing versions (sometimes inadvertently) of Syslinux-related files is one source of strange behaviors. Since vesamenu.c32 has more c32 dependencies (lib*.c32) than menu.c32, I would suggest this double check as first step. Please check that you are using the c32 modules for the adequate platform (BIOS / EFI32 / EFI64).
>
> It is also possible that ESXi is having some problem / conflict / incompatibility with the graphics mode of vesamenu.c32. This happens to be also the case with some UEFI implementations.
>
> I seem to remember that VMWare has some customizations in their own c32 modules. This is another type of "mix" that is unsupported, because the customizations are not public.

Ady, good memory however not relevant since VMware's custom mboot.c32 is used for loading ESXi itself and not used in this scenario.

I do find it unfortunate that they choose to exercise their right under that license to not contribute it back.

>> Both vesamenu.c32 and menu.c32 came from the same zip file as the PXELINUX binary. All PXELINUX related files came from the "bios" area of said zip file, and the VM is also set to use BIOS booting rather than EFI (this is because there are many older machines in our organisation which either do not support or are not set up for EFI booting).

EFI is a very different beast and, like a lot of changes, requires planning and testing to understand its limits (or rather, the limits of the EFI implementations on the target machines).

> That relates to part of my above comments. Yet, I would suggest double checking the files against those from the zip under the bios subdirectory tree.
>
>
>> I do not experience this problem when booting a physical machine.
>>
>
> A compatibility issue with ESXi in particular, and/or any of my prior comments, can still be relevant.
>
>
>> Our setup is as follows:
>>
>> PXE server: Windows Server 2008 R2 running Windows Deployment
>> Services DHCP server: not on the same server, WDS is authorised in
>> DHCP PXELINUX version: 6.03 (but it was originally 4.04, I upgraded
>> to see if it was some kind of bug which had been fixed in a later
>> version)
>
> So, is the same exact behavior seen when using Syslinux 4.04? What about 4.07?
>
>
>> PXELINUX files in Boot/x64 and Boot/x86:
>>
>> pxelinux.cfg\default
>> chain.c32
>> ldlinux.c32
>> libcom32.c32
>> libmenu.c32
>> libutil.c32
>> memdisk
>> menu.c32
>> pxelinux.com (renamed from pxelinux.0 as per instructions here
>> http://www.syslinux.org/wiki/index.php?title=WDSLINUX)
>> vesamenu.c32
>>
>> Contents of pxelinux.cfg\default:

Trimming since the simple config demonstrates the issue.

>> Can anyone suggest what might be the problem?
>>
>> Thanks,
>> Dan Jackson (Lead ITServices Technician).
>> Long Road Sixth Form College
>> Cambridge, UK.
>
> I would suggest trying a simplified pxelinux.cfg/default, with at
> least
> 2 entries:
>
> UI vesamenu.c32
> TIMEOUT 300
> LABEL memtest
> KERNEL memtest
> LABEL wds
> KERNEL pxeboot.0
> LABEL Abort
> KERNEL abortpxe.0
> LABEL local
> LOCALBOOT 0
>
>
> Please note that I used a non-pxe first entry (memtest), no passwords, and no non-essential directive at all (not even a background image). I also used the UI directive instead of the DEFAULT one.
>
> We have also seen issues with some screen resolutions, and with using certain types of backgrounds (jpg vs. png).
>
> Testing with 6.04-pre1 might be of interest (although, if the same behavior is seen with 4.04, I would doubt that using 6.04-pre1 would show a different behavior than 6.03 in this case).
>
> Regards,
> Ady.

Excellent test scenario suggestions, Ady.  Thank you.  To make it clearer to read, I generally add some blank lines and indentation but perhaps I'm accustomed to staring at things like a programmer who likes the look of such form.


UI vesamenu.c32
TIMEOUT 300

LABEL memtest
  KERNEL memtest
LABEL wds
  KERNEL pxeboot.0
LABEL Abort
  KERNEL abortpxe.0
LABEL local
  LOCALBOOT 0


--
-Gene

Move On Up to Long Road Sixth Form College

Shortlisted Sixth Form College of the year
TES FE Awards 2016

--

This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual(s) to whom it is addressed.
If you receive this email by mistake please notify the sender and delete it immediately.
This communication represents the originator's personal views and opinions which do not necessarily reflect those of Long Road Sixth Form College.


Disclaimer added by CodeTwo Exchange Rules 2010
http://www.codetwo.com




More information about the Syslinux mailing list