[syslinux] Help with PXE "Out of Memory" error?

Locane locane at gmail.com
Tue Oct 3 11:24:12 PDT 2017


Gene; you are a linux GOD.  This has been a problem plaguing 2 dozen people
for months - you have just saved so much heartache, time, effort, and
frustration - you have no idea!

Please, for the love of all that is holy; tell me where I can read about
the interaction of the COM32 option and this edit you've suggested here?
The general syslinux wiki has a LOT of data; if you could give me some
clues on where to learn about the loading process at PXE and the internals
that are going on here I would appreciate it so much.

My previous understanding of the load process was:

   1. DHCP tells IP-requesting system where PXE server is
   2. Requesting system asks PXE server for menu.c32 kernel and downloads it
   3. On requesting system, menu.c32 asks PXE server for menu, downloads
   it, displays it
   4. An option is selected; menu.c32 downloads the "vmlinuz" kernel
   specified in the option, stores it in memory
   5. Menu.c32 downloads the initrd specified in the option, stores it in
   memory
   6. Menu.c32 loads the vmlinuz in to memory (by executing it?  Moving the
   CPU instruction pointer to the location it put it? Or something)
   7. Vmlinuz begins unpacking the initrd and loading it in to memory

I didn't think there was room for another .32 file in this process; so I'm
perplexed at the addition of the "COM32" PXE menu option.

Thank you so much for replying; I'm just sad I didn't ask months ago when I
was trying to solve this.  There were guys at Intel working on this for
weeks and just had nothing to offer.

On Tue, Oct 3, 2017 at 3:30 AM, Gene Cumm <gene.cumm at gmail.com> wrote:

> On Sun, Oct 1, 2017 at 8:00 PM, Locane via Syslinux <syslinux at zytor.com>
> wrote:
> > Hello all!  I have a server at work that we're using for PXE OS
> > installation and LiveCD loading.  It's based on CentOS 7.3, and CentOS
> > comes with Syslinux version 4.05.
>
> Thanks for noting the version.  Are they the binaries from CentOS?
>
> > We've been having this issue, very rarely, with some systems that refuse
> to
> > load a LiveCD from the menu, claiming they're "out of memory" when we
> know
> > that is absolutely not the case; there's plenty of RAM.  This video
> > <https://www.youtube.com/watch?v=y-rfNxA4VH0&feature=youtu.be> is of a
> > Supermicro H11DSU-iN motherboard throwing the error on LiveCD load.
>
> It's partially true.  It's out of memory in the spot it attempted to
> load the files.  Are your logs verbose enough to see how much data of
> the initrd is actually transferred?  If not, have you attempted a
> packet capture to see how much is moved?
>
> > To be clear, we've had literally thousands of diverse other systems and
> > servers run this LiveCD menu option with no issues; it's just this
> > motherboard and weirdly, any Celeron-based Intel NUCs - the NUC6CAYH.
>
> It's all about how the underlying firmware sets things up.
>
> > If no one has any ideas on why this might be happening, is there a guide
> or
> > tutorial on how to set up a newer version of the Syslinux PXE files under
> > CentOS 7.3?  I've been taking stabs at it by just replacing the 3 files
> > documented in the Syslinux PXELINUX wiki page
> > <http://www.syslinux.org/wiki/index.php?title=Install#PXELINUX>, but
> it's
> > behaving weirdly and, frankly, I'm kinda just taking stumbling around in
> > the dark here.
> >
> > Would appreciate some expert advice.
>
> meminfo.c32 should give more insight.
>
> linux.c32, although a lot less verbose during the loading of files,
> should be more intelligent in how it attempts to load files into
> memory.
>
> LABEL livecd
>   MENU LABEL LiveCD_Unstable
>   LINUX /images/LiveCD_Unstable/unstable_vmlinuz
>   APPEND initrd=/images/LiveCD_Unstable/unstable_initrd.img
> my-options-here
>
> LABEL livecd1
>   MENU LABEL LiveCD_Unstable1
>   COM32 linux.c32
>   APPEND /images/LiveCD_Unstable/unstable_vmlinuz
> initrd=/images/LiveCD_Unstable/unstable_initrd.img my-options-here
>
> --
> -Gene
>


More information about the Syslinux mailing list