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

Ady Ady ady-sf at hotmail.com
Wed Oct 4 13:57:07 PDT 2017


> On Wed, Oct 4, 2017 at 11:10 AM, Ady Ady via Syslinux
> <syslinux at zytor.com> wrote:
> 
> > FWIW, the _need_ to use linux.c32 is becoming more common (in the sense
> > that other loading methods are not always capable of loading
> > newer/current kernels+initrams+additional_files, considering their
> > sizes). Unfortunately, only a minority of users seem to be aware of
> > Syslinux's syntax and modules, while the Syslinux-related packages are,
> > generally speaking and IMO, not reaching the level of
> > maintenance/support that common users seem to expect.
> 
> It should no longer be relevant as of 5.00.  IIRC, as of v5.00, the
> loader code that was in linux.c32 is now the code used in SYSLINUX
> itself and linux.c32 is merely a method to call that core code.
> 
> -- 
> -Gene

 
Yes, but:

A_ Many systems are still using 4.xx, so, for such users, linux.c32 has 
to be explicitly called by the adequate syntax, and such syntax is also 
acceptable in 5.00+. Therefore, explicitly using linux.c32 in the 
configuration file is, at this point, a "more generic" solution; IOW, 
it works for a broader range of readers/users.

B_ Some documents / wiki pages / posts / others (frequently within 
official Linux distribution documentation) recommend using the KERNEL 
directive, for several (valid) reasons, and many distributions use this 
directive in their ISOLINUX.CFG files. This loading method is nowadays 
more prone to fail (considering file sizes, for instance) than when 
using:

B.A_ the LINUX directive
B.B_ the linux.c32 module


When writing a generic comment (as I did), the use of linux.c32 would 
be a potential effective solution for a broader target reader/user.

Reminder: since version 5.00, linux.c32 requires a .c32 library module.

### Troubleshooting KISS cfg, start ###

DEFAULT mylabel
# Note that "mylabel" is a DOS-compatible name
#  (up to 8 printable continuous ASCII characters).

PROMPT 1

# This cfg is for troubleshooting:
#  '*menu.c32' modules are not used;
#  timer directives are not used,
#   but if they are, then use a "reasonable" value;
#  UI directive is not used;
#  additional non-essential directives are not used.

LABEL mylabel
COM32 linux.c32
APPEND mykernel initrd=myinitrd myoptions
# Note that "mykernel" and "myinitrd" are DOS-compatible names
#  (up to 8.3 printable continuous ASCII characters;
#  if using only 8 printable continuous ASCII characters and no dot,
#  even better).

### Troubleshooting KISS cfg, end  ###

IOW, KISS for the common user.

Regards,
Ady.



More information about the Syslinux mailing list