Переглянути джерело

[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 роки тому
джерело
коміт
3f9a482b88
2 змінених файлів з 12 додано та 1 видалено
  1. 4
    1
      src/arch/i386/Makefile
  2. 8
    0
      src/util/geniso

+ 4
- 1
src/arch/i386/Makefile Переглянути файл

@@ -74,8 +74,11 @@ CFLAGS			+= -Ui386
74 74
 ISOLINUX_BIN_LIST	:= \
75 75
 	$(ISOLINUX_BIN) \
76 76
 	/usr/lib/syslinux/isolinux.bin \
77
+	/usr/lib/syslinux/bios/isolinux.bin \
77 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 82
 ISOLINUX_BIN	= $(firstword $(wildcard $(ISOLINUX_BIN_LIST)))
80 83
 
81 84
 # i386-specific directories containing source files

+ 8
- 0
src/util/geniso Переглянути файл

@@ -38,6 +38,14 @@ shift
38 38
 dir=`mktemp -d bin/iso.dir.XXXXXX`
39 39
 cfg=$dir/isolinux.cfg
40 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 49
 cat > $cfg <<EOF
42 50
 # These default options can be changed in the geniso script
43 51
 SAY iPXE ISO boot image

Завантаження…
Відмінити
Зберегти