diff options
author | intrigeri <intrigeri@boum.org> | 2015-06-12 12:22:47 +0000 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2015-06-12 15:45:06 +0000 |
commit | e1d331aa9a06b4a115f9f2aee713ea6a40d3e3d8 (patch) | |
tree | 4efc7cb2a6e7404d9aeedaf8e9839bb46b868b78 /config/binary_local-hooks | |
parent | 716f3b3a5cf66071e23bd6979515ba9f25bd41a5 (diff) |
Include a syslinux 64-bit binary in the ISO filesystem.
Will-fix: #9381
Diffstat (limited to 'config/binary_local-hooks')
-rwxr-xr-x | config/binary_local-hooks/40-include_syslinux_in_ISO_filesystem | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/config/binary_local-hooks/40-include_syslinux_in_ISO_filesystem b/config/binary_local-hooks/40-include_syslinux_in_ISO_filesystem index 37ec461..4991739 100755 --- a/config/binary_local-hooks/40-include_syslinux_in_ISO_filesystem +++ b/config/binary_local-hooks/40-include_syslinux_in_ISO_filesystem @@ -21,6 +21,12 @@ Set_defaults # Seems like we'll have work to do Echo_message 'including syslinux in the ISO filesystem' +### Functions + +syslinux_deb_version_in_chroot () { + chroot chroot dpkg-query -W -f='${Version}\n' syslinux +} + ### Variables LINUX_BINARY_UTILS_DIR='binary/utils/linux' WIN32_BINARY_UTILS_DIR='binary/utils/win32' @@ -28,16 +34,31 @@ BINARY_MBR_DIR='binary/utils/mbr' CHROOT_SYSLINUX_BIN='chroot/usr/bin/syslinux' CHROOT_SYSLINUX_MBR='chroot/usr/lib/SYSLINUX/gptmbr.bin' CHROOT_TEMP_APT_SOURCES='chroot/etc/apt/sources.list.d/tmp-deb-src.list' - -### Functions - -syslinux_deb_version_in_chroot () { - chroot chroot dpkg-query -W -f='${Version}\n' syslinux -} +SYSLINUX_DEB_VERSION_IN_CHROOT=$(syslinux_deb_version_in_chroot) ### Main mkdir -p "$LINUX_BINARY_UTILS_DIR" "$WIN32_BINARY_UTILS_DIR" "$BINARY_MBR_DIR" + +# Copy 32-bit syslinux binary cp "$CHROOT_SYSLINUX_BIN" "$LINUX_BINARY_UTILS_DIR/" + +# Copy 64-bit syslinux binary +( + olddir=$(pwd) + workdir=$(mktemp -d) + cd "$workdir" + chroot="$olddir/chroot" + Chroot "$chroot" \ + apt-get --yes download \ + syslinux:amd64="$SYSLINUX_DEB_VERSION_IN_CHROOT" + dpkg-deb --extract "$chroot"/syslinux_*.deb . + rm "$chroot"/syslinux_*.deb + cp ./usr/bin/syslinux "$olddir/$LINUX_BINARY_UTILS_DIR/syslinux-amd64" + cd "$olddir" + rm -r "$workdir" +) + +# Copy syslinux MBR cp "$CHROOT_SYSLINUX_MBR" "$BINARY_MBR_DIR/mbr.bin" cat chroot/etc/apt/sources.list chroot/etc/apt/sources.list.d/*.list \ @@ -47,7 +68,7 @@ cat chroot/etc/apt/sources.list chroot/etc/apt/sources.list.d/*.list \ > "$CHROOT_TEMP_APT_SOURCES" Chroot chroot apt-get --yes update Chroot chroot apt-get --yes install dpkg-dev -Chroot chroot apt-get source syslinux="$(syslinux_deb_version_in_chroot)" +Chroot chroot apt-get source syslinux="$SYSLINUX_DEB_VERSION_IN_CHROOT" cp chroot/syslinux-*/bios/win32/syslinux.exe "$WIN32_BINARY_UTILS_DIR/" rm -r chroot/syslinux* rm "$CHROOT_TEMP_APT_SOURCES" |