diff options
Diffstat (limited to 'helpers/binary_usb')
-rwxr-xr-x | helpers/binary_usb | 280 |
1 files changed, 0 insertions, 280 deletions
diff --git a/helpers/binary_usb b/helpers/binary_usb deleted file mode 100755 index 7d84305..0000000 --- a/helpers/binary_usb +++ /dev/null @@ -1,280 +0,0 @@ -#!/bin/sh - -# lh_binary_usb(1) - build binary usb image -# Copyright (C) 2006-2010 Daniel Baumann <daniel@debian.org> -# -# 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 'build binary image')" -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 ! In_list usb-hdd "${LH_BINARY_IMAGES}" -then - exit 0 -fi - -Echo_message "Begin building binary usb image..." - -# Requiring stage file -Require_stagefile .stage/config .stage/bootstrap .stage/chroot_proc - -# Checking stage file -Check_stagefile .stage/binary_usb - -# Checking lock file -Check_lockfile .lock - -# Creating lock file -Create_lockfile .lock - -# Checking depends -Check_package chroot/sbin/mkdosfs dosfstools -Check_package chroot/usr/share/doc/mtools mtools -Check_package chroot/sbin/parted parted - -if [ "${LH_ARCHITECTURE}" = "sparc" ] -then - case "${LH_BINARY_FILESYSTEM}" in - ext2|ext3) - Check_package chroot/sbin/mkfs.ext2 e2fsprogs - ;; - - *) - Echo_error "Sparc only supports booting from ext2, ext3 (or ufs)" - exit 1 - ;; - esac -fi - -case "${LH_BOOTLOADER}" in - grub) - Check_package chroot/usr/sbin/grub grub - ;; - - syslinux) - Check_package chroot/usr/bin/syslinux syslinux - ;; -esac - -# Restoring cache -Restore_cache cache/packages_binary - -# Installing depends -Install_package - -# Remove old binary -if [ -f binary.img ] -then - rm -f binary.img -fi - -# Enforce fat32 if we find individual files bigger than 2GB -if [ "${LH_BINARY_FILESYSTEM}" = "fat16" ] && [ -n "$(find binary -size +1999M)" ] -then - Echo_warning "FAT16 doesn't support files larger than 2GB, automatically enforcing FAT32." - - LH_BINARY_FILESYSTEM="fat32" - export LH_BINARY_FILESYSTEM -fi - -# Enforce fat32 if we have images in total bigger than 2GB -if [ "${LH_BINARY_FILESYSTEM}" = "fat16" ] && [ "$(du -s binary | awk '{ print $1 }')" -gt "1900000" ] -then - Echo_warning "FAT16 doesn't support partitions larger than 2GB, automatically enforcing FAT32" - - LH_BINARY_FILESYSTEM="fat32" - export LH_BINARY_FILESYSTEM -fi - -# Everything which comes here needs to be cleaned up, -DU_DIM="$(du -ms binary | cut -f1)" -REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LH_BINARY_FILESYSTEM})" -dd if=/dev/zero of=chroot/binary.img bs=1024k count=0 seek=${REAL_DIM} -FREELO="$(${LH_LOSETUP} -f)" -if [ ! -b chroot/${FREELO} ] -then - MAKEDEV="true" - - mv chroot/dev chroot/dev.tmp - find /dev | cpio -dmpu chroot -fi - -echo "!!! The following error/warning messages can be ignored !!!" -Losetup $FREELO chroot/binary.img 0 - -case "${LH_ARCHITECTURE}" in - sparc) - PARTITION_TABLE_TYPE="sun" - ;; - *) - PARTITION_TABLE_TYPE="msdos" - ;; -esac - -case "${LH_BINARY_FILESYSTEM}" in - ext2|ext3) - PARTITION_TYPE="ext2" - ;; - - fat16|fat32) - PARTITION_TYPE="${LH_BINARY_FILESYSTEM}" - ;; - - *) - Echo_error "Unsupported binary filesystem %s" "${LH_BINARY_FILESYSTEM}" - exit 1 - ;; -esac - -case "${LH_BUILD_WITH_CHROOT}" in - true) - Chroot chroot "parted -s ${FREELO} mklabel ${PARTITION_TABLE_TYPE}" || true - Chroot chroot "parted -s ${FREELO} mkpart primary ${PARTITION_TYPE} 0.0 100%" || true - Chroot chroot "parted -s ${FREELO} set 1 boot on" || true - Chroot chroot "parted -s ${FREELO} set 1 lba off" || true - - if [ "${LH_BOOTLOADER}" = "syslinux" ] - then - dd if=chroot/usr/lib/syslinux/mbr.bin of=${FREELO} bs=440 count=1 - fi - ;; - - false) - parted -s ${FREELO} mklabel ${PARTITION_TABLE_TYPE} || true - parted -s ${FREELO} mkpart primary ${PARTITION_TYPE} 0.0 100% || true - parted -s ${FREELO} set 1 boot on || true - parted -s ${FREELO} set 1 lba off || true - - if [ "${LH_BOOTLOADER}" = "syslinux" ] - then - dd if=/usr/lib/syslinux/mbr.bin of=${FREELO} bs=440 count=1 - fi - ;; -esac - -sleep 1 -${LH_LOSETUP} -d ${FREELO} - -FREELO="$(${LH_LOSETUP} -f)" -Losetup $FREELO chroot/binary.img 1 - -case "${LH_BINARY_FILESYSTEM}" in - ext2|ext3) - MKFS="${LH_BINARY_FILESYSTEM}" - MKFS_OPTIONS="-L DEBIAN_LIVE -m 0" - ;; - - fat16) - MKFS="vfat" - MKFS_OPTIONS="-F 16 -n DEBIAN_LIVE" - ;; - - fat32) - MKFS="vfat" - MKFS_OPTIONS="-F 32 -n DEBIAN_LIVE" - ;; -esac - -case "${LH_BUILD_WITH_CHROOT}" in - true) - Chroot chroot "mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}" - ;; - - false) - mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO} - ;; -esac - -case "${LH_BINARY_FILESYSTEM}" in - fat*) - CP_OPTIONS="-L" - ;; -esac - -mkdir -p chroot/binary.tmp -${LH_ROOT_COMMAND} mount ${FREELO} chroot/binary.tmp -cp -r -T ${CP_OPTIONS} binary/ chroot/binary.tmp - -FIXME() -{ -if [ "${LH_BOOTLOADER}" = "grub" ] -then - -cat > chroot/grub.sh << EOF -cd binary.tmp -grub --batch << EOM -find /live/vmlinuz -EOM -EOF - - rootpartition="$(Chroot chroot 'sh grub.sh' 2>/dev/null | grep -A 1 'find /live/vmlinuz' | grep -v 'find /live/vmlinuz')" - usbdev="$(echo $rootpartition | sed -e 's|,[[:digit:]]||')" - echo "Root partition is $rootpartition, device is: $usbdev" - - echo "WAITING..." && read WAIT - -#cat > chroot/grub.sh << EOF -#grub --batch << EOM -#root $rootpartition -#setup $usbdev -#EOM -#EOF - -#Chroot chroot "sh grub.sh" - - rm -f chroot/grub.sh -fi -} - -${LH_ROOT_COMMAND} umount chroot/binary.tmp -rmdir chroot/binary.tmp - -if [ "${LH_BOOTLOADER}" = "syslinux" ] -then - case "${LH_BUILD_WITH_CHROOT}" in - true) - Chroot chroot "syslinux ${FREELO}" - ;; - - false) - syslinux ${FREELO} - ;; - esac -fi - -sleep 1 -${LH_LOSETUP} -d ${FREELO} - -echo "!!! The above error/warning messages can be ignored !!!" - -if [ -n "${MAKEDEV}" ] -then - rm -rf chroot/dev - mv chroot/dev.tmp chroot/dev -fi - -mv chroot/binary.img ./ - -# Saving cache -Save_cache cache/packages_binary - -# Removing depends -Remove_package - -# Creating stage file -Create_stagefile .stage/binary_usb |