#!/bin/sh # lh_binary_iso(1) - build iso binary image # Copyright (C) 2006-2007 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 # Source common functions for FUNCTION in /usr/share/live-helper/functions/*.sh do . ${FUNCTION} done # Set static variables DESCRIPTION="build iso binary image" HELP="" USAGE="${PROGRAM} [--force]" Arguments "${@}" Echo_debug "Init ${PROGRAM}" # Reading configuration files Read_conffile config/common Read_conffile config/bootstrap Read_conffile config/chroot Read_conffile config/binary Read_conffile config/source Set_defaults for IMAGE in ${LIVE_BINARY_IMAGES} do if [ "${IMAGE}" = "iso" ] then Breakpoint "binary_iso: Init" # Requiring stage file Require_stagefile .stage/bootstrap # Checking stage file Check_stagefile .stage/binary_iso # Checking lock file Check_lockfile .lock # Creating lock file Create_lockfile .lock # Checking depends Check_package chroot/usr/bin/"${LH_GENISOIMAGE}" ${LH_GENISOIMAGE} # Installing depends Install_package # Remove old iso image if [ -f binary.iso ] then rm -f binary.iso fi if [ "${LH_VERBOSE}" = "enabled" ] then GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -v" fi # Moving image mv binary chroot # Create image if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] then case "${LIVE_BOOTLOADER}" in grub) GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -b boot/grub/stage2_eltorito" if [ "${LIVE_PACKAGES_LISTS}" = "mini" ] || [ "${LIVE_PACKAGES_LISTS}" = "minimal" ] then GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -m boot/grub/stage2_eltorito" fi ;; syslinux) GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -b isolinux/isolinux.bin -c isolinux/boot.cat" if [ "${LIVE_PACKAGES_LISTS}" = "mini" ] || [ "${LIVE_PACKAGES_LISTS}" = "minimal" ] then GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -m isolinux/isolinux.bin" fi ;; *) Echo_warning "Bootloader on your architecture not yet supported (Continuing in 5 seconds)." sleep 5 ;; esac GENISOIMAGE_OPTIONS="${GENISOIMAGE_OPTIONS} -no-emul-boot -boot-load-size 4 -boot-info-table" fi cat >> chroot/binary.sh << EOF ${LH_GENISOIMAGE} ${GENISOIMAGE_OPTIONS} -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -V "${LIVE_ISO_VOLUME}" -o binary.iso -r -J -l -cache-inodes binary EOF Chroot "sh binary.sh" # Move image mv chroot/binary chroot/binary.iso ./ rm -f chroot/binary.sh # Removing depends Remove_package # Creating stage file Create_stagefile .stage/binary_iso fi done