Browse Source

[build] Update build system for Syslinux 6.x

Syslinux 6.x places its files into a bios subdirectory, and requires
that a ldlinux.c32 module be included within the ISO image.  Add the
relevant search paths for isolinux.bin, and include the file
ldlinux.c32 within the ISO image if it exists.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Christian Hesse 11 years ago
parent
commit
3f9a482b88
2 changed files with 12 additions and 1 deletions
  1. 4
    1
      src/arch/i386/Makefile
  2. 8
    0
      src/util/geniso

+ 4
- 1
src/arch/i386/Makefile View File

74
 ISOLINUX_BIN_LIST	:= \
74
 ISOLINUX_BIN_LIST	:= \
75
 	$(ISOLINUX_BIN) \
75
 	$(ISOLINUX_BIN) \
76
 	/usr/lib/syslinux/isolinux.bin \
76
 	/usr/lib/syslinux/isolinux.bin \
77
+	/usr/lib/syslinux/bios/isolinux.bin \
77
 	/usr/share/syslinux/isolinux.bin \
78
 	/usr/share/syslinux/isolinux.bin \
78
-	/usr/local/share/syslinux/isolinux.bin
79
+	/usr/share/syslinux/bios/isolinux.bin \
80
+	/usr/local/share/syslinux/isolinux.bin \
81
+	/usr/local/share/syslinux/bios/isolinux.bin
79
 ISOLINUX_BIN	= $(firstword $(wildcard $(ISOLINUX_BIN_LIST)))
82
 ISOLINUX_BIN	= $(firstword $(wildcard $(ISOLINUX_BIN_LIST)))
80
 
83
 
81
 # i386-specific directories containing source files
84
 # i386-specific directories containing source files

+ 8
- 0
src/util/geniso View File

38
 dir=`mktemp -d bin/iso.dir.XXXXXX`
38
 dir=`mktemp -d bin/iso.dir.XXXXXX`
39
 cfg=$dir/isolinux.cfg
39
 cfg=$dir/isolinux.cfg
40
 cp -p $isolinux_bin $dir
40
 cp -p $isolinux_bin $dir
41
+
42
+# syslinux 6.x needs a file called ldlinux.c32
43
+ldlinux_c32=$(dirname ${isolinux_bin})/ldlinux.c32
44
+if [ -s ${ldlinux_c32} ]
45
+then
46
+	cp -p ${ldlinux_c32} ${dir}
47
+fi
48
+
41
 cat > $cfg <<EOF
49
 cat > $cfg <<EOF
42
 # These default options can be changed in the geniso script
50
 # These default options can be changed in the geniso script
43
 SAY iPXE ISO boot image
51
 SAY iPXE ISO boot image

Loading…
Cancel
Save