summaryrefslogtreecommitdiffstats
path: root/config/binary_local-hooks
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2015-07-07 22:08:07 +0000
committerintrigeri <intrigeri@boum.org>2015-07-07 22:08:07 +0000
commit3a3fd74b3b644bcf336dde83ad3811c8a7abbf84 (patch)
tree9139e0b734c5d5cca2d206befe5e977707cf4720 /config/binary_local-hooks
parent1723247ebd6bed555148734469dab0d3ed62f753 (diff)
parent6c125cbf13baa69f92a2cb77aa36c338d5522187 (diff)
Merge remote-tracking branch 'origin/devel' into feature/8471-32-bit-UEFI
Diffstat (limited to 'config/binary_local-hooks')
-rwxr-xr-xconfig/binary_local-hooks/40-include_syslinux_in_ISO_filesystem39
1 files changed, 30 insertions, 9 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 aed5f33..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,23 +21,44 @@ Set_defaults
# Seems like we'll have work to do
Echo_message 'including syslinux in the ISO filesystem'
-# Variables
+### 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'
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'
+SYSLINUX_DEB_VERSION_IN_CHROOT=$(syslinux_deb_version_in_chroot)
-# Functions
-
-syslinux_deb_version_in_chroot () {
- chroot chroot dpkg-query -W -f='${Version}\n' syslinux
-}
-
-# Main
+### 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"