I have released SYSLINUX 2.04, mostly to address the 2.03 MEMDISK bug. At the same time I'm getting the PXELINUX blksize and SYSLINUX installer changes out there, which hopefully is a good thing. New release mostly to address the MEMDISK corruption issue. 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. Begin3 Title: syslinux Version: 2.04 Entered-date: 2003-04-16 Description: SYSLINUX is a collection of boot loaders for the Linux operating system which operates off MS-DOS floppies, network servers using PXE firmware, or from CD-ROMs. It is intended to simplify first-time installation of Linux, rescue disks, and other uses for boot floppies. A SYSLINUX floppy can be manipulated using standard MS-DOS (or any other OS that can access an MS-DOS filesystem) tools once it has been created; and requires only a very small DOS or Linux program to create in the first place. It also includes MEMDISK, a tool to boot legacy operating systems from nontraditional media like PXE or CD-ROM. Keywords: syslinux pxelinux msdos boot loader floppy install network pxe iso9660 cdfs memdisk Author: hpa at zytor.com (H. Peter Anvin) Maintained-by: hpa at zytor.com (H. Peter Anvin) Primary-site: ftp.kernel.org /pub/linux/utils/boot/syslinux 387735 syslinux-2.04.tar.gz 473179 syslinux-2.04.zip Alternate-site: ibiblio.org /pub/Linux/system/boot/loaders Platforms: DOS or Linux to install. Linux, perl and nasm 0.98.35 or later required to build from source. Copying-policy: GPL End
I am currently in the process of writing a small COM32 code. We have a ISOLinux based CD, which boots into DOS/WinXP/Linux and does a whole lot of useful things including installing (multiboot) OSes with software, troubleshooting.... More details available at http://people.cs.uchicago.edu/~gmurali/gui/index.html The process of installing OSes (especially multiple OSes), require one to boot in some particular order, e.g. Boot into DOS off the CD, and then off the hard disk,.... I am currently trying to automate that process. To that end I am writing a COM32 code, which ineffect reads a particular sector from the hard disk (sector 6-9 in the 0th cylinder which AFAIK is not used by any OS to do anything), interprets that to be a "stack" of names of "kernels" to boot from, pops the top one off the stack, writes the new "stack" to the same sectors, and then asks ISOLinux to boot using the correct kernel / from the hard disk. If no stack is found, then it runs a specific kernel. In our case, the specific kernel boots into linux and asks the user the combination of OSes, which needs to be installed, and based on the user selection writes the appropriate stack to the hard disk, so that the COM32 code can find it the next time it runs. I assume that my COM32 code, can use the standard BIOS calls to read and write to the hard disk. Since the COMBOOT API, does not seem to have an API to boot off a specific hard disk partition, I am looking for advice on how to do that. And, any other gotchas I need to be aware of. - Murali