#!/bin/sh # lh_binary_memtest(1) - installs a memtest into binary # Copyright (C) 2006-2009 Daniel Baumann # # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING. # This is free software, and you are welcome to redistribute it # under certain conditions; see COPYING for details. set -e # Including common functions . "${LH_BASE:-/usr/share/live-helper}"/live-helper.sh # Setting static variables DESCRIPTION="$(Echo 'installs a memtest into binary')" HELP="" USAGE="${PROGRAM} [--force]" Arguments "${@}" # Reading configuration files Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source Set_defaults if [ "${LH_BINARY_IMAGES}" = "virtual-hdd" ] || [ "${LH_MEMTEST}" = "false" ] || [ "${LH_MEMTEST}" = "none" ] then exit 0 fi Echo_message "Begin installing memtest..." # Requiring stage file Require_stagefile .stage/config .stage/bootstrap # Checking stage file Check_stagefile .stage/binary_memtest # Checking lock file Check_lockfile .lock # Creating lock file Create_lockfile .lock if [ "${LH_ARCHITECTURE}" != "amd64" ] && [ "${LH_ARCHITECTURE}" != "i386" ] then Echo_warning "skipping binary_memtest, foreign architecture." exit 0 fi if [ "${LH_CHROOT_BUILD}" = "true" ] then if [ -f chroot/usr/sbin/grub ] && [ ! -f chroot/boot/grub/menu.lst ] then GRUB="yes" mkdir -p chroot/boot/grub touch chroot/boot/grub/menu.lst fi fi # Checking depends case "${LH_MEMTEST}" in memtest86) Check_package chroot/boot/memtest86.bin memtest86 ;; memtest86+) Check_package chroot/boot/memtest86+.bin memtest86+ ;; esac # Restoring cache Restore_cache cache/packages_binary # Installing depends Install_package # Setting destination directory case "${LH_INITRAMFS}" in casper) DESTDIR="binary/casper" ;; live-initramfs) DESTDIR="binary/live" ;; esac Check_multiarchitecture # Creating directory mkdir -p "${DESTDIR}" # Installing memtest case "${LH_CHROOT_BUILD}" in true) cp chroot/boot/${LH_MEMTEST}.bin "${DESTDIR}"/memtest ;; false) cp /boot/${LH_MEMTEST}.bin "${DESTDIR}"/memtest ;; esac # Saving cache Save_cache cache/packages_binary # Removing depends Remove_package if [ "${GRUB}" ] then rm -rf chroot/boot/grub fi # Creating stage file Create_stagefile .stage/binary_memtest