live-build/helpers/lh_binary_memtest86

98 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
# lh_binary_memtest86(1) - installs memtest86+
set -e
# Source common functions
for FUNCTION in /usr/share/live-helper/functions/*.sh
do
. ${FUNCTION}
done
# Reading configuration files
Read_conffile config/common
Read_conffile config/bootstrap
Read_conffile config/image
Set_defaults
# Requiring stage file
Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap
# Checking lock file
Check_lockfile "${LIVE_ROOT}"/.lock
# Creating lock file
Create_lockfile "${LIVE_ROOT}"/.lock
# Checking stage file
Check_stagefile "${LIVE_ROOT}"/.stage/binary_memtest86
if [ "${LIVE_ARCHITECTURE}" != "amd64" ] && [ "${LIVE_ARCHITECTURE}" != "i386" ]
then
echo "W: skipping binary_memtest86, foreign architecture."
exit 0
fi
if [ "${LIVE_MEMTEST86}" = "enabled" ]
then
if [ ! -f "${LIVE_CHROOT}"/boot/memtest86+.bin ]
then
PACKAGES="${PACKAGES} memtest86+"
fi
if [ -n "${PACKAGES}" ]
then
# Installing symlinks
case "${LH_APT}" in
apt)
Chroot "apt-get install --yes ${PACKAGES}"
;;
aptitude)
Chroot "aptitude install --assume-yes ${PACKAGES}"
;;
esac
fi
case "${LIVE_BINARY_IMAGE}" in
iso)
DESTDIR="${LIVE_ROOT}/binary/isolinux"
;;
net)
DESTDIR="${LIVE_ROOT}/tftpboot"
;;
usb)
DESTDIR="${LIVE_ROOT}/binary"
;;
esac
# Creating directory
if [ ! -d "${DESTDIR}" ]
then
mkdir -p "${DESTDIR}"
fi
# Installing memtest86+
cp "${LIVE_ROOT}"/chroot/boot/memtest86+.bin "${DESTDIR}"/memtest
if [ -n "${PACKAGES}" ]
then
# Removing syslinux
case "${LH_APT}" in
apt)
Chroot "apt-get remove --purge --yes ${PACKAGES}"
;;
aptitude)
Chroot "aptitude purge --assume-yes ${PACKAGES}"
;;
esac
fi
# Creating stage file
Create_stagefile "${LIVE_ROOT}"/.stage/binary_memtest86
fi