Well, it has to happen at some point, so I have officially pushed out SYSLINUX 3.72. The big news in this release is of course the ISOLINUX hybrid mode support (a single image which can be booted either from a CD-ROM or from a hard disk/USB stick), but there are plenty of more goodies in here, including the label listing (not technically completion) on the Tab key. As usual, huge thanks to my employer, rPath, Inc., for letting me work on this stuff. -hpa 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. Begin3 Title: syslinux Version: 3.72 Entered-date: 2008-09-25 Description: SYSLINUX is a collection of boot loaders for the Linux operating system which operates off Linux ext2/3 filesystems, MS-DOS FAT filesystems, network servers using PXE firmware, or from CD-ROMs. The FAT filesystem version can be installed from DOS, NT, or Linux. It includes a sophisticated API for add-on "COM32" modules, including a significant subset of the standard C library. It also includes MEMDISK, a tool to boot legacy operating systems from nontraditional media like PXE or CD-ROM. This version includes gPXE, to allow accessing network files via other protocols than TFTP. Keywords: syslinux pxelinux isolinux extlinux msdos boot loader floppy install network ext2 ext3 pxe iso9660 cdfs memdisk com32 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 3879822 syslinux-3.72.tar.gz 4641805 syslinux-3.72.zip Platforms: DOS or Linux to install. Linux, perl and nasm 0.98.39 or later required to build from source. Copying-policy: GPL End
On Thu, 25 Sep 2008, H. Peter Anvin wrote:> Well, it has to happen at some point, so I have officially pushed out > SYSLINUX 3.72. The big news in this release is of course the ISOLINUX > hybrid mode support (a single image which can be booted either from a > CD-ROM or from a hard disk/USB stick), but there are plenty of more > goodies in here, including the label listing (not technically > completion) on the Tab key.Features look very promising, however when compiling on RHEL4 and older, I get: gcc -Wp,-MT,setjmp.o,-MD,./.setjmp.o.d -Os -march=i386 -falign-functions=0 -falign-jumps=0 -falign-labels=0 -ffast-math -fomit-frame-pointer -std=gnu99 -m32 -g -mregparm=3 -DREGPARM=3 -D__COM32__ -nostdinc -iwithprefix include -I. -I./sys -I../include -W -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Winline -DDYNAMIC_CRC_TABLE -DPNG_NO_CONSOLE_IO -DPNG_NO_WRITE_SUPPORTED -DPNG_NO_MNG_FEATURES -DPNG_NO_READ_tIME -DPNG_NO_WRITE_tIME -D__ASSEMBLY__ -c -o setjmp.o setjmp.S setjmp.S:2:3: invalid preprocessing directive #arch setjmp.S:4:3: invalid preprocessing directive #setjmp setjmp.S:8:3: invalid preprocessing directive #The setjmp.S:9:3: invalid preprocessing directive #% setjmp.S:10:3: invalid preprocessing directive #% setjmp.S:11:3: invalid preprocessing directive #% setjmp.S:12:3: invalid preprocessing directive #% setjmp.S:13:3: invalid preprocessing directive #% setjmp.S:14:3: invalid preprocessing directive #< make[2]: *** [setjmp.o] Error 1 make[2]: Leaving directory `/dar/build/syslinux-3.72/com32/lib' make[1]: *** [install] Error 2 make[1]: Leaving directory `/dar/build/syslinux-3.72/com32' make: *** [install] Error 2 Easy to fix ? -- -- dag wieers, dag at wieers.com, http://dag.wieers.com/ -- [Any errors in spelling, tact or fact are transmission errors]
utils/ppmtolss16 doesn't use MCONFIG's PERL variable: make[1]: Entering directory `/home/gzp/src/syslinux-3.72/sample' gzip -cd syslogo.ppm.gz | \ ../utils/ppmtolss16 \#000000=0 \#d0d0d0=7 \#f6f6f6=15 \ > syslogo.lss /bin/sh: ../utils/ppmtolss16: /usr/bin/perl: bad interpreter: No such file or directory make[1]: *** [syslogo.lss] Error 126
Hi Peter et al, I may be missing something but I couldn't find much on how to compile syslinux either within the 3.72 tar ball or on the web site or at the wiki... I'd always just done: cd syslinux-3.72 make After perusing MCONFIG and the Makefile. So it may be down to my ignorance that I get the following when compiling syslinux. The problem being the setjmp.c com32 library file: make[2]: Entering directory `/home/dscoular/projects/syslinux-3.72/com32/lib' gcc -Wp,-MT,setjmp.o,-MD,./.setjmp.o.d -Os -march=i386 -falign-functions=0 -falign-jumps=0 -falign-labels=0 -ffast-math -fomit-frame-pointer -std=gnu99 -m32 -g -mreg\ parm=3 -DREGPARM=3 -D__COM32__ -nostdinc -iwithprefix include -I. -I./sys -I../include -W -Wall -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Winline -DDYNAMIC_\ CRC_TABLE -DPNG_NO_CONSOLE_IO -DPNG_NO_WRITE_SUPPORTED -DPNG_NO_MNG_FEATURES -DPNG_NO_READ_tIME -DPNG_NO_WRITE_tIME -D__ASSEMBLY__ -c -o setjmp.o setjmp.S setjmp.S:2:3: invalid preprocessing directive #arch setjmp.S:4:3: invalid preprocessing directive #setjmp setjmp.S:8:3: invalid preprocessing directive #The setjmp.S:9:3: invalid preprocessing directive #% setjmp.S:10:3: invalid preprocessing directive #% setjmp.S:11:3: invalid preprocessing directive #% setjmp.S:12:3: invalid preprocessing directive #% setjmp.S:13:3: invalid preprocessing directive #% setjmp.S:14:3: invalid preprocessing directive #< make[2]: *** [setjmp.o] Error 1 I had thought this was a simple case of the "#" character having been used by mistake instead of the ';' character so I changed them... but still no joy. Then I discovered the -std=gnu99 wasn't present in 3.71... removed it from the MCONFIG local to com32/lib and got a little further. I then stumbled upon the thread discussing this in the list: http://www.gossamer-threads.com/lists/syslinux/announce/9503 Since syslinux cannot be compiled in it's current state in RHEL3 and RHEL4... can a new release be made with the patches applied ? syslinux 3.72.1 or somesuch ? Cheers, Doug -- The big print giveth and the small print taketh away.