[syslinux] Syslinux 5.00 released

Matt Fleming matt at console-pimps.org
Thu Dec 6 12:20:57 PST 2012

Hi folks,

Syslinux 5.00 is out in time for the holidays. This release includes a
lot of changes from 4.06. I've included the NEWS entries below, which
highlight the major changes.

Lots of assembly code has been rewritten in C, which makes further
development much easier (and also really helped for the 'firmware'
abstraction that appears in Syslinux-6.00-pre1). So be on the lookout
for regressions in this release when compared with 4.0x, though many
bugs have been hammered out thanks to some excellent testing and
feedback from various people.

The COMBOOT stuff has been removed and now all modules are ELF objects,
which allows us to do some neat things with symbols at runtime and
provides the groundwork for more advanced things in the future.

And we've also now got XFS filesystem support.

Happy hacking.


Changes in 5.00:
        * com32: Switched from the COM32 object format to ELF as it is
          a much more powerful format that allows undefined symbols to
          be resolved at runtime and dynamic loading of module
          dependencies, which means modules now become shared object
          files instead of statically linked binaries - reducing both
          disk space and runtime memory consumption.
        * core: Split non-core functionality into ldlinux.c32, which
          is an ELF module loaded by the core that contains everything
          the core doesn't require to boot the system, e.g. config
          parser, command-line interface, etc.
        * Replaced __intcall() calls with direct function calls now
          that we can resolve undefined symbols at runtime, thanks to
          the ELF object support. Now that we no longer need to go
          through the 16-bit interrupt mechanism we can make full use
          of the 32-bit execution environment. This change required
          reimplementing lots of the 16-bit assembly code from core/
          in C.
        * com32: __com32.cs_bounce is gone now we always run in a
          32-bit environment once we execute ldlinux.c32.
        * ldlinux: A new "PATH" directive was added to the ldlinux.c32
          config parser that specifies a colon-separated list of
          directories to search when attempting to load modules.
        * ALL: Delete all references to/code for 16-bit COMBOOT files.
          COMBOOT files (.cbt and .com) are no longer supported under

Matt Fleming, Intel Open Source Technology Center

More information about the Syslinux mailing list