Hi all, I'm attempting to PXE boot ESXi, which uses the syslinux mboot.c32 module. The mboot.c32 included with ESXi seems to be an older version that runs into an "out of memory loading.." problem halfway through, even though the box has 8GB memory. This may be related to NUMA, since it works fine on an older box but not the newer blade. I saw that some non-contiguous memory issues have been fixed in newer versions of syslinux and tried replacing the mboot.c32 with the 3.82 release, but now it seems to hang forever when loading a .tgz file. Does mboot.c32 support tgz out of the box, or is this something VMware added in for ESXi? Do I need to recompile mboot or otherwise do something special to enable it? Is there a workaround for the previous memory issue? Thanks, Tim Hansen timbonicus.hansen at hp.com
Hansen, Timbonicus wrote:> Hi all, > > I'm attempting to PXE boot ESXi, which uses the syslinux mboot.c32 module. The mboot.c32 included with ESXi seems to be an older version that runs into an "out of memory loading.." problem halfway through, even though the box has 8GB memory. This may be related to NUMA, since it works fine on an older box but not the newer blade. I saw that some non-contiguous memory issues have been fixed in newer versions of syslinux and tried replacing the mboot.c32 with the 3.82 release, but now it seems to hang forever when loading a .tgz file. > > Does mboot.c32 support tgz out of the box, or is this something VMware added in for ESXi? Do I need to recompile mboot or otherwise do something special to enable it? Is there a workaround for the previous memory issue? >You can't just replace a .c32 file without replacing the core. As far as .tgz is concerned, it would depend on what exactly VMware is expecting to be done with the .tgz file. Since the Multiboot spec explicitly defers to the Grub implementation (not even saying which version...), mboot.c32 mimics Grub behavior and will decompress a compressed file, but it doesn't do anything special with the resulting tarball. As far as if VMware modified anything in ESXi, you'd have to ask VMware. Note that the old mboot.c32 was GPL, and so they should have to release sources; the new mboot.c32 is MIT. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
On Tue, Jul 21, 2009 at 12:25 PM, Hansen, Timbonicus<timbonicus.hansen at hp.com> wrote:> Hi all, > > I'm attempting to PXE boot ESXi, which uses the syslinux mboot.c32 module. The mboot.c32 included with ESXi seems to be an older version that runs into an "out of memory loading.." problem halfway through, even though the box has 8GB memory. This may be related to NUMA, since it works fine on an older box but not the newer blade. I saw that some non-contiguous memory issues have been fixed in newer versions of syslinux and tried replacing the mboot.c32 with the 3.82 release, but now it seems to hang forever when loading a .tgz file. >Which version of ESXi? Are you using the current version for the hardware you have? If your server meets the x64 requirements that VMware laid down for ESXi 4.0, you should use 4.0. Otherwise, 3.5.0u5. I believe there are a few first-generation x64 processors that don't meet the requirements. These updated versions resolve your issue. ESXi 3.5.0u4 introduced PXE booting as an experimental feature. See http://kb.vmware.com/kb/1008971 for details on this. See also http://kb.vmware.com/kb/1009034 for file extraction (You've probably already stumbled on this or similar docs). In ESXi 4.0, it is still (unfortunately) experimental. See http://www.vmware.com/pdf/vsp_4_pxe_boot_esxi.pdf for information. This may be a less-known and almost private PDF as searching in Google for a link shows only a link from vsphere-land.com. One can only hope they find a nice solution soon as this would be a nice feature. All it should need (down the road; don't know if they're doing this) are the boot files and either to know where the vCenter server is for configuration or a small config file.> Does mboot.c32 support tgz out of the box, or is this something VMware added in for ESXi? Do I need to recompile mboot or otherwise do something special to enable it? Is there a workaround for the previous memory issue? > > Thanks, > > Tim Hansen > timbonicus.hansen at hp.com-- -Gene "No one ever says, 'I can't read that ASCII E-mail you sent me.'"