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. 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. 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. 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.
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
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 >
Gene, I'm lurking on this issue. Just in general it's fascinating because I basically use syslinux in a monkey-see-monkey do manner. Can you explain why you used the menu entries that way? What they actually do? You mentioned logging... How is the enabled/configured? Inquiring minds want to know and links to docs will do :) On 10/03/2017 03:30 AM, Gene Cumm via Syslinux 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 >