From 9d6a4dedc2736389349345c29d3a8a48b7b70692 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 18 Feb 2010 17:12:59 +0100 Subject: Cleaning up usb helpers for a future usb-zip addition. --- helpers/binary | 2 +- helpers/binary_debian-installer | 14 +- helpers/binary_disk | 2 +- helpers/binary_grub | 4 +- helpers/binary_grub2 | 4 +- helpers/binary_includes | 17 +-- helpers/binary_local-includes | 9 +- helpers/binary_silo | 4 +- helpers/binary_syslinux | 8 +- helpers/binary_usb | 280 ++++++++++++++++++++++++++++++++++++++++ helpers/binary_usb-hdd | 280 ---------------------------------------- helpers/binary_yaboot | 19 +-- helpers/source | 2 +- helpers/source_usb | 139 ++++++++++++++++++++ helpers/source_usb-hdd | 139 -------------------- 15 files changed, 465 insertions(+), 458 deletions(-) create mode 100755 helpers/binary_usb delete mode 100755 helpers/binary_usb-hdd create mode 100755 helpers/source_usb delete mode 100755 helpers/source_usb-hdd (limited to 'helpers') diff --git a/helpers/binary b/helpers/binary index b0f81ae1f..234d8985f 100755 --- a/helpers/binary +++ b/helpers/binary @@ -78,7 +78,7 @@ fi lh binary_iso ${*} lh binary_net ${*} lh binary_tar ${*} -lh binary_usb-hdd ${*} +lh binary_usb ${*} lh binary_virtual-hdd ${*} if [ "${LH_CHROOT_BUILD}" = "true" ] diff --git a/helpers/binary_debian-installer b/helpers/binary_debian-installer index cb1af389c..d525ca6bf 100755 --- a/helpers/binary_debian-installer +++ b/helpers/binary_debian-installer @@ -83,7 +83,7 @@ case "${LH_BINARY_IMAGES}" in DESTDIR="tftpboot/debian-install/${LH_ARCHITECTURE}" ;; - tar|usb-hdd) + usb*|tar) DESTDIR="binary/install" ;; @@ -601,10 +601,14 @@ EOF ln -s ${LH_DEBIAN_INSTALLER_DISTRIBUTION} binary/dists/${DISTRIBUTION} done - if [ "${LH_BINARY_IMAGES}" != "usb-hdd" ] - then - ln -s . binary/debian - fi + case "${LH_BINARY_IMAGES}" in + usb*) + ;; + + *) + ln -s . binary/debian + ;; + esac # Including preseeding files if Find_files config/binary_debian-installer/*.cfg diff --git a/helpers/binary_disk b/helpers/binary_disk index 2bbd73d98..811673471 100755 --- a/helpers/binary_disk +++ b/helpers/binary_disk @@ -24,7 +24,7 @@ Read_conffiles config/all config/common config/bootstrap config/chroot config/bi Set_defaults case "${LH_BINARY_IMAGES}" in - iso|usb-hdd) + iso|usb*) ;; *) exit 0 diff --git a/helpers/binary_grub b/helpers/binary_grub index 35fa43d43..b3f9ba1f2 100755 --- a/helpers/binary_grub +++ b/helpers/binary_grub @@ -142,7 +142,7 @@ case "${LH_BINARY_IMAGES}" in DESTDIR_INSTALL="binary/install" ;; - usb-hdd|net) + usb*|net) Echo_warning "Bootloader in this image type not yet supported by live-helper." Echo_warning "This would produce a not bootable image, aborting (FIXME)." exit 1 @@ -280,7 +280,7 @@ case ${LH_BINARY_IMAGES} in FILES="chroot/usr/lib/grub/*/stage2_eltorito" ;; - tar|usb-hdd) + usb*|tar) FILES="chroot/usr/lib/grub/*/stage1 chroot/usr/lib/grub/*/e2fs_stage1_5 chroot/usr/lib/grub/*/stage2" ;; esac diff --git a/helpers/binary_grub2 b/helpers/binary_grub2 index 76b93734c..0cf06183f 100755 --- a/helpers/binary_grub2 +++ b/helpers/binary_grub2 @@ -116,7 +116,7 @@ case "${LH_BINARY_IMAGES}" in DESTDIR_INSTALL="binary/install" ;; - usb-hdd|net) + usb*|net) Echo_warning "Bootloader in this image type not yet supported by live-helper." Echo_warning "This would produce a not bootable image, aborting (FIXME)." exit 1 @@ -253,7 +253,7 @@ case ${LH_BINARY_IMAGES} in FILES="chroot/usr/lib/grub/i386-pc/*.mod chroot/usr/lib/grub/i386-pc/*.lst chroot/usr/lib/grub/i386-pc/efiemu??.o chroot/usr/share/grub/*.pf2" ;; - tar|usb-hdd) + usb*|tar) FILES="chroot/usr/lib/grub/i386-pc/*" ;; esac diff --git a/helpers/binary_includes b/helpers/binary_includes index 196f9027b..e37f4df78 100755 --- a/helpers/binary_includes +++ b/helpers/binary_includes @@ -80,14 +80,15 @@ case "${LH_ARCHITECTURE}" in esac # Working arround vfat limitations -if [ "${LH_BINARY_IMAGE}" = "usb-hdd" ] -then - case "${LH_BINARY_FILESYSTEM}" in - fat*) - CP_OPTIONS="-L" - ;; - esac -fi +case "${LH_BINARY_IMAGES}" in + usb*) + case "${LH_BINARY_FILESYSTEM}" in + fat*) + CP_OPTIONS="-L" + ;; + esac + ;; +esac # Copying common templates if [ -d "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/common ] && \ diff --git a/helpers/binary_local-includes b/helpers/binary_local-includes index 63986aeca..44f93c9dc 100755 --- a/helpers/binary_local-includes +++ b/helpers/binary_local-includes @@ -45,10 +45,11 @@ then cd "${OLDPWD}" # Removing symlinks - if [ "${LH_BINARY_IMAGES}" = "usb-hdd" ] - then - find binary -type l | xargs rm -f - fi + case "${LH_BINARY_IMAGES}" in + usb*) + find binary -type l | xargs rm -f + ;; + esac # Creating stage file Create_stagefile .stage/binary_local-includes diff --git a/helpers/binary_silo b/helpers/binary_silo index d79d0b74d..df7ee1001 100755 --- a/helpers/binary_silo +++ b/helpers/binary_silo @@ -30,7 +30,7 @@ fi # Check image type case "${LH_BINARY_IMAGES}" in - iso|usb-hdd|tar) + iso|usb*|tar) ;; net) @@ -225,7 +225,7 @@ fi LINUX_INSTALL="$(/bin/echo ${LINUX_INSTALL} | sed -e 's|binary||g' -e 's|//|/|g')" case "${LH_BINARY_IMAGES}" in - iso|usb-hdd) + iso|usb*) # Copying silo mkdir -p binary/boot diff --git a/helpers/binary_syslinux b/helpers/binary_syslinux index ba7f9d530..9d4cab12b 100755 --- a/helpers/binary_syslinux +++ b/helpers/binary_syslinux @@ -90,7 +90,7 @@ Syslinux_live_entry () APPEND="${5}" case "${LH_BINARY_IMAGES}" in - iso|usb-hdd) + iso|usb*) NUMBER="$(ls -1 ${KERNEL_PATH} | grep 'vmlinuz[0-9]\+$' | wc -l)" NUMBER="$((${NUMBER} +1))" @@ -334,7 +334,7 @@ Configure_syslinux_templates () done case "${LH_BINARY_IMAGES}" in - usb-hdd) + usb*) if [ -f "${SYSLINUX_PATH}/exithelp.cfg" ] then sed -i -e "s|config isolinux.cfg|config syslinux.cfg|" "${SYSLINUX_PATH}"/exithelp.cfg @@ -387,7 +387,7 @@ case "${LH_BINARY_IMAGES}" in MEDIA="netboot" ;; - tar|usb-hdd) + usb*|tar) SYSLINUX_PATH="binary/syslinux" KERNEL_PATH="binary/${INITFS}" SCREEN_PATH="${SYSLINUX_PATH}" @@ -631,7 +631,7 @@ case "${LH_BINARY_IMAGES}" in fi ;; - tar|usb-hdd) + usb*|tar) case "${LH_CHROOT_BUILD}" in true) cp chroot/usr/lib/syslinux/isolinux.bin ${SCREEN_PATH}/syslinux.bin diff --git a/helpers/binary_usb b/helpers/binary_usb new file mode 100755 index 000000000..59aae15ba --- /dev/null +++ b/helpers/binary_usb @@ -0,0 +1,280 @@ +#!/bin/sh + +# lh_binary_usb(1) - build binary usb image +# 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 '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_CHROOT_BUILD}" 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_CHROOT_BUILD}" 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_CHROOT_BUILD}" 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 diff --git a/helpers/binary_usb-hdd b/helpers/binary_usb-hdd deleted file mode 100755 index 53d9e37c0..000000000 --- a/helpers/binary_usb-hdd +++ /dev/null @@ -1,280 +0,0 @@ -#!/bin/sh - -# lh_binary_usb-hdd(1) - build binary usb-hdd image -# 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 '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-hdd image..." - -# Requiring stage file -Require_stagefile .stage/config .stage/bootstrap .stage/chroot_proc - -# Checking stage file -Check_stagefile .stage/binary_usb-hdd - -# 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_CHROOT_BUILD}" 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_CHROOT_BUILD}" 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_CHROOT_BUILD}" 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-hdd diff --git a/helpers/binary_yaboot b/helpers/binary_yaboot index fdd857d99..ef44e6e68 100755 --- a/helpers/binary_yaboot +++ b/helpers/binary_yaboot @@ -149,7 +149,7 @@ case "${LH_BINARY_IMAGES}" in DESTDIR_INSTALL="binary/install" ;; - net|tar|usb-hdd) + usb*|net|tar) Echo_error "not yet supported, aborting (FIXME)." exit 1 ;; @@ -272,7 +272,7 @@ fi LINUX_INSTALL="$(/bin/echo ${LINUX_INSTALL} | sed -e 's|binary||g' -e 's|//|/|g')" case "${LH_BINARY_IMAGES}" in - iso|usb-hdd) + iso|usb*) # Copying yaboot mkdir -p binary/yaboot @@ -288,13 +288,14 @@ case "${LH_BINARY_IMAGES}" in cp -r "${TEMPLATES}"/* binary/yaboot - if [ "${LH_BINARY_IMAGES}" = "usb-hdd" ] - then - mv binary/yaboot/yaboot.conf binary/yaboot/yaboot.conf.tmp - echo "root=/dev/ram" > binary/yaboot/yaboot.conf - cat binary/yaboot/yaboot.conf.tmp >> binary/yaboot/yaboot.conf - rm -f binary/yaboot/yaboot.conf.tmp - fi + case "${LH_BINARY_IMAGES}" in + usb*) + mv binary/yaboot/yaboot.conf binary/yaboot/yaboot.conf.tmp + echo "root=/dev/ram" > binary/yaboot/yaboot.conf + cat binary/yaboot/yaboot.conf.tmp >> binary/yaboot/yaboot.conf + rm -f binary/yaboot/yaboot.conf.tmp + ;; + esac # Configure yaboot templates sed -i -e "s|LINUX_LIVE|${LINUX_LIVE}|" -e "s|LINUX_INSTALL|${LINUX_INSTALL}|" binary/yaboot/yaboot.conf diff --git a/helpers/source b/helpers/source index 8d11c443b..178321680 100755 --- a/helpers/source +++ b/helpers/source @@ -44,7 +44,7 @@ lh source_md5sum ${*} lh source_iso ${*} lh source_net ${*} lh source_tar ${*} -lh source_usb-hdd ${*} +lh source_usb ${*} lh source_virtual-hdd ${*} # Deconfiguring chroot diff --git a/helpers/source_usb b/helpers/source_usb new file mode 100755 index 000000000..606538234 --- /dev/null +++ b/helpers/source_usb @@ -0,0 +1,139 @@ +#!/bin/sh + +# lh_source_usb(1) - build source usb image +# 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 'build source 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 [ "${LH_SOURCE}" != "true" ] +then + exit 0 +fi + +if ! In_list usb-hdd "${LH_SOURCE_IMAGES}" +then + exit 0 +fi + +Echo_message "Begin building source usb image..." + +# Requiring stage file +Require_stagefile .stage/config .stage/source_debian + +# Checking stage file +Check_stagefile .stage/source_usb + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +# Checking depends +Check_package chroot/sbin/mkdosfs dosfstools +Check_package chroot/sbin/parted parted + +# Installing depends +Install_package + +# Remove old source +if [ -f source.img ] +then + rm -f source.img +fi + +# Everything which comes here needs to be cleaned up, +DU_DIM="$(du -ms source | cut -f1)" +REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LH_BINARY_FILESYSTEM})" +dd if=/dev/zero of=source.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 + +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 + +Echo_warning "!!! The following error/warning messages can be ignored !!!" +Losetup $FREELO source.img 0 +Chroot chroot "parted -s ${FREELO} mklabel msdos" || true +Chroot chroot "parted -s ${FREELO} mkpart primary ${PARTITION_TYPE} 0.0 100%" || true +Chroot chroot "parted -s ${FREELO} set 1 lba off" || true +sleep 1 +${LH_LOSETUP} -d ${FREELO} + +Losetup $FREELO source.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 + +Chroot chroot "mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}" + +mkdir -p source.tmp +${LH_ROOT_COMMAND} mount ${FREELO} source.tmp +cp -r source/* source.tmp +${LH_ROOT_COMMAND} umount source.tmp +rmdir source.tmp +sleep 1 +${LH_LOSETUP} -d ${FREELO} +Echo_warning "!!! The above error/warning messages can be ignored !!!" + +if [ -n "${MAKEDEV}" ] +then + rm -rf chroot/dev + mv chroot/dev.tmp chroot/dev +fi + +# Removing depends +Remove_package + +# Creating stage file +Create_stagefile .stage/source_usb diff --git a/helpers/source_usb-hdd b/helpers/source_usb-hdd deleted file mode 100755 index e8cd8caeb..000000000 --- a/helpers/source_usb-hdd +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/sh - -# lh_source_usb-hdd(1) - build source usb-hdd image -# 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 'build source 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 [ "${LH_SOURCE}" != "true" ] -then - exit 0 -fi - -if ! In_list usb-hdd "${LH_SOURCE_IMAGES}" -then - exit 0 -fi - -Echo_message "Begin building source usb-hdd image..." - -# Requiring stage file -Require_stagefile .stage/config .stage/source_debian - -# Checking stage file -Check_stagefile .stage/source_usb-hdd - -# Checking lock file -Check_lockfile .lock - -# Creating lock file -Create_lockfile .lock - -# Checking depends -Check_package chroot/sbin/mkdosfs dosfstools -Check_package chroot/sbin/parted parted - -# Installing depends -Install_package - -# Remove old source -if [ -f source.img ] -then - rm -f source.img -fi - -# Everything which comes here needs to be cleaned up, -DU_DIM="$(du -ms source | cut -f1)" -REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LH_BINARY_FILESYSTEM})" -dd if=/dev/zero of=source.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 - -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 - -Echo_warning "!!! The following error/warning messages can be ignored !!!" -Losetup $FREELO source.img 0 -Chroot chroot "parted -s ${FREELO} mklabel msdos" || true -Chroot chroot "parted -s ${FREELO} mkpart primary ${PARTITION_TYPE} 0.0 100%" || true -Chroot chroot "parted -s ${FREELO} set 1 lba off" || true -sleep 1 -${LH_LOSETUP} -d ${FREELO} - -Losetup $FREELO source.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 - -Chroot chroot "mkfs.${MKFS} ${MKFS_OPTIONS} ${FREELO}" - -mkdir -p source.tmp -${LH_ROOT_COMMAND} mount ${FREELO} source.tmp -cp -r source/* source.tmp -${LH_ROOT_COMMAND} umount source.tmp -rmdir source.tmp -sleep 1 -${LH_LOSETUP} -d ${FREELO} -Echo_warning "!!! The above error/warning messages can be ignored !!!" - -if [ -n "${MAKEDEV}" ] -then - rm -rf chroot/dev - mv chroot/dev.tmp chroot/dev -fi - -# Removing depends -Remove_package - -# Creating stage file -Create_stagefile .stage/source_usb-hdd -- cgit v1.2.3