diff options
author | Greg Hartman <ghartman@google.com> | 2016-11-23 15:51:27 -0800 |
---|---|---|
committer | Greg Hartman <ghartman@google.com> | 2016-11-23 15:52:24 -0800 |
commit | 76d05dc695b06c4e987bb8078f78032441e1430c (patch) | |
tree | 7b567ae0c1fde3fd699b8839ca39b54aa1c10046 /NEWS | |
parent | 49db3fec5f3681cf8fafd57c8987fcff2d40bc89 (diff) | |
download | syslinux-76d05dc695b06c4e987bb8078f78032441e1430c.tar.gz |
Clean checkin of the 6.03 codeandroid-wear-o-preview-4android-wear-o-preview-3android-wear-8.1.0_r1android-vts-8.1_r9android-vts-8.1_r8android-vts-8.1_r7android-vts-8.1_r6android-vts-8.1_r5android-vts-8.1_r4android-vts-8.1_r3android-vts-8.1_r14android-vts-8.1_r13android-vts-8.1_r12android-vts-8.1_r11android-vts-8.1_r10android-vts-8.0_r9android-vts-8.0_r8android-vts-8.0_r7android-vts-8.0_r6android-vts-8.0_r2android-vts-8.0_r13android-vts-8.0_r12android-vts-8.0_r11android-vts-8.0_r10android-vts-8.0_r1android-security-8.1.0_r93android-security-8.1.0_r92android-security-8.1.0_r91android-security-8.1.0_r90android-security-8.1.0_r89android-security-8.1.0_r88android-security-8.1.0_r87android-security-8.1.0_r86android-security-8.1.0_r85android-security-8.1.0_r84android-security-8.1.0_r83android-security-8.1.0_r82android-security-8.0.0_r54android-security-8.0.0_r53android-security-8.0.0_r52android-o-preview-4android-o-preview-3android-o-preview-2android-o-mr1-preview-2android-o-mr1-preview-1android-o-mr1-iot-release-smart-display-r9android-o-mr1-iot-release-smart-display-r8android-o-mr1-iot-release-smart-display-r5android-o-mr1-iot-release-smart-display-r40.1Jandroid-o-mr1-iot-release-smart-display-r4android-o-mr1-iot-release-smart-display-r39android-o-mr1-iot-release-smart-display-r30android-o-mr1-iot-release-smart-display-r3android-o-mr1-iot-release-smart-display-r22android-o-mr1-iot-release-smart-display-r14android-o-mr1-iot-release-smart-clock-r6android-o-mr1-iot-release-smart-clock-r2android-o-mr1-iot-release-smart-clock-fsiandroid-o-mr1-iot-release-smart-clock-fcsandroid-o-mr1-iot-release-cube_r2android-o-mr1-iot-release-cube-fsiandroid-o-mr1-iot-release-cube-fcsandroid-o-mr1-iot-release-1.0.8android-o-mr1-iot-release-1.0.7android-o-mr1-iot-release-1.0.5android-o-mr1-iot-release-1.0.4android-o-mr1-iot-release-1.0.3android-o-mr1-iot-release-1.0.2android-o-mr1-iot-release-1.0.14android-o-mr1-iot-release-1.0.13android-o-mr1-iot-release-1.0.12android-o-mr1-iot-release-1.0.10android-o-mr1-iot-release-1.0.1android-o-mr1-iot-release-1.0.0android-o-mr1-iot-preview-8android-o-mr1-iot-preview-7android-o-mr1-iot-preview-6android-o-iot-preview-5android-cts-8.1_r9android-cts-8.1_r8android-cts-8.1_r7android-cts-8.1_r6android-cts-8.1_r5android-cts-8.1_r4android-cts-8.1_r3android-cts-8.1_r25android-cts-8.1_r24android-cts-8.1_r23android-cts-8.1_r22android-cts-8.1_r21android-cts-8.1_r20android-cts-8.1_r2android-cts-8.1_r19android-cts-8.1_r18android-cts-8.1_r17android-cts-8.1_r16android-cts-8.1_r15android-cts-8.1_r14android-cts-8.1_r13android-cts-8.1_r12android-cts-8.1_r11android-cts-8.1_r10android-cts-8.1_r1android-cts-8.0_r9android-cts-8.0_r8android-cts-8.0_r7android-cts-8.0_r6android-cts-8.0_r5android-cts-8.0_r4android-cts-8.0_r3android-cts-8.0_r26android-cts-8.0_r25android-cts-8.0_r24android-cts-8.0_r23android-cts-8.0_r22android-cts-8.0_r21android-cts-8.0_r20android-cts-8.0_r2android-cts-8.0_r19android-cts-8.0_r18android-cts-8.0_r17android-cts-8.0_r16android-cts-8.0_r15android-cts-8.0_r14android-cts-8.0_r13android-cts-8.0_r12android-cts-8.0_r11android-cts-8.0_r10android-cts-8.0_r1android-8.1.0_r9android-8.1.0_r81android-8.1.0_r80android-8.1.0_r8android-8.1.0_r79android-8.1.0_r78android-8.1.0_r77android-8.1.0_r76android-8.1.0_r75android-8.1.0_r74android-8.1.0_r73android-8.1.0_r72android-8.1.0_r71android-8.1.0_r70android-8.1.0_r7android-8.1.0_r69android-8.1.0_r68android-8.1.0_r67android-8.1.0_r66android-8.1.0_r65android-8.1.0_r64android-8.1.0_r63android-8.1.0_r62android-8.1.0_r61android-8.1.0_r60android-8.1.0_r6android-8.1.0_r53android-8.1.0_r52android-8.1.0_r51android-8.1.0_r50android-8.1.0_r5android-8.1.0_r48android-8.1.0_r47android-8.1.0_r46android-8.1.0_r45android-8.1.0_r43android-8.1.0_r42android-8.1.0_r41android-8.1.0_r40android-8.1.0_r4android-8.1.0_r39android-8.1.0_r38android-8.1.0_r37android-8.1.0_r36android-8.1.0_r35android-8.1.0_r33android-8.1.0_r32android-8.1.0_r31android-8.1.0_r30android-8.1.0_r3android-8.1.0_r29android-8.1.0_r28android-8.1.0_r27android-8.1.0_r26android-8.1.0_r25android-8.1.0_r23android-8.1.0_r22android-8.1.0_r21android-8.1.0_r20android-8.1.0_r2android-8.1.0_r19android-8.1.0_r18android-8.1.0_r17android-8.1.0_r16android-8.1.0_r15android-8.1.0_r14android-8.1.0_r13android-8.1.0_r12android-8.1.0_r11android-8.1.0_r10android-8.1.0_r1android-8.0.0_r9android-8.0.0_r7android-8.0.0_r51android-8.0.0_r50android-8.0.0_r49android-8.0.0_r48android-8.0.0_r47android-8.0.0_r46android-8.0.0_r45android-8.0.0_r44android-8.0.0_r43android-8.0.0_r42android-8.0.0_r41android-8.0.0_r40android-8.0.0_r4android-8.0.0_r39android-8.0.0_r38android-8.0.0_r37android-8.0.0_r36android-8.0.0_r35android-8.0.0_r34android-8.0.0_r33android-8.0.0_r32android-8.0.0_r31android-8.0.0_r30android-8.0.0_r3android-8.0.0_r29android-8.0.0_r28android-8.0.0_r27android-8.0.0_r26android-8.0.0_r25android-8.0.0_r24android-8.0.0_r23android-8.0.0_r22android-8.0.0_r21android-8.0.0_r2android-8.0.0_r17android-8.0.0_r16android-8.0.0_r15android-8.0.0_r13android-8.0.0_r12android-8.0.0_r11android-8.0.0_r10android-8.0.0_r1security-oc-releasesecurity-oc-mr1-releaseoreo-vts-releaseoreo-security-releaseoreo-releaseoreo-r6-releaseoreo-r5-releaseoreo-r4-releaseoreo-r3-releaseoreo-r2-releaseoreo-mr1-wear-releaseoreo-mr1-vts-releaseoreo-mr1-security-releaseoreo-mr1-s1-releaseoreo-mr1-releaseoreo-mr1-iot-releaseoreo-mr1-devoreo-mr1-cuttlefish-testingoreo-mr1-cts-releaseoreo-mr1-1.2-iot-releaseoreo-m8-releaseoreo-m7-releaseoreo-m6-s4-releaseoreo-m6-s3-releaseoreo-m6-s2-releaseoreo-m5-releaseoreo-m4-s9-releaseoreo-m4-s8-releaseoreo-m4-s7-releaseoreo-m4-s6-releaseoreo-m4-s5-releaseoreo-m4-s4-releaseoreo-m4-s3-releaseoreo-m4-s2-releaseoreo-m4-s12-releaseoreo-m4-s11-releaseoreo-m4-s10-releaseoreo-m4-s1-releaseoreo-m3-releaseoreo-m2-s5-releaseoreo-m2-s4-releaseoreo-m2-s3-releaseoreo-m2-s2-releaseoreo-m2-s1-releaseoreo-m2-releaseoreo-dr3-releaseoreo-dr2-releaseoreo-dr1-releaseoreo-dr1-devoreo-devoreo-cts-releaseo-preview-4o-preview-3o-preview-2o-mr1-iot-preview-8o-mr1-iot-preview-7o-mr1-iot-preview-6o-iot-preview-5
BUG: 32495852
Change-Id: I5038a3bb41e217380c1188463daec07b1e9b6b48
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 1745 |
1 files changed, 1745 insertions, 0 deletions
@@ -0,0 +1,1745 @@ +Starting with 1.47, changes marked with SYSLINUX, PXELINUX, ISOLINUX +or EXTLINUX apply to that specific program only; other changes apply +to all derivatives. + +Changes in 6.03: + * chain: Fix chainloading on 6.02 (Raphael S. Carvalho). + * core: Do not leak the __lowmem and __bss16 macros to modules; + hide them so modules will not use them. + * load_linux: Do not use size heuristic for non-relocatable + kernels, for zImage kernels and for non-Linux kernels. + * PXELINUX: Fix the SENDCOOKIES feature for HTTP + (Russel Santillanes). + * gnu-efi: Add gnu-efi as a submodule. + * ANSI: Support color tables with more than 256 entries + (James Buren). + * EFI: Fix displayed version; add DATE (Gene Cumm) + * PXELINUX, EFI: Fix bad read of file size over TFTP on EFI64 + (Sylvain Gault). + * Fix hand over to kernel: + "Booting kernel failed: Invalid argument" error. + * ISOLINUX: EDX, LBA values higher than 65535; work around for + buggy BIOS, where the system would hang, would reboot, or + would show a "Disk error 01, AX=42" message. + * core/legacynet: Enable dot quad resolution (Gene Cumm). + * diag/geodsp improvements (Gene Cumm). + * DOS: Fix syslinux.com DOS-based installer. + * Improve gcc 4.3.0 compatibility. + * syslxint: fix compilation on non-x86 architectures. + * localboot: Fix "localboot 0x80" and similar cases. + * Add memset() calls prior to any intcall() and other mem fixes; + specially relevant for older hardware and/or buggy BIOS. + * poweroff.c32: Fixes (Gene Cumm). + * HDT: Fix memory leak in CLI (Felipe Pena). + * ACPI: Remove memset of buffer; it makes things clearer but + also prevents some compilation warnings (Erwan Velu). + * Add manpages for isohybrid, memdiskfind + (Peter Jones, Gene Cumm). + * ISOLINUX: Experimental Rock Ridge support (Thomas Schmitt). + * comapi: Remove the comapi interfaces. + * EFI: Fixes on PE files and OVMF compatibility + (Sylvain Gault, Gene Cumm). + * EFI: Updates and fixes for gnu-efi sub-module + (Sylvain Gault, Gene Cumm). + * BIOS: Fix low memory check. + * Filesystem UUID to SYSAPPEND bit 0x40000 for FAT and ext2 + (Serj Kalichev). + * Makefiles: Export the firmware type as a cpp variable. + Additional improvements. Fix "make spotless". + * core, BIOS: Move __syslinux_shuffler_size to assembly. + Actually get the shuffler size sanely. Fix booting recent + Syslinux versions on certain hardware and on certain + virtualization software (e.g. QEMU 0.11.1, VirtualBox 4.1.x). + * lua: Upgrade to v.5.2.3 (Ferenc Wágner) and additional fixes. + * chainload: Fixes to chain.c32 and pxechn.c32. + * NTFS: Make byte_shift a constant. + * NTFS: Correct parsing of file runs (Andy Alex). + * core, BIOS: Correct detection of EDD (Andy Alex). + * core: Avoid initializing the cache more than once + (Raphael S. Carvalho). + * NTFS: Handle fragmented $MFT file (Andy Alex). + * BIOS: Use int 0x16, ah=0x02 to probe for shift flags. Attempt + workaround for USB keyboards not responding at boot time. + * kbd: Getting the keyboard shift state is now a firmware method. + * kbd: Fix force-prompt features. + * BTRFS: Fix booting on BTRFS. + * cache, btrfs: Provide a general cached read routine. + * NTFS: Correct file->offset usage in ntfs_readdir (Andy Alex). + * New support for UFS/FFS (UFS1/2) (Raphael S. Carvalho). + * adv: Remove double definition; + it should fix uses of the ADV, including "--once". + * memdump: Remove old obsolete COM16 binary. + * isohybrid: Numerous fixes (Thomas Schmitt). + * chain.c32: Add an adjustable "strict={0,1,2}" flag, improve + error reporting (Michal Soltys.) + * lpxelinux.0: Workaround for various buggy BIOSes (Gene + Cumm.) + * PXE: Fix a stack-smashing bug which broke a large number of + systems. + +Changes in 6.02: + * efi64: Add support for booting 32-bit kernels. + * efi: Use the EFI handover protocol when booting kernels if + available. + * Fix various make targets that became broken when switching to + per-firmware object directories, including 'make install' and + 'make netinstall'. + * efi: Improve handling of packet loss in UDP stack. + * tests: Introduce a new regression test framework designed to + ensure bugs are not reintroduced once fixed. + * efi: Implement localboot support. + +Changes in 6.01: + * efi: Mark some symbols as __export otherwise libcom32.c32 and + vesamenu.c32 will refuse to load. + * bios: Wire up the bios kernel loader. It was impossible to + load a kernel from bios in 6.00. + * efi: Fix 'make installer'. There are no EFI installers so + don't try and build them as we run into build errors. + * efi: Reuse the initial TFTP client port in subsequent + transfers otherwise the server will send an error packet. + * efi: Some firmware will not set a default TTL value in IP + packets - we must explicitly set it ourselves otherwise a + value of zero may be used. + * bios, font: Fix a font regression affecting some VirtualBox + users. + +Changes in 6.00: + * Add support for booting from EFI. + * EFI TCP/IP support. This allows the EFI backend to hook into + the generic TFTP, HTTP and FTP functionality. + +Changes in 5.11: + * Dynamic debug support: Add new module, debug.c32, that allows + debug code to be dynamically enabled and disabled at runtime. + +Changes in 5.10: + * PXELINUX: An entirely new network implementation based on + the lwIP embedded TCP/IP stack. As a result, plain PXELINUX + can now support HTTP and FTP without gPXE/iPXE. ls/readdir + functionality is supported over HTTP with an indexing + webserver, or over FTP with most common FTP servers. For the + new network stack use lpxelinux.0. For the legacy stack use + pxelinux.0. + * Rename the "ipappend" option to "sysappend" ("ipappend" is + still accepted as an alias) and make it available for all + derivatives. Add additional strings derived from the system + DMI/SMBIOS information if available. + * "sysappend" strings are also sent as http cookies, with the + prefix _Syslinux_ added, on all http transfers. This can be + overridden with the SENDCOOKIES configuration file command. + * poweroff.c32: A new module to power off a system via APM. It + replaces the poweroff COMBOOT module (Sebastian Herbszt). + * PXELINUX: Fix booting with DHCP options 209 and 210 which was + broken in 5.00. + * Handle loading kernel images with no protected mode code. A + legitimate kernel image can consist solely of real-mode code. + The support for booting such images was broken in 5.00 (Josh Triplett). + * Fix a regression in the .psf font file loader introduced + in 5.00. + +Changes in 5.01: + * txt/: A new AsciiDoc documentation set (work-in-progress) + (Gene Cumm). + * core: Fix a bug in the realloc() implementation that caused + machines to appear to run out of free memory. + * ldlinux: Fix multiple buffer overflows in cmdline parsing + code that resulted in files failing to run and cmdlines + being truncated. + * core: Fix debug build by tagging __bad_SEG() with __export. + * com32: Restrict library filenames to 8.3 format. + * EXTLINUX: Fix installation and subdirectory patching. + * ISOLINUX: Fix booting isohybrid images that are over 32K. + * com32: Strip modules to reduce their size. + * XFS: Implement directory block cache and fix + shortform-directory lookup (Paulo Alcantara). + +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 + Syslinux. + +Changes in 4.07: + * EXTLINUX: fix crash caused by dereferencing garbage pointer. + * Plug memory leak in searchdir which eventually leads to an + observable hang (Shao Miller). + * ISOLINUX: fix bug triggered by isohybrid images larger than + 32K which results in an invalid image checksum error. + * menugen: make it Py3k compatible (Paulo Alcantara). + +Changes in 4.06: + * Support for NTFS, by Paulo Alcantara. + * EXTLINUX: more robust device detection, allow user to override. + * kontron_wdt.c32: Add a new module to enable the hardware + watchdog of some Kontron boards. It allows enabling the watchdog + and then booting a given image. + * HDT updated, and now can display images regarding some detection + steps. Add postexec command to run a particular entry after + HDT's execution, add silent option and various fixes. + * ifcpu.c32: Detect hypervisor presence. + * lua.c32: Add dhcp support and support for native Syslinux + functions syslinux_config(), syslinux_ipappend_strings() and + syslinux_reboot(). + * isohybrid: Workaround for various EFI systems. + * pxechn.c32, a PXE NBP chainloader. More versatile alternative + to pxechain.com and resolves the PXELINUX -> WDS issue with + Microsoft Windows Server 2008R2 (Gene Cumm). + * btrfs: Fix booting off of a subvolume. + * com32: Add device tree support. + * SYSLINUX: Fix relative paths for VFAT. The CONFIG and APPEND + directives now support entirely relative paths. + +Changes in 4.05: + * HDT updated, and now supports uploading data to a TFTP + server. + * ISOLINUX: remove the .img file support; it has been broken + on virtually all systems since the beginning, and has been + totally broken since 4.00 at least. Use MEMDISK instead. + * chain.c32: Support chaining ReactOS' FreeLdr (Shao Miller) + * isohybrid: -m option to add support for Mac EFI booting. + * ifmemdsk.c32: Choose boot option based on presence of + MEMDISK. + * Remove bogus distributed mk-lba-img binary. + * The Syslinux project has a new, cool logo by Abi + "ixxvil" Rasheed (doc/logo/*). + +Changes in 4.04: + * PXELINUX: Fix handling of unqualified DNS names. + * PXELINUX: Fix timer bug when PXELINUX might be unloaded + (Gene Cumm). + * core/writedec.inc: Fix duplicate declaration and overflow + (Gene Cumm). + * GCC 4.5 fixes. + * sample directory: Fix Makefile include (Gene Cumm). + * ver.com: New universal DOS/COMBOOT application to display + version information (includes DRMK) (Gene Cumm). + * rosh.c32: updated; Using getopt() for internal commands to aid + parsing options; Fix bugs in ls; add warm reboot and echo + (Gene Cumm). + * com32: fix a file descriptor leak. + * gfxboot.c32: handle TEXT..ENDTEXT; error out on no LABELs + found (Sebastian Herbszt). + * Fix booting on non-partitioned devices. + * MBR, isohybrid: Workaround for a BIOS issue on Acer + Travelmate and possibly other machines. + * COM32: Adding ACPI parsing libary + * HDT: Release 0.4.1 to support ACPI parsing, + improved mutli-core/cpu reporting + * LUA: Updating to 5.1.4-2 + * SYSLINUX: core/diskstart.inc: Reset DS after checksum in case + it isn't 0 (Gene Cumm). + * win64: Script update for additional mingw compiler names + (Gene Cumm). + * diag: New directory for diagnostic-related tools. Add a + handoff MBR/VBR and geometry display images (Gene Cumm). + * MEMDISK: use "mem=" parameter to mark available memory above + this point as reserved (core already does alignment) (Gene Cumm). + * MEMDISK: Additional disk probe checks and debug output + (Shao Miller, Gene Cumm). + * gpxe: add gpxelinuxk.0, based off of undionly.kpxe + new + script (Gene Cumm). + * isohybrid: install the isohdpfx*.bin/isohdppx*.bin files to + make isohybrid images in one step with GNU xorriso. + * PXELINUX: disable a hack that would make localboot work on + some machines, but break just about as many. Some machines + which worked with "localboot 0" in previous versions may + need "localboot -1" in this one. If you have a machine + which requires "localboot -1", a copy of the dmidecode + or sysdump output would be appreciated. + * Include a set of diagnostics by Gene Cumm. + * Fixes for gcc 4.6 and binutils 2.21.51. + * chain.c32: Allow "uuid" as a synonym to "guid". + * Handle directory names starting with .. for vfat and + iso9660. + * New MENU HIDDENKEY command to provide a one-keystroke way to + activate a boot option from a hidden menu intro screen. + +Changes in 4.03: + * Don't hang if no configuration file is found. + * Better support for booting from MBRs which don't pass + handover information. + * EXTLINUX: Try to be smarter about finding the partition + offset. + * chain.c32: support chainloading Dell Real Mode Kernel (Gene + Cumm). + * chain.c32: fix booting in CHS mode. + * rosh.c32 updated (Gene Cumm). + * Fix the -s option to the syslinux/extlinux installer (Arwin + Vosselman). + * isohybrid: fix padding of large images (PJ Pandit). + +Changes in 4.02: + * SYSLINUX: correctly handle the case where the -d option is + specified with a non-absolute path, i.e. "syslinux -d + syslinux" instead of "syslinux -d /syslinux". + * ISOLINUX: recognize the directory names /boot/syslinux and + /syslinux, and the filename syslinux.cfg in addition to the + isolinux-specific names. Thus, "syslinux.cfg" is now a + generic name, whereas "isolinux.cfg" or "extlinux.conf" is + specific to different derivative. + * chain.c32: support setting alternate config filename for + stage2 of GRUB Legacy (Gert Hulselmans). + * whichsys.c32: execute specific command, based on Syslinux + bootloader variant (Gert Hulselmans). + * lua.c32: a lot of new bindings added to the "syslinux" + namespace: VESA, PCI, DMI, kernel loading (Marcel Ritter). + * btrfs: print a comprehensive error message if compressed or + encrypted files are encountered (neither is currently + supported.) + * SYSLINUX: mtools installer: honor TMPDIR, error out on disk + full. + * Handle fallbacks from EDD to CHS, to deal with systems which + announce EDD support but don't actually have it. + * SYSLINUX: the mtools, DOS and win32 installers now use the new + command line options. + * PXELINUX: fix the use of IP addresses in TFTP :: or tftp:// + host syntax. + * SYSLINUX: experimental Win64 installer (syslinux64.exe). + +Changes in 4.01: + * ISOLINUX: fix initialization on systems which don't zero + low memory. + * SYSLINUX/EXTLINUX: fix handing of disk read retries in + EDD mode. + * ISOLINUX: change the initialization sequence to avoid + problems with certain (old) BIOSes. Special thanks to + Helmut Hullen for invaluable debugging support. + * ifplop.c32: new module which detects if the PLoP Boot Loader + already has booted a CDROM or USB drive (Gert Hulselmans). + * Correct a severe memory overwrite bug, triggered primarily + when selecting a very long command line in the menu system. + * lua.c32: Lua script interpreter, currently experimental + (Alexey Zaytsev, Marcel Ritter, Geert Stappers). + * PXELINUX: new option IPAPPEND 4 to append the system UUID to + the kernel command line. + * PXELINUX: display BOOTIF and SYSUUID at startup time, and + when Ctrl-N is pressed on the command line. + +Changes in 4.00: + * Major code base changes; all filesystem rewritten in C. + This work was done primarily by Liu Aleaxander (Yuanhan Liu). + * EXTLINUX: btrfs and ext4 support. btrfs support was done by + Alek Du of Intel. + * EXTLINUX is no longer a separate derivative; extlinux and + syslinux both install the same loader (ldlinux.sys); for the + Linux-based installers the extlinux binary is used for a + mounted filesystem; the syslinux binary for an unmounted + filesystem. + * When loading a new configuration file with the CONFIG + command, one can now also specify a new current directory + with an APPEND statement. + * Full ADV support for Syslinux, to boot-once and MENU SAVE + works. + * Full support of GPT-partitioned disks, including disks + and/or parititions larger than 2 TiB (if supported by BIOS.) + * The GPT handover protocol adjusted to the current T13 + committee draft; see doc/gpt.txt. + * HDT: code cleanup, small bugfixes + * The "linux" syslinux installer (syslinux-nomtools) now has a + command-line syntax closer to the extlinux installer. The + mtools, dos and win32 installers will get this new syntax + eventually, but it is not implemented yet. + * chain.c32: support booting GPT partitions by index, GUID, label. + * chain.c32: support booting the Syslinux partition with "fs". + * chain.c32: implement gpt.txt hand-over protocol. + * chain.c32: support for chainloading Grub stage 2. + * PXELINUX: TFTP URL syntax (tftp://) supported even when not + running gPXE/gpxelinux. + * New ls.c32 module to display the contents of the disk from + the command line, and pwd.c32 to display the current + directory. + * rosh.c32 (read only shell) updated and hopefully usable. + * PXELINUX: Support "localboot -1", just like the other + derivatives. + * gfxboot.com removed in favor of gfxboot.c32. + * New MENU HELP statement to display fullscreen help text as a + result of a menu selection. + * memdiskfind utility that can be used with the phram driver + in the Linux kernel to mount a memdisk. + * ifcpu.c32: Adding usage when no parameters are given, + adding PAE support. + * ifcpu.c32, ifcpu64.c32: handle more than one argument per + target. + * isohybrid: C version which does not require Perl. + * New command MENU IMMEDIATE to permit hotkeys to activate + immediately without needing Enter. + * mdiskchk.com supports a --no-sequential (or -n) option to + suppress the classic all-drive-probing heuristic. Useful + on BIOSes who crash/hang when certain drive numbers are + probed. + * ElTorito.Sys DOS driver now scans drive numbers upwards + instead of downwards, in order to avoid a fairly common + bug on some BIOSes where probing drive 0xFF causes a + failure. + * NASM 2.03 or later required to build. 2.07 or later + recommended. + +Changes in 3.86: + * chain.c32: fix chainloading the MBR of a hard disk (broken + in 3.85). + * mboot.c32: report the boot loader name in the information + structure. + * com32: set argv[0] in a com32 module. + * core: add a workaround for a bug in Xen HVM older than + version 3.3: disable halt on those platforms. + * Fix problems where certain operations in com32 modules would + cause the core to believe the system was idle. + * MEMDISK: fix MBR detection when used with a DOSEMU header or + an offset. + * MEMDISK: generate the mBFT checksum correctly. + +Changes in 3.85: + * gPXELINUX: updated to gPXE 1.0.0. gPXELINUX can now do NBP + chainloading, and does not require a second DHCP. + * vesamenu.c32: unbreak the default "grey hole" background. + * We no longer have a built-in default of "linux auto". + Instead, if no DEFAULT or UI statement is found, or the + configuration file is missing entirely, we drop to the boot: + prompt with an error message (if NOESCAPE is set, we stop + with a "boot failed" message; this is also the case for + PXELINUX if the configuration file is not found.) + * chain.c32: support chainloading Grub4DOS; patch by Gert + Hulselmans. + * New tool: sysdump.c32, can be used to produce system + information for debugging via tftp or ymodem (serial port). + * "vga=current" on the Linux command line is now supported. + * chain.c32: support for Windows Recovery Console, via the + "cmldr=" option. + * chain.c32: should now support loading NTLDR from different + type media than loaded from. + * chain.c32: support chainloading to a FAT/NTFS partition with + invalid "hidden sectors" via the "sethidden" option. + * memdisk: fix the mBFT ACPI table. + * vesamenu.c32: if the image is smaller than the screen, tile + it across the whole screen. + * mkdiskimage: -s option for producing a sparse image. + * vesamenu.c32: support arbitrary resolution setting (beyond + BIOS support) on some Intel-based video chipsets. This code + is a modified version of the "915resolution" tool by + Steve Tomljenovic; your mileage might vary. + +Changes in 3.84: + * SYSLINUX: make the DOS installer work for MS-DOS 7.x/8.x + (Win9x/ME) again. + * HDT: updated to version 0.3.6 (numerous changes.) + * mboot.c32: now supports video mode setting if requested by + the image. + * MEMDISK: Fix floppy images of PC-DOS. + * MEMDISK: Add support for emulation of CD-ROM images; patch + by Shao Miller. + * MEMDISK: Comply with the Win9x "safe hook" standard, + allowing a protected-mode driver. + * MEMDISK: New "mBFT" ACPI table, by analogy with the iSCSI + iBFT table. This allows detection from a protected-mode + operating system without EDD support. + * 32-bit version of the gfxboot loader (gfxboot.c32), so far + experimental. This will replace gfxboot.com in the future. + * vesamenu.c32: new MENU RESOLUTION directive to set a screen + resolution other than 640x480. + * chain.c32: add support for loading isolinux.bin. + * chain.c32: make sure to always return to text mode. + * eltorito.sys: DOS driver for generic CD-ROMs; by Gary Tong + and Bart Lagerweij. + +Changes in 3.83: + * PXELINUX: clear memory before handing over to a chainloaded + NBP. This may help avoid a bug in Windows RIS. + * PXELINUX: fix localboot after NBP chainloading on certain + BIOSes (including ASUS A8N-E, but possibly others.) + * chain.c32: support chainloaded bootloaders on ISOLINUX. + * PXELINUX: allow filenames up to 251 characters. + * MEMDISK: fix problems booting from USB on Thinkpads, and + possibly other machines or hardware combinations. + * isohybrid: fix the -id option. + * HDT: updated to version 0.3.4. + * MEMDISK: the stack size is now configurable, with the stack= + option. + * Simple menu: fix Ctrl-W (word erase) in command-line edit. + * Simple menu: fix crash on some platforms. + * Gfxboot: fixes to the configuration file parsing. + * PXELINUX: add a tool to override specific DHCP options via + values hardcoded in the pxelinux.0 file. These hardcoded + values can be either "before DHCP" (defaults if DHCP do not + provide values), or "after DHCP" (overrides DHCP). The tool + pxelinux-options can be used to set these options. This + feature does not apply to gpxelinux.0; when used with gPXE + this is better handled by modifying the embedded script. + +Changes in 3.82: + * isohybrid: fix the -partok logic for loading from a partition. + * ISOLINUX: deal with systems which return from INT 13h with + interrupts disabled. + * Do not invoke the idle handler during large file loads. + * Simple menu: make ONTIMEOUT work with MENU HIDDEN. + * PXELINUX: handle TFTP servers which have extra NULs at the + end of an OACK packet. + +Changes in 3.81: + * Shuffler: fix bug in real-mode entry. This affected a + number of modules, probably in relatively unimportant ways, + but it completely broke linux.c32. + * Improved performance. + * Attempt to halt the processor while idle. This can cause + bad reponsiveness when using a serial console especially for + automated input; if that ends up being a problem, use the + new "NOHALT 1" configuration command. + * linux.c32 now suppresses all messages if the "quiet" flag is + specified. + * isohybrid: add a variety of options, and a help message. + * ISOLINUX: fix booting in hybrid mode when CBIOS is used. + This unfortunately means that the isohybrid handoff protocol + has changed, so the isohybrid utility must version-match + isolinux.bin. + * Drop support for ACPI 3 extended memory flags. + * Menu system: don't set the autocr flag on the serial + console. + * altmbr: fix handling of logical partitions. + * altmbr: cap at 439 bytes so the partition select byte isn't + part of the file. + +Changes in 3.80: + * New shuffler mechanism and API. + * Rewritten mboot.c32 module. + * The syslinux_boot_linux() function has been simplified. + * Don't hang trying to boot a "menu quit" label from the CLI. + * Fix problem with boot-once "sticking" on some BIOSes. + * isohybrid: fix problem with images over 2 GB in size. + * APM poweroff module (poweroff.com) by Sebastian Herbszt. + * ISOLINUX: fix the handling of large directories. Bug found + and fixed by Steffen Winterfeldt. + +Changes in 3.75: + * PXELINUX: fix the "keeppxe" option, which was broken in + 3.74. + * MEMDISK: correct the extraction of geometry information from + the MBR of a hard disk image, again broken in 3.74. + * extlinux(1) man page from Brian Pellin. + * Simple menu: MENU SAVE is now controllable on a menu-by-menu + or entry-by-entry basis. + * gPXELINUX: fix interrupt-disabling bug. + * HDT: fix lockup on machines with certain PCI configurations. + +Changes in 3.74: + * New UI directive, which allows a more natural way to specify + a menu system (or not.) With the UI directive specifying + the menu system, the DEFAULT directive can be used to select + the default entry inside the menus. + * kbdmap.c32: new module to load a new keyboard map + dynamically. + * isohybrid: workaround bug in some versions of binutils. + * Fix issue with the placement of the initrd on some machines. + * ifcpu64: fix handling of less than three arguments. + * Fix bug in the shuffle library when dealing with a very + large number of fragments. + * Documentation fixes by Vicente Jimenez Aguilar. + * gPXE updated to version 0.9.7. + * hdt.c32: Hardware Detection Tool, an interactive hardware + analyzer module by Erwan Velu. + * MEMDISK: enable automatic determination of the disk geometry + for a large floppy disk image if (and only if) it is + formatted with a FAT filesystem. + * SYSLINUX: fix the handling of .bss files on FAT12/16. + * Suppress the Loading ... message if "quiet" is specified on + the kernel command line. + * Fix the use of "CONSOLE 0" with menu.c32. + * Allow COM32 modules to be aware of all memory even in the + presence of a memory hole. The "linux.c32" module can be + used to load a kernel (or memdisk) plus large initrd on + such a system. + * MBR: produce alternate MBR variants which force the drive + number to hd0 (_f variants), or force the drive number to + hd0 if the Ctrl key is pressed (_c variants.) Furthermore, + add an MBR variant (altmbr*.bin) which ignores the active + flag and instead boots the partition number specified in the + byte at offset 439 decimal. + * Add IPAPPEND strings to com32 modules, especially needed for + linux.c32. + * New MENU SAVE directive which saves the latest menu + selection until the next boot. Currently only implemented for + EXTLINUX. + * gfxboot.com: *experimental* interface module to Steffen + Winterfeldt's "gfxboot" graphical front end + (http://gfxboot.sourceforge.net/). Module by Sebastian Herbszt. + +Changes in 3.73: + * Upgrade gPXE to release version 0.9.5. + * Fix a number of build errors on various platforms. + * Handle systems with E820 "extended attributes" per ACPI 3. + Someone "cleverly" decided to change the E820 spec in a + backwards-incompatible manner! + * MEMDISK: default to "safeint". + * Adopt the moniker "The Syslinux Project", standard proper + noun capitalization, to refer to the project as a whole. + Thus, reserve the all-caps "SYSLINUX" to refer to the FAT + loader. + * mboot.c32: add "-solaris" option to pass DHCP information to + the Solaris kernel; required for automatic Solaris boot + without using Solaris' pxeboot program. + * config.c32: trivial COM32 module to restart Syslinux with + another configuration file from the command line (equivalent + to the CONFIG command in the configuratin file.) + +Changes in 3.72: + * Include the pxechain.com module from Jeffery Hutzelman at + Carnegie Mellon University. This allows chaining another + PXE boot program while changing the DHCP packet passed to + it. + * Reorganize the Makefile system. + * Major PCI core cleanups and other source cleanup. + * gPXE code updated. + * Try to avoid memory-snooping attacks on passwords. Note + that if someone has root on the box, they generally don't + need to compromise the boot loader... + * ISOLINUX: fix crash when given a zero-length file. + * sdi.c32: support gzipped SDI images. + * ISOLINUX: support generating images which can be either + a CD-ROM or a hard disk (USB disk, etc.) See + doc/isolinux.txt for more information. + * Remote gdb support for COM32 modules; patch from Stefan + Hajnoczi. + * Support beeps in F-key help in the simple menu system. + * Tab display of labels, based on a patch from Sebastian + Herbszt. Can be disabled with the NOCOMPLETE configuration + command. + * "menu default" can now be specified after "menu begin", to + indicate that a specific submenu should be the default entry. + +Changes in 3.71: + * Workaround for a VESA BIOS which tries to make DOS system + calls(!!) + * Simple menu: fix navigation around disabled entries + (or at least try to...) + * EXTLINUX: proper error message when confused about mount + point. + * MEMDISK: be smarter about incompletely disabled floppies in + the BIOS and about being the only floppy. + * Optionally allow initrd to be specified on a separate line + rather than as part of the "append" line. This is not + recommended, but apparently makes life easier for some + tools. + * SYSLINUX: if no config file is present, set the current + directory to the root directory (Sebastian Herbszt). + * chain.c32: option "hide" to support hiding and unhiding of + primary partitions on the boot drive with DOS, Win, or OS/2 + partition types (01, 04, 06, 07, 0b, 0c, 0e). + * Unbreak the KBDMAP command (broken in 3.70). + * EXTLINUX: fix the handling of the ADV when using CBIOS. + * ifcpu64.c32: simple COM32 module to select a 32- or 64-bit + kernel (and optionally 32-bit kernels with or without PAE.) + Eventually we want a scripting language for this + kind of stuff; a Lua module is under development. + * Fix parsing of the SERIAL command without a baud rate + specified. + * chain.c32: error out when try to boot an unbootable + partition. + * SYSLINUX: when building the Win32 installer, search for + MinGW under a large number of possible names. + +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: + http://msdn2.microsoft.com/en-us/library/ms838543.aspx + * 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 GOTO in doc/menu.txt. + * 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. + +Changes in 3.20: + * EXTLINUX: New options --install (-i) and --update (-U), to + make it clear if a boot loader should be installed or + updated. For now, defaults to --install for compatibility; + a future version will require one of these options. + * New library functions to load and place files in memory. + * mboot.c32 bug fixes. + * Remove 8 MB kernel size restriction. + * Add "klibc" target for building unix/syslinux and + extlinux/extlinux with klcc (klibc-1.4.27 or later.) + * PXELINUX: Fail (and eventually reboot) if no configuration + file was found. + * COM32 module by Erwan Velu to make decisions based on DMI + info. + * Fix issue where going back and forth between menus a lot + would cause a hang. + * ISOLINUX: Fix bug which made "cd boot sectors" not work. + +Changes in 3.11: + * MEMDISK: Fix bug by which accessing the real floppy disk + as B: in MS-DOS was broken. + * Simple menu system: allow tweaking of the screen layout. + * Simple menu system: better command-line editing, correctly + handle command lines above 256 characters. + * PXELINUX: revert memory allocation change that caused + problems on some network cards. + * MEMDISK: Try work around a bug on some BIOSes when no + physical floppy disk is present in the system. + * Enable the 16550A FIFOs, if present, when doing serial + console. + * New "totaltimeout" command establishes a timeout without + regard for any user input. + * Simple menu system: timeout behaviour now more in line with + user expectations. + * Simple menu system: "ontimeout" should now work correctly. + +Changes in 3.10: + * gcc 4.0.1 compilation fixes. + * Add support for querying the PCI BIOS in libcom32 + (used by ethersel et al.) + * Fix PCI handing (ethersel etc) on several old chipsets (and + VMWare.) + * Try to deal with systems with broken EBIOS. + * New API call to do "localboot". + * New API call to query features. + * New API call to run kernel image, a lower-level call than + "run command". See comboot.doc. + * Fix for bug in EBIOS code discovered by Arwin Vosselman. + * NOESCAPE security fix. + * Comments are now recognized even without a space following #. + * Fix incorrect handling of mixes of entries with and without + MENU PASSWD. + * The idle API call now harmlessly returns failure if it is a + no-op. That way the caller can decide whether or not to + bother invoking it again. + * Temporarily disable the idle API call on PXELINUX, due to + some platforms on which the idle API call seems to hang; this + problem has not yet been debugged. + * MEMDISK: the handling of DOSEMU-headered images was broken; + fix it. + * EXTLINUX: symlinks are now supported. + * Simple menu system: N and P now work correctly as hotkeys. + * MEMDISK: more BIOS bug workarounds. + +Changes in 3.09: + * gcc4 compilation fix. + * <BEL> (Ctrl-G) in message files now causes a beep. + * Reduce the command line to 511 characters; 1023 caused + memory overflows. + +Changes in 3.08: + * SYSLINUX: Fix performance regression (-s mode always + enabled.) + * Add API function for idle loop. + * libutil: Add do_idle() function for idle loop, make + get_key() use it. + * libutil: Add SHA-1 and base64 functions. + * Simple menu system: add password support. + * EXTLINUX: Sparse files now handled correctly. + * EXTLINUX: Large directories now handled correctly. + * ALL: At the prompt, Ctrl-X now forces text mode. + * Fix configuration file parsing error, that could cause + hangs. + * Rewritten advanced menuing system from Murali Ganapathy. + * MEMDISK: New "bigraw" mode to work around certain broken + BIOS flash programs. + * COM32 module to boot Multiboot systems, including Xen. See + com32/modules/mboot.doc. + * Max command line changed to 1023 characters. Note that the + kernel proper still can only handle 255 characters without + patching, and COM16 binaries can only handle 125 characters. + +Changes in 3.07: + * Fix chainloading (chain.c32). + * Fix zlib build problem. + * Use a private copy of <linux/ext2_fs.h>. + +Changes in 3.06: + * Fix typo that caused the ramdisk to load in the wrong place. + +Changes in 3.05: + * New API function "shuffle and boot"; allows COM32 modules to + load or construct (almost) arbitrarily complex objects, + e.g. a kernel and its initrd/initramfs in pieces, and have + the API core reorganize memory for booting. (A library API + for this function will be introduced in a later version.) + * The initrd= option now supports multiple filenames separated + by commas. This is mostly useful for initramfs, which can + be composed of multiple separate cpio or cpio.gz archives. + (Note: all files except the last one are zero-padded to a 4K + page boundary. This should not affect initramfs.) + * EXTLINUX: Fix API function 000Ah (get derivative-specific + info). + * libcom32/ethersel: Support PCI Config Mechanism #2 on + machines still infested with that hideous old hack. + * SYSLINUX: Fix directory-parsing bug. + +Changes in 3.02: + * SYSLINUX: The "unix" installer now sets the MS-DOS + attributes (hidden, system, readonly.) + * COM32 library: build the .lnx (test modules for running + under Linux) as architecture native modules, in case + i386 devel libraries aren't installed. + * EXTLINUX: Hack for systems which don't have BLKGETSIZE64 + defined in the standard header files. + * Simple menu system: minor aestetic improvements, and try to + work better over a serial console (speed, and readability on + monochrome terminal emulators.) + * New CONSOLE directive to control output on the video console + (useful for dealing with some broken serial-forwarding + BIOSes.) + * New com32 module "ethersel" for searching for an Ethernet + card and selecting the proper version of Etherboot. + * EXTLINUX: Allow the user to override the detected geometry. + Add help. + +Changes in 3.01: + * EXTLINUX, SYSLINUX: Fix compile errors on some systems. + * EXTLINUX: Default to zipdrive geometry (64 heads, 32 + sectors) if no other geometry can be detected. + +Changes in 3.00: + * SYSLINUX: Support FAT32 and EDD. As an unfortunate + consequence, LDLINUX.SYS is no longer an ordinary file; it + is block-mapped at install time, which means it can only be + written using the syslinux installers. + * SYSLINUX: Reorganize the source code for the installers; + each one of the installers (dos, win32, unix, mtools) is now + built in its own subdirectory. In particular, "mtools" is + the unprivileged installer which uses mtools; "unix" is the + privileged installer which uses system calls. + * SYSLINUX: Completely rewritten DOS installer in C. + * ALL: "label" statement information is now stored in a + compressed format, which means that a lot more labels are + permitted (500-1000 in a typical configuration, but depends + on the complexity.) + * EXTLINUX: New derivative, which boots from an ext2/ext3 + filesystem. + * SYSLINUX: The DOS and Win32 installers can now optionally + write the boot sector to a file instead of the real boot + sector. This is not supported in the Linux installers, + however. + * ALL: New NOESCAPE command, disables the "hold down the Shift + key to display the prompt" behaviour. + * New simple menu system, as an alternative to the advanced + menu system already present. See README.menu for details. + * PXELINUX: Filenames can now be prefixed with an IP address + or DNS name plus :: (e.g. 192.0.2.1::filename or + server.domain.com::filename), which downloads a file from an + alternate TFTP server, or just a :: (e.g. ::filename), which + suppresses the common pathname prefix. See pxelinux.doc. + * SYSLINUX: Add an -m option to the DOS and Win32 installers + to write an MBR and -a to mark the partition SYSLINUX is + being installed on active. + * MEMDISK: Give a way to query the boot loader type while + running MEMDISK; see memdisk/memdisk.doc and + sample/mdiskchk.c. + * mkdiskimage: substantially improved mkdiskimage which, among + other things, can now be used to initialize USB keys as + zipdrives; see README.usbkey for more information. + +Changes in 2.13: + * MEMDISK: Fix command-line parsing "brown paper bag" class + bug. + * MEMDISK: Add "raw" mode to support the DOS boot disk from + WinME/XP, which seems to deliberately crash the system + when someone uses the "INT 15h mover" highmem API. + * Make "make install" do something sane for the com32 + development environment. + * In the spec file, create a separate -devel RPM for the com32 + development environment. + +Changes in 2.12: + * Simple C library, based on klibc, for writing COM32 + programs. + * Fix the handling of file length in loading of COM32 + programs. + * MEMDISK: Work around a linker bug by rearranging the code to + not use the linker for the 16-bit code. + * SYSLINUX: If we're building on a machine without a Win32 + (mingw) compiler, just skip building syslinux.exe. + * ISOLINUX: Support non-mkisofs mastering programs, at least + as long as the image is single-session. For best results, + ISOLINUX should be the only boot loader installed. + * MEMDISK: Allow the user to specify that the simulated disk + should be write-protected. + +Changes in 2.11: + * ALL: Add an API call to get the configuration file name. + * SYSLINUX: Fix bug in 2.10 that prevented it from working + correctly for a lot of people. + * SYSLINUX: In the installer, make mtools a bit less fussy. + * Make the menu system compile with newer gcc's. + +Changes in 2.10: + * MEMDISK: Handle images compressed with zip as well as with + gzip. Some Windows-based image tools apparently generate + these kinds of images by default. Patch by Patrick + LoPresti. + * Major menu improvement from Murali Ganapathy. + * ISOLINUX: Wonderfully sick and brilliant workaround for + severe bugs in certain Award BIOSes; from Knut Petersen. + * SYSLINUX: Fix for the nomtools installed, from Frederic + Pasteleurs. + * PXELINUX: Fix handling of IP numbers in the ranges + 100-109 and 200-209. + * ALL: New option "allowoptions" (defaults to 1), which + controls if options are allowed on the command line or not. + * SYSLINUX: Support building under klibc (see the klibc + distribution for details.) + +Changes in 2.09: + * SYSLINUX: Remove residual setuid crap from + syslinux-nomtools. + * Handle video pages correctly when using the API functions. + * Handle compiling on an x86-64 platform correctly. + * Menu system from Murali Krishnan Ganapathy; see the menu + directory for information. + * COMBOOT: Allow COMBOOT programs to change screen text mode. + * COMBOOT: Correct the documentation of how to detect + SYSLINUX from COMBOOT!!!! + * COMBOOT: Fix "get key without echo" API function. + * SYSLINUX: Fix bug that affected the API open function. + * ALL: Improve the E820 memory parser, to work around some + buggy BIOSes. + +Changes in 2.08: + * Add new configuration command "ontimeout" to allow timeout + to have a different action than just pressing Enter. + * Add new configuration command "onerror" to allow a custom + command to be executed in case the kernel image is not found. + * Fix bugs in the COMBOOT/COM32 command-line parsing. APPEND + now works with COMBOOT/COM32 images. + * PXELINUX: Poll for ARP requests while sitting at the + prompt. This makes some boot servers a lot less unhappy. + * PXELINUX: Actually free sockets when we get a failure + (including file not found.) This bug would cause us to run + out of sockets and thus "go deaf" after a while. + * MEMDISK: Add an API to query for the existence of MEMDISK. + * SYSLINUX: Fix loading boot sectors (.bs/.bss) from floppy + disk. + * .c32 is now one of the extensions searched for + automatically. + * PXELINUX: RFBG.exe seems to randomly overwrite memory + location 0x5700. Thus, don't use it! + * PXELINUX: Change pathname length max from 63 to 127; change + max vkernels from 128 to 64. + * Support Ctrl-U -> kill entire command line input. + * The "samples" directory contains a (barely at all tested) + chain loading example, chain.c32, which may be used to + chainload local floppy disks and hard disks. Use with + "chain fdN" or "chain hdN [partition]"; N = 0 for the first + drive of each type. + +Changes in 2.07: + * MEMDISK: Workaround for BIOSes which go into a snit when + they get a RESET command for the floppy system when there is + no floppy in the system. + * PXELINUX: Add "ipappend 2", which passes the hardware + address of the boot interface to the kernel as a + command-line option. + * mkdiskimage: fix the generation of the end limit. + * PXELINUX: Fix multiple bugs in chainloading of other NBPs. + * MEMDISK: Fix bug that would occationally cause "ran out of + input data" when using compressed disk images. + * SYSLINUX: Updates for the win32 installer (from Lars Munch.) + * PXELINUX: PXELINUX-specific options are now recognized both + in a vendor-option-space (a.k.a. type 43 encapsulated) as + well as in a site-option-space (unencapsulated.) + * COM32: Don't crash when DS != 0. + * COMBOOT/COM32: Make file reading work correctly. Thanks to + Phung Chi Kien for submitting a test program. + +Changes in 2.06: + * ALL: Fix problem that would occationally cause a + boot failure, depending on the length of the kernel. + * ISOLINUX: Fix problem that would occationally cause a + boot failure, depending on the length of directories. + * SYSLINUX: Win32 installer now flushes buffers. + * ppmtolss16: Be fully compliant with the PNM spec; + actually process comments in the header and odd + alignments of the various parameters, as well as + "plain" (not raw) files and PBM and PGM files. + * PXELINUX: Lower the default MTU to 1472 in order to deal + with systems with slightly nonstandard MTUs, and PXE + stacks which don't defragment correctly. Unfortunately this + is very hard to test dynamically. + +Changes in 2.05: + * PXELINUX: Add a default query based on the hardware address + of the boot device. This is in lower case hexadecimal form + separated by dashes and including the hardware type, for + example, the Ethernet (type 1) address 88:99:AA:BB:CC:DD + would query the file pxelinux.cfg/01-88-99-aa-bb-cc-dd. + * PXELINUX: Fix bug involving non-IP-based config file names. + * SYSLINUX: New installer for WinNT-based systems, from Lars + Munch. + * MEMDISK: Fix handling of memory region overlap when + decompressing. Thanks to Mikhail Kupchik for identifying + the problem. + +Changes in 2.04: + * ALL: Reclaim even more low memory by observing that + comboot_seg == real_mode_seg is perfectly fine, and by the + fact that the 1000h segment managed to get unused in all + derivatives... + * PXELINUX: Attempt to negotiate full Ethernet-sized blocks + (1468 bytes) using the blksize option. + * SYSLINUX: Resurrect the old no-mtools version of the + installer, although as a root-only tool. Some distributors + have indicated that they need a small standalone installer. + * MEMDISK: Fix a memory offset computation error when + installing compressed disks which generally would cause + 1 MB of memory to be wasted. + * MEMDISK: Fix installing the E820 memory map. Calling + INT 15h AX=0E820h with MEMDISK 2.03 loaded would give a + completely corrupt memory map. + * SYSLINUX: Make libsyslinux a dynamic library, so that it can + be updated separately from client programs. The whole idea, + after all, is to enable alternate programs to become + syslinux installers. + * Include an rpm spec file in the distribution, so rpmbuild + -ta works. + +Changes in 2.03: + * Actually support comment lines in the configuration file. + * PXELINUX: Try to resolve some problems with stack switches. + * PXELINUX: Handle PXE stacks with broken routing. + With these workarounds, the remote install PXE boot floppy + (rbfg.exe) from Argon Technologies should work correctly. + * Fix problems with Perl scripts in UTF-8 locales. + * You probably need NASM 0.98.34 or later to compile this + version. 0.98.36 is recommended. + * MEMDISK: Now supports gzip compressed images. + +Changes in 2.02: + * SYSLINUX: Security flaws have been found in the SYSLINUX + installer when running setuid root. Rewrite the SYSLINUX + installer so it uses mtools instead. It therefore now + requires mtools (specifically mcopy and mattrib) to exist on + your system, but it will not require root privileges and + SHOULD NOT be setuid. + +Changes in 2.01: + * MEMDISK: Fix memory sizing bug when the ramdisk crosses the + 16 MB boundary. + * MEMDISK: Add a "pause" option to stop immediately before + booting, to read off the messages. + * MEMDISK: Support disk images with DOSEMU headers. + * Update the mkdiskimage script to handle newer mtools + versions, and be able to generate disk images with DOSEMU + headers (controlled by the -d option). + * Fix the COM32 sample program. + * PXELINUX, ISOLINUX: Fix some COMBOOT API calls. + * PXELINUX: Doc fix. + * Build SYSLINUX into a small library for encapsulation into + other programs (however, please keep in mind this is a GPL'd + library.) + * SYSLINUX: Make installer work with "owner" in /etc/fstab. + * SYSLINUX: Fix issue with working on nonpartitioned hard disk + devices. THIS CONFIGURATION IS NOT RECOMMENDED. + +Changes in 2.00: + * ALL: Add support for "COM32" (32-bit COMBOOT) images. + * ALL: Add an API for COMBOOT/COM32 images. See comboot.doc + for details. There is a C development environment for + COM32 being created; it should be ready at some point in + the future. + * Fix mbr.asm so that it actually works. + * SYSLINUX: The syslinux installer *SHOULD* now be safe to + run setuid root. + * PXELINUX: Fix bug where PXELINUX would override random + chunks of the UNDI code segment! Thanks to Kevin Tran for + finding this bug. + * ISOLINUX: Fix a bug related to slashes in pathnames. + * ISOLINUX: Fix a bug in handling initrds over 128 MB. + * ALL: Make the <Ctrl-V> key print out the version; this is + to help debugging. + * Add a small script, mkdiskimage, to create a DOS-formatted + hard disk image using mtools. This may be useful in + conjunction with MEMDISK. + * ISOLINUX: Search for a /boot/isolinux directory as well as + /isolinux. + * ALL: Fix a bug related to very long configuration files. + * PXELINUX: Work around a NASM bug which would result in no + delay before reset if an error occurs. + +Changes in 1.76: + * ISOLINUX: Remove code no longer used which caused hangs on + some Toshiba laptops. + +Changes in 1.75: + * ALL: NASM 0.98.32 or later is now required to build + SYSLINUX from sources. + * SYSLINUX: put back in the workaround for the BIOS floppy + table. This seems to be a requirement for "extended" floppy + formats to work correctly. + * SYSLINUX: No longer warn if one is trying to boot on a 286 + or older. The above BIOS workaround no longer fits if the + requirement to use only 8086-compatible code in the early + boot is maintained. It made sense in 1994, but in 2002 a + 286 or older is a museum object. + * SYSLINUX: Use a downright bizarre, stateful algorithm to try + to guess the maximum transfer size. I am *hoping* this will + cut down on the number of systems for which -s is required + to work at any acceptable speed. + * ISOLINUX: Add a few more workarounds for various broken El + Torito BIOSes. + * Make sure .depend files aren't accidentally packed... + * ALL: Fix bugs in the extension-detect code; this caused + files like COMBOOT images and CD boot sectors to be + mis-identified as Linux kernels and rejected. + * ALL: Fix the return from COMBOOT. + * ALL: Do some of the early groundwork for supporting DOS + system calls in COMBOOT. + * Get rid of unnecessary "near" directives, making the code + bigger. + * PXELINUX: Put the PXE stack back in the init state before + invoking a chain-loaded NBP. + * PXELINUX: Actually found the combination of calls that + allows some (most?) PXE 2+ stacks to be unloaded from memory + properly. + * PXELINUX: Add "keeppxe" command-line option to disable + the standard unloading of the PXE stack. + +Changes in 1.74: + * SYSLINUX: fix bug that would cause valid kernel images to be + labelled "invalid". + +Changes in 1.73: + * Work on removing gratuitous differences between modules. + * Break up the source in common and module-specific files. + * PXELINUX: Allow chaining of other PXE NBPs. + * ISOLINUX: Allow loading "CD-ROM boot sectors". + * ALL: generalize the definition of a boot sector/NBP. + +Changes in 1.72: + * PXELINUX, ISOLINUX: Fix bugs in the new core code. + +Changes in 1.71: + * Fix a "brown paper bag" class bug in the new core code. + +Changes in 1.70: + * Major code restructuring. + * Relax the conventional memory limits somewhat. + * MEMDISK: Set up the "version number string" pointer in the + header correctly. + * SYSLINUX: Fix, again, "the bug that won't die": the use of + the offset parameter with the SYSLINUX installer. + * SYSLINUX: Fix possible superblock corruption problem in the + SYSLINUX installer. + +Changes in 1.67: + * Handle bug in the location of initrd. + +Changes in 1.66: + * MEMDISK: Make compile with newer versions of gcc. + +Changes in 1.65: + * ISOLINUX: Support booting disk image files (to boot DOS or + other non-Linux operating systems), *IF* the BIOS works + correctly; unfortunately many BIOSes apparently don't. + * Support Linux boot protocol version 2.03 (explicitly + specify the initrd address limit.) + * Handle small "pseudo-kernels"; images that use the Linux + kernel boot protocols but are less than 64K in size. + * MEMDISK: New subsystem; this is a driver which allows + legacy OSes to boot using an in-memory simulated disk. + See memdisk/memdisk.doc for more info. + * PXELINUX, ISOLINUX: Correctly handle files larger than 65535 + blocks (32 MB for PXELINUX, 128 MB for ISOLINUX.) + * PXELINUX: Make a best-effort attempt at freeing all memory + claimed. From the looks of it, it will fail on most PXE + stacks. + +Changes in 1.64: + * Limited support for hardware flow control when using a + serial port console. + * Support specifying the serial port I/O address explicitly. + * Make DOS installer hopefully behave more nicely when used on + recent Windows versions. + * Fix returning to text mode when a font has been specified. + * Attempt to detect missing serial port hardware and disable + the serial port if there is nothing there. + +Changes in 1.63: + * Make the ppmtolss16 program handle color conversion more + correctly. + * Clean up "make install" target, honour INSTALLROOT if it + exists. + * SYSLINUX: Fix stack-smash bug identified by Steffen + Winterfeldt. + * Hopefully fix return-to-text-mode on some graphics cards. + * ISOLINUX: Bug workaround for Award BIOS 4.51, and perhaps + other buggy BIOSes as well. + +Changes in 1.62: + * PXELINUX: Allow the DHCP server to override the + configuration file name and pathname prefix, using + "site-specific" DHCP options. + * PXELINUX: Documentation fixes. + * PXELINUX: Fix the "ipappend" option; the last two values + were reversed vs. what the kernel expected. + * Introduce a way to return to text mode once we are already + in graphics mode. This may be useful for F-key help + screens. + * Fix several bugs in the way return to text mode was handled. + +Changes in 1.61: + * ISOLINUX: Support full pathname searches. Max length for a + pathname is 255 characters. As a result, only 64 "label" + statements are supported in ISOLINUX. + * PXELINUX: Max filename length extended to 63 characters. + +Changes in 1.60: + * Add support for graphical splash screens. + * Add mode control characters, which allows you to control + message display output depending on output mode (text, + graphics, or serial port.) + * ISOLINUX: New program, which boots Linux from a CD-ROM + without using floppy emulation mode. See isolinux.doc for + more details. + * PXELINUX: Don't search for boot sector file types, since + they don't work anyway. + * SYSLINUX: Document the LOCK command for Win9x, and the error + dialog box for WinNT/2K. + +Changes in 1.54: + * PXELINUX: Fix code for finding !PXE from PXENV+. This was + due to a spec bug; match the most recent spec since that + seems to be what implementations actually do. + * SYSLINUX: Add some smarts to the boot sector, which + hopefully should reduce the number of systems which require + stupid mode ("syslinux -s"). + * PXELINUX: Document further some of the pathologies with old + PXE stacks. + * When specifying a "default" command line, no longer + automatically appent "auto". See the "DEFAULT" command in + syslinux.doc for more information. + * PXELINUX: Clean up the allocation of local socket numbers. + +Changes in 1.53: + * PXELINUX: Rename pxelinux.bin to pxelinux.0, to match what + most PXE servers seem to expect. + * PXELINUX: Update the DHCP/boot server setup documentation. + * PXELINUX: Support new "localboot" option for "label" + sections. + * PXELINUX: More robust parsing of DHCP/boot server packets. + * PXELINUX: Include a small utility program "gethostip" to + compute hexadecimal IP addresses. + +Changes in 1.52: + * PXELINUX: Fix bugs introduced by new A20 code. (SYSLINUX + has also been changed for code consistency reasons, but I'm + pretty sure the changes are don't care on SYSLINUX.) + * Documentation updates. + * PXELINUX: Add "ipappend" option to generate an ip= option to + the kernel. + +Changes in 1.51: + * PXELINUX: Not all PXE stacks fill in the IP address for a + type 3 cached info query. Use a type 2 cached info query + for this information (only.) + * Yet another attempt at A20 coding. Now support BIOS call + 15:2401 as well, and handle machines which always have A20 + on separately. + * Support memory detection using INT 15h, AX=0E820h. BIOS + manufacturers have apparently gotten sloppy about keeping + INT 15h, AX=0E801h working properly. + * Don't issue <CR><LF> onto the serial port when we're doing + screen wraparound. + +Changes in 1.50: + * Yet another A20-code update. It seems some "legacy-free" + machines and embedded gear simply don't have a KBC to talk + to, and that waiting for one will wait forever. Sigh. + +Changes in 1.49: + * SYSLINUX: Implement a hack for BIOS drivers which hog significant + chunks of low memory during boot. (Note: PXELINUX already + had this modification. SYSLINUX does still require that the + low 512K is available; PXELINUX requires 384K. Machines + with a physical memory hole in the low 640K cannot boot + Linux no matter what.) Depending what the reason is for the + memory hole, a new kernel (2.4.0-test3-pre3 or later) may be + required. + * SYSLINUX: Default installer binary now compiled against + glibc 2.1. If this is inappropriate for your system and you + still want to use the offical version of SYSLINUX, please + follow the instructions in "distrib.doc" to rebuild the + installer. + * SYSLINUX: Linux installer program now supports -o <offset> + option which does a loopback mount with the + -o loop,offset=<> option. Useful to run SYSLINUX on an + individual partition of a whole-harddisk image. + * Include the source code to a Master Boot Record (MBR) + functionally equivalent to the one installed DOS except it + includes EBIOS support, and should be resistant to geometry + changes. The MBR code is public domain. + * PXELINUX: Fix "double p" bug: if the tftp prefix was null, + all filenames would get a "p" preprended, e.g. + "ppxelinux.cfg" and "pvmlinux". + +Changes in 1.48: + * PXELINUX: Workaround for PXE ROMs based on the Intel PXE PDK + 3.0 build 071 and earlier: missing !PXE structure pointer. + * PXELINUX: Handle larger BOOTP/DHCP packages. + * PXELINUX: The command line passing was broken; fix. + * PXELINUX: Make COMBOOT images work. + * PXELINUX: Documentation on how to make booting work using + the PDK 3.0-derived clients, which aren't so generous as to + allow booting with only "PXEClient" specified. + +Changes in 1.47: + * PXELINUX: RFC 1123 states that a TFTP implementation MUST + use adaptive timeout, "at least an exponential backoff of + retransmission timeout is necessary." Implement a very + simple exponential backoff for retransmits. + * PXELINUX: Updated documentation, including pointer to new + TFTP server. + * PXELINUX: When sending ERROR due to bad OACK, use the proper + destination port number (why are TFTP port numbers so odd?) + * PXELINUX: If the boot dies in the middle somewhere, + eventually give up and reset the machine (unattended + operation.) + +Changes in 1.46: + * New program PXELINUX to do network booting using a + PXE-compliant (Pre-Execution Environment) network booting + PROM. See pxelinux.doc for details. + +Changes in 1.45: + * Serial console support. See syslinux.doc for details. + +Changes in 1.44: + * Change HIGHMEM_MAX to 38000000h to (hopefully) avoid the + kernel stepping on it; 3f000000h was apparently a higher + limit than the kernel used! + +Changes in 1.43: + * Add sys2ansi.pl script to display the contents of a + colorized SYSLINUX file. + * Changed the io_delay once again, after a report that the + old delay port causes hangs on some systems. + +Changes in 1.42: + * Frob the "fast A20 gate" port as well as the keyboard + controller; will this help systems with problems? + * Be even more paranoid about A20, unfortunately even this + seems to be not paranoid enough... what I don't understand + is that if there is hardware out there *this broken*, how + can it run Linux at all? Report an error message rather + than hang forever if A20 is stuck. + * Include some intermediate files in the distribution, plus + provide a "make installer" target for distributors to relink + the install programs only. I would prefer the syslinux boot + loader proper to be "binary clean" for debuggablity -- use + "make clean ; make installer" to rebuild the installers only. + +Changes in 1.41: + * Don't get confused by directories, volume labels, or VFAT + long names. + * Use INT 15h, AX=0E801h to query memory size before trying + INT 15h, AH=88h. This not only provides more headroom + between the kernel and the initrd on large-memory machines, + but it appears some recent BIOSes actually have started + returning garbage for the AH=88h (older) call. + * Trust high memory beyond the 15 MB mark if the user has + specified it, or if obtained with INT 15h, AH=0E801h (with + no memory holes above 1 MB.) + +Changes in 1.40: + * Increase A20M delay and put in a test to avoid problems on + certain IBM Thinkpads (thanks to Donnie Barnes of RedHat + for vital info on this one.) + * Support COMBOOT style boot command images. + * Support chain loading (foreign operating systems, e.g. DOS). + * Include a new "copybs" DOS utility to copy a boot sector to + a file (under Linux, use "dd".) + * Fix the DOS installer to work for disks over 32 MB. + * SYSLINUX should now handle disks with more than 65536 tracks. + +Changes in 1.37: + * Fix a bug that caused "label" statements in syslinux.cfg to + not be handled properly. + * Updated the documentation. Among other things, we now allow + up to 128 "label" statements. + +Changes in 1.36: + * Fix for booting old (pre-initrd) kernels. + * It seems at least some versions of OS/2 doesn't set up all + the fields in the superblock correctly. Account for that. + * Fix bug that caused boot failure when using the mem= option. + +Changes in 1.35: + * Loading from partitions now should work properly. (Actually + tested, this time. You should even be able to dd a floppy + to a partition and boot from it.) + * Removed large workaround code for an alleged ancient BIOS + bug I have never actually seen. The -s option should work + on those machines, anyway. + * Support for simple keyboard remappings, same as used by + LILO (once again to support localization.) The program + keytab-lilo.pl from the LILO distribution included to + generate such maps. + * Added a "safe, slow and stupid" (-s) option to the + installers. This option will lobotomize the boot sector to + hopefully work on even very buggy BIOSes. + +Changes in 1.34: + * Ability to load a VGA font on bootup (for localized Linux + distributions.) + +Changes in 1.33: + * Bug fix in the Linux installer. + * Added a workaround for a bug in certain AMI/Intel BIOSes + when booting from CD-ROM. + * Documentation changes. + +Changes in 1.32: + * FAT16 filesystems are now supported. + +Changes in 1.31: + * Now compiles under Linux, using NASM, rather than using + Turbo Assembler under DOS. See http://www.cryogen.com/Nasm + for information about NASM. + * Linux-hosted SYSLINUX installer, as well as a + rewritten DOS installer (now is written in assembler, so we + don't need Turbo C.) + +Changes in 1.30: + * Added support for loading bzImage and initrd loading, and made + SYSLINUX new-setup-code aware (SYSLINUX 1.30 id=0x31). + * Added LILO-style kernel labels; see the LABEL and IMPLICIT + keywords in README file. + * Added support for colorization of intro and help screens. + * The vga= option is now handled correctly. + * Massive rewrite of large chunks of the code in order to + support the first two new features. + +Changes in 1.20: + * Added simple online help at the "boot:" prompt. + * Removed 2880K image as I no longer have access to such a + floppy drive. (Donations accepted!!) + * Decided to distribute the source in a subdirectory rather + than in a nested zipfile. + +Changes in 1.11: + * Removed a sanity check which would cause booting to fail on + Phoenix BIOS version 4.03. Apparently this BIOS is buggy. + +Changes in 1.10: + * Added configuration file SYSLINUX.CFG. This file contains all + configurable options, and can be edited from any OS which can + access an MS-DOS filesystem; there is no longer a need to run + SYSLINUX.EXE except to write the boot sector. + * Default command line now given by "default" line in config + file. + * LINUXMSG.TXT and BOOTMSG.TXT hard-coded file names replaced by + "display" and "prompt" lines in config file. + * LILO-style option appending now supported ("append" line in + config file). + * Prompt timeout is now supported ("timeout" line in config + file). The timeout is cancelled when anything is typed on the + command line. + * Pressing <ESC> or <Ctrl-C> at the Loading... stage now aborts + the kernel loading in progress and returns the user to the + boot: prompt. + * The installer now automatically sets the READONLY flag on + LDLINUX.SYS. + * Added 2880K disk image. + +Changes in 1.03: + * Fixed bug that would prevent booting from double-density + floppies and other DOS filesystems with multiple sectors per + cluster. + * Added 720K disk image. + * Changed default kernel name on disk images to LINUX. + +Changes in 1.02: + * Fixed bug that would garble the command line on recent kernels + with more than 4 sectors of setup code (this wasn't really a + *bug*; rather, a kernel change broke the code. Unfortunately + the Linux boot interface is still sorely undocumented). + * Added BOOTMSG.TXT file support (message file which does not + force display of the boot prompt). + +Changes in 1.01: + * Fixed bug on some (most?) 386 BIOSes would require two boot + attempts. |