X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=grml-live;h=c5c225018d6afaec58404ae074662cc7c26c4b1c;hp=b629c12b238261191adc7f8c38c8c506a7497741;hb=7fe3cdb15aca0a8f4412d234964dd2fb4705e9d8;hpb=9aa2a9203c13b24ea303c0e022350215dc4a113e diff --git a/grml-live b/grml-live index b629c12..c5c2250 100755 --- a/grml-live +++ b/grml-live @@ -893,9 +893,18 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then fi # copy _required_ isolinux files - for file in ifcpu64.c32 isolinux.bin vesamenu.c32; do - copy_addon_file "${file}" /usr/lib/syslinux isolinux - done + if [ -d "${CHROOT_OUTPUT}/usr/lib/ISOLINUX" ] ; then + copy_addon_file isolinux.bin /usr/lib/ISOLINUX isolinux + copy_addon_file ifcpu64.c32 /usr/lib/syslinux/modules/bios/ isolinux + copy_addon_file ldlinux.c32 /usr/lib/syslinux/modules/bios/ isolinux + copy_addon_file libcom32.c32 /usr/lib/syslinux/modules/bios/ isolinux + copy_addon_file libutil.c32 /usr/lib/syslinux/modules/bios/ isolinux + copy_addon_file vesamenu.c32 /usr/lib/syslinux/modules/bios/ isolinux + else # syslinux versions <= 3:4.05+dfsg-6+deb8u1 + copy_addon_file isolinux.bin /usr/lib/syslinux isolinux + copy_addon_file ifcpu64.c32 /usr/lib/syslinux isolinux + copy_addon_file vesamenu.c32 /usr/lib/syslinux isolinux + fi # *always* copy files to output directory so the variables # get adjusted according to the build. @@ -913,8 +922,16 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then copy_addon_file ipxe.lkrn /usr/lib/ipxe addons copy_addon_file pci.ids /usr/share/misc addons copy_addon_file memtest86+.bin /boot addons + + # since syslinux(-common) v3:6.03~pre1+dfsg-4 the files are in a + # different directory :( + if [ -d "${CHROOT_OUTPUT}/usr/lib/syslinux/modules/bios/" ] ; then + syslinux_modules_dir=/usr/lib/syslinux/modules/bios/ + else + syslinux_modules_dir=/usr/lib/syslinux + fi for file in memdisk chain.c32 hdt.c32 mboot.c32 menu.c32; do - copy_addon_file "${file}" /usr/lib/syslinux addons + copy_addon_file "${file}" "${syslinux_modules_dir}" addons done # make memtest filename FAT16/8.3 compatible @@ -1440,10 +1457,18 @@ create_netbootpackage() { mkdir -p "$NETBOOT" - if ! [ -r "${CHROOT_OUTPUT}/usr/lib/syslinux/pxelinux.0" ] ; then - ewarn "File /usr/lib/syslinux/pxelinux.0 not found in build chroot." ; eend 0 + # since syslinux v3:6.03~pre1+dfsg-4 the pxelinux.0 has been split into a + # separate pxelinux package + if [ -d "${CHROOT_OUTPUT}/usr/lib/PXELINUX/" ] ; then + local pxelinux_dir=/usr/lib/PXELINUX + else + local pxelinux_dir=/usr/lib/syslinux + fi + + if ! [ -r "${CHROOT_OUTPUT}/${pxelinux_dir}/pxelinux.0" ] ; then + ewarn "File ${pxelinux_dir}/pxelinux.0 not found in build chroot." ; eend 0 eindent - einfo "Install syslinux[-common] package in chroot to get a netboot package." + einfo "Install syslinux[-common]/pxelinux package in chroot to get a netboot package." eoutdent return 0 fi @@ -1455,7 +1480,7 @@ create_netbootpackage() { cp "${CHROOT_OUTPUT}"/boot/vmlinuz-* "$WORKING_DIR"/vmlinuz cp "${CHROOT_OUTPUT}"/boot/initrd.img-* "$WORKING_DIR"/initrd.img - cp "${CHROOT_OUTPUT}"/usr/lib/syslinux/pxelinux.0 "${WORKING_DIR}/pxelinux.0" + cp "${CHROOT_OUTPUT}/${pxelinux_dir}/pxelinux.0" "${WORKING_DIR}/pxelinux.0" mkdir -p "${WORKING_DIR}/pxelinux.cfg" if [ -r "${BUILD_OUTPUT}/boot/isolinux/netboot.cfg" ] ; then