#!/bin/sh # lh_binary_net(1) - build netboot binary image # Copyright (C) 2006-2008 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="${LH_BASE:-/usr/share/live-helper}" for FUNCTION in "${LH_BASE}"/functions/*.sh do . "${FUNCTION}" done # Setting static variables DESCRIPTION="build netboot binary image" HELP="" USAGE="${PROGRAM} [--force]" Arguments "${@}" # Reading configuration files Read_conffile config/all config/common config/bootstrap config/chroot config/binary config/source Set_defaults if ! echo "${LH_BINARY_IMAGES}" | grep -qs net then exit 0 fi if [ "${LH_NET_TARBALL}" = "none" ] then exit 0 fi Echo_message "Begin building binary netboot image..." # Requiring stage file Require_stagefile .stage/bootstrap # Checking stage file Check_stagefile .stage/binary_net # Checking lock file Check_lockfile .lock # Creating lock file Create_lockfile .lock # Remove old binary rm -f binary-net.tar.bz2 rm -f binary-net.tar.gz rm -f binary-net.tar # Creating image file ROOT_DIR=$(basename ${LH_NET_ROOT_PATH}) if [ "${ROOT_DIR}" = "chroot" ] then mv chroot chroot.tmp fi if [ "${ROOT_DIR}" != "binary" ] then mv binary ${ROOT_DIR} fi cd .. case "${LH_NET_TARBALL}" in bzip2) tar cfj binary-net-tar.bz2 "$(basename ${OLDPWD})/${ROOT_DIR}" "$(basename ${OLDPWD})/tftpboot" mv binary-net.tar.bz2 "${OLDPWD}" ;; gzip) tar cfz binary-net.tar.gz "$(basename ${OLDPWD})/${ROOT_DIR}" "$(basename ${OLDPWD})/tftpboot" mv binary-net.tar.gz "${OLDPWD}" ;; tar) tar cf binary-net.tar "$(basename ${OLDPWD})/${ROOT_DIR}" "$(basename ${OLDPWD})/tftpboot" mv binary-net.tar "${OLDPWD}" ;; esac cd "${OLDPWD}" if [ "${ROOT_DIR}" != "binary" ] then mv ${ROOT_DIR} binary fi if [ "${ROOT_DIR}" = "chroot" ] then mv chroot.tmp chroot fi # Creating stage file Create_stagefile .stage/binary_net