Changelog
From Syslinux Wiki
Changes in 3.70:
- PXELINUX: Support enhanced capabilities when running on top of gPXE (http://www.etherboot.org/). In particular, support URL-style syntax for filenames, and any protocol that gPXE supports (except, currently, iSCSI and AoE.) This feature is currently highly experimental.
- Substantial infrastructure changes to support files whose length aren't known at open time (typically network connections.) Please note that the semantics of some of the comboot APIs have changed slightly; please see doc/comboot.txt.
- PXELINUX: We no longer require a TFTP server which supports the tsize option for all transfers.
- PXELINUX: Integrate with the gPXE source base; unified image now included as "gpxelinux.0".
- The source tree has been restructured; files that were previously in the root have moved into the core, dos, gpxe, and utils directories.
- "make install", "make netinstall", and "make extbootinstall" have been updated massively. "make install-all" now installs all three.
- Change default dir for auxiliary files from /usr/lib/syslinux to /usr/share/syslinux.
- SYSLINUX: VFAT long filename support.
- MEMDISK: Any image less than 4096K (4 MB) is treated as a floppy disk. The geometry-guessing code will recognize all common extended formats, but it is still possible some very exotic formats need geometry specification. Large floppies and very small harddisks still need explicit specification.
- chain.c32: option "swap" to support swapping of BIOS drive numbers. This is necessary to boot certain operating systems (DOS, Windows) from a secondary drive.
- chain.c32: option "file=" to support loading a boot file from the SYSLINUX filesystem instead of loading the boot sector from the drive.
- chain.c32: option "seg=" to control the load location.
- chain.c32: option "ntldr=" as a shorthand for "seg=0x2000 file="; use this to load one of WinNT's loaders:
chain.c32 hd0 1 ntldr=/MiniNT/setupldr.bin
Note that the file needs to be in the SYSLINUX filesystem.
- chain.32: options "freedos=" and "msdos="/"pcdos=" as shorthands for "seg=0x60 file=" and "seg=0x70 file=" respectively; use this to load FreeDOS's kernel.sys, MS-DOS's io.sys or PC-DOS's ibmbio.sys.
- Change to the A20 algorithm which *MIGHT* help systems that have systems which freeze when Syslinux is used with USB keyboards. Note that this has been hard do verify, so I would greatly appreciate feedback on it.
- Complex menu system: unbreak menus which has unnamed submenus, like complex.c.
- Fix newline on the serial port for some com32 modules.
- chain.c32: support "boot" as the drive specification, indicating the drive from which it was booted (for syslinux/extlinux).
- SYSLINUX/EXTLINUX: support "localboot" with the same feature set as ISOLINUX.
- Add an experimental MBR for GPT partition tables.
- Use $(CC) when determining compile flags.
- chain.c32: fix booting from logical partitions (Sergey Vlasov.)
Changes in 3.63:
- Fix errors in the PCI and DMI detection modules (Erwan Velu, Sebastian Herbszt).
- Fix host dependencies and other issues in the build system.
- PXELINUX: Allow class E addresses as unicast.
- sdi.c32: module to load Microsoft System Deployment Images. For additional information, please see: RAM Boot Using SDI in Windows XP Embedded with Service Pack 1
- EXTLINUX: Correct reading directories with deleted entries.
- Shuffle library: correct the handling of certain geometries (an upward move with source material blocking the move); as required by sdi.c32 but theoretically possible for other formats as well.
- Add "make netinstall" to install /tftpboot.
- Fix some documentation files that didn't get moved/renamed.
Changes in 3.62:
- Clean up garbage after aborted. message.
- Clean up memdump.com filenames.
- Support SHA256 and SHA512 encrypted passwords.
- The shuffle library now can generate chained descriptors, thus allowing pretty much arbitrarily complex memory maps.
- Handle command lines up to 2047 characters, the current Linux kernel limit.
- vesamenu: support systems without linear framebuffer support (sigh, what is this, 1993?) and 15-bit RGB modes.
- Move the label storage (for the command-line interface) to high memory, removing the size limit and freeing up 64K of low memory.
- Get rid of 4096-entry limit in the simple menu system.
- New hierarchial submenu support: see
MENU BEGIN,MENU END,MENU GOTOin <a href="menu.php">doc/menu.txt</a>. - MENU QUIT allows creating a menu entry for returning to the command line.
- ISOLINUX: Work around bug in certain Adaptec BIOSes, patch by Bruce Robson.
- pngtopnm dependency removed from samples/ directory.
- Text documentation files (in doc/) renamed *.doc -> *.txt.
Changes in 3.61:
- EXTLINUX: fix crash when accessing an empty file.
- elf.c32: If a PHDR segment is present, load it.
- Fix SHA-1 and MD5 passwords.
- ISOLINUX: fix booting when mastered without mkisofs -boot-info-table (broken since 3.50, sigh...)
- Handle BIOSes which emit multiple contiguous valid memory regions in the e820 map.
Changes in 3.60:
- Support for "auxilliary data vector", a small amount of writable storage. Currently only supported for EXTLINUX, but the infrastructure is there for the other derivatives, assuming a suitable storage location can be found.
- EXTLINUX: boot-once support (--once, --clear-once, and --reset-adv).
- A command is now required to the EXTLINUX installer, i.e. at least one of --install, --update, --once, --clear-once, or --reset-adv.
Changes in 3.55:
- PXELINUX: as per RFC 5071, PXELINUX no longer requires the use of the magic cookie option (208) for unencapsulated options. Currently it does not require it for vendor-encapsulated options (vendor-option-space) either, but that MAY be reverted in the future if it causes problems.
- Documentation text files moved to a common "doc" directory; man pages from the Debian project added to the "man" directory.
- Correct bug with self-overlapping memory areas when using the shuffle interface.
Changes in 3.54:
- Add "menu separator", "menu indent", "menu disabled" (see README.menu).
- vesamenu: fix handing of VESA modes with noncontiguous memory buffers. In particular, Qemu/KVM sets up such a mode when Cirrus Logic emulation is enabled (which is the default.)
- Support for calling real mode functions using far calls, with argument on the stack. This was implemented to support the BIOS BBS specification, but subsequent experiments show that the at least one of the most common BIOS cores, Award, passes the presence check but doesn't actually implement the functionality.
Changes in 3.53:
- Fix bugs related to the $PnP BIOS functionality on some platforms.
- PXELINUX: Fix the "naked" version of :: (suppress prefix.)
- elf.c32: better error messages.
- Faster operation under Intel VT virtualization.
- PXELINUX: Fix DHCP bootfile option.
- mkdiskimage: Support more than 1024 cylinders.
- (Hopefully) fix installer on non-x86 platforms.
- Fix shuffle_and_boot_rm, used by linux.c32.
- Fix shuffle_and_boot_pm on 386/486.
- ISOLINUX (at least): fix bss memory overwrite hang.
- MBR: Fix booting from logical partitions.
- Code cleanups.
Changes in 3.52:
- Handle capitalized F-key commands in the menu system.
- Fix padding error when loading multiple ramdisks.
- Workaround for VMware crashing when trying to print a message during early kernel boot (does not seem to work, consider deleting.)
- chain.c32: add the ability to search for a specific MBR signature at runtime.
- Fall back to the server identity option if the siaddr field in the DHCP header isn't set. This seems to match the behaviour of most PXE stacks.
- mkdiskimage: give the generated disk image an MBR signature.
- MEMDISK: Fix failures on some BIOSes.
- Simple menu system: new "MENU HIDDEN" option to not display the menu unless the user presses a key.
- Simple menu system: support MD5-encrypted passwords (modern Unix standard style, with "$1$" prefixes.)
- pcitest.c32: now functions as a full "lspci". Thanks to Erwan Velu for this work.
- MEMDISK: Make EDD actually work.
- ISOLINUX: Fix for certain broken CD-ROM BIOSes which randomly corrupted register FS.
- Simple menu system: fix memory overwrite bug that caused some systems to lock up or behave weirdly.
- Fix building on 64-bit systems without a 32-bit libc installed.
Changes in 3.51:
- EXTLINUX: Fix failure to find the configuration file.
Changes in 3.50:
- New keywords allow the type of file to be specified in the configuration file.
- It is now supported to load a different configuration file with the CONFIG keyword.
- Fix API call 0x0019 (Read Disk.)
- MENU AUTOBOOT, MENU TABMSG, MENU PASSPROMPT allows internationalization of menu messages.
- A new feature, TEXT HELP, allows the administrator to set a multi-line help message for individual selections.
- Fix API call 0x0012 (Cleanup, shuffle and boot.)
- New API call "Cleanup, shuffle and boot to flat protected mode"
- New API call "Cleanup, shuffle and boot to real mode", similar to API call 0x0012 but allows arbitrary register setting.
- Introduce a library interface for loading arbitrary binary formats with relatively easily understood code. See the elf.c32 module for an example on how to use it.
- New module elf.c32, to load a protected-mode ELF kernel.
- MBR (old and new): Fix bug in CHS mode when LBA > 65535*sectors.
- vesamenu: fix decoding of palettized PNG images.
- Update the Linux kernel boot protocol.
- PXELINUX: Press Ctrl-N at the boot prompt to read out the network info.
- Instead of the (non-existent) MAC, use the client identifier for networks like Infiniband and Firewire/1394.
- Add a new INCLUDE command to the core syslinux parser.
- Allow binding help text to F11 and F12.
- F-key help now available in the simple menu system.
- Disabled the polling for ARP during idle. It is simply too slow on some (broken!) PXE stacks.
- PXELINUX: also try to fetch the config file based on UUID.
- SYSLINUX/EXTLINUX: New RAID mode (-r) which calls the BIOS to load the next device (typically the next drive) on boot failure.
Changes in 3.36:
- MEMDISK: Disable EDD by default on floppy disks. EDD can be enabled with the "edd" option and disabled with "noedd". This (hopefully) should make Ghost work again.
- SYSLINUX: "unix" installer now uses Linux ioctls instead of using libfat.
- New MBR which can boot from logical partitions.
- SYSLINUX: Fix bug in detecting special extensions which was introduced in 3.35 :(
- PXELINUX: Unbreak chainbooting FreeBSD (and possibly others.)
Changes in 3.35:
- MEMDISK: New "safeint" mode.
- MEMDISK: Be more compliant with the PnP BIOS spec.
- MEMDISK: Turn on EDD support by default.
- MEMDISK: Try to work on some machines on which it would not work when there was no floppy drive in the system.
- Simple menu system: fix serial console support (broken in 3.30).
- SYSLINUX: Support subdirectories. Like ISOLINUX, the "current directory" is the directory in which syslinux.cfg is found; this is searched for in the sequence /boot/syslinux, /syslinux, /. As a side benefit, label names like "linux-2.6.18" and "linux-2.6.19" are now supported.
To install ldlinux.sys in a subdirectory, pass the -d directory option to the SYSLINUX installer.
This work was sponsored by slax.org (thanks, Tomas!) - New API call: read disk.
- Invoke ONERROR on initrd load failure.
Changes in 3.31:
- The simple menu system (menu.c32 and vesamenu.c32) now support loading more than one configuration file at a time, using MENU INCLUDE or by specifying multiple filenames.
- The MENU COLOR statement can now control the shadowing mode.
Changes in 3.30:
- libcom32 extended to support graphics mode and graphical console.
- vesamenu.c32, new graphical version of the Simple Menu System, see README.menu.
- New com32 modules by Erwan Velu do selection based on CPUID or PCI devices present.
- RPM spec: add syslinux-tftpboot module; move syslinux by default to the /usr/share/syslinux directory.
- RPM spec: extlinux is now a separate package.

