| Starting with 1.47, changes marked with SYSLINUX/PXELINUX/ISOLINUX |
| apply to that specific program only; other changes apply to all of |
| them. |
| |
| 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 passwords. |
| |
| 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. |