diff options
Diffstat (limited to 'helpers/lh_source_usb')
-rwxr-xr-x | helpers/lh_source_usb | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/helpers/lh_source_usb b/helpers/lh_source_usb index 03e90d7..7df37c7 100755 --- a/helpers/lh_source_usb +++ b/helpers/lh_source_usb @@ -18,7 +18,6 @@ Set_defaults if [ "${LIVE_SOURCE}" = "disabled" ] then - echo "W: source images disabled (FIXME)" exit 0 fi @@ -27,23 +26,23 @@ do if [ "${IMAGE}" = "usb" ] then # Requiring stage file - Require_stagefile "${LIVE_ROOT}"/.stage/source_download + Require_stagefile .stage/source_download # Checking lock file - Check_lockfile "${LIVE_ROOT}"/.lock + Check_lockfile .lock # Creating lock file - Create_lockfile "${LIVE_ROOT}"/.lock + Create_lockfile .lock # Checking stage file - Check_stagefile "${LIVE_ROOT}"/.stage/source_usb + Check_stagefile .stage/source_usb - if [ ! -f "${LIVE_CHROOT}"/sbin/mkdosfs ] + if [ ! -f chroot/sbin/mkdosfs ] then PACKAGES="${PACKAGES} dosfstools" fi - if [ ! -f "${LIVE_CHROOT}"/sbin/parted ] + if [ ! -f chroot/sbin/parted ] then PACKAGES="${PACKAGES} parted" fi @@ -52,7 +51,7 @@ do then # Installing packages case "${LH_APT}" in - apt) + apt|apt-get) Chroot "apt-get install --yes ${PACKAGES}" ;; @@ -63,49 +62,52 @@ do fi # Remove old source - if [ -f "${LIVE_ROOT}"/source.img ] + if [ -f source.img ] then - rm -f "${LIVE_ROOT}"/source.img + rm -f source.img fi # Everything which comes here needs to be cleaned up, - DU_DIM="`du -ms ${LIVE_ROOT}/source | cut -f1`" + DU_DIM="`du -ms source | cut -f1`" REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here... - dd if=/dev/zero of="${LIVE_ROOT}"/source.img bs=1024k count=${REAL_DIM} - FREELO="`losetup -f`" - if [ ! -b "${LIVE_CHROOT}"/${FREELO} ] + dd if=/dev/zero of=source.img bs=1024k count=${REAL_DIM} + FREELO="`${LH_LOSETUP} -f`" + if [ ! -b chroot/${FREELO} ] then MAKEDEV="true" - Chroot "cd /dev && ./MAKEDEV ${FREELO}" + + mv chroot/dev chroot/dev.tmp + find /dev | cpio -dmpu chroot fi echo "!!! The following error/warning messages can be ignored !!!" - lh_losetup $FREELO "${LIVE_ROOT}"/source.img 0 + lh_losetup $FREELO source.img 0 Chroot "parted -s ${FREELO} mklabel msdos" || true Chroot "parted -s ${FREELO} mkpartfs primary fat16 0.0 100%" || true Chroot "parted -s ${FREELO} set 1 lba off" || true - losetup -d ${FREELO} + ${LH_LOSETUP} -d ${FREELO} - lh_losetup $FREELO "${LIVE_ROOT}"/source.img 1 + lh_losetup $FREELO source.img 1 Chroot "mkfs.msdos -n DEBIAN_LIVE ${FREELO}" - mkdir -p "${LIVE_ROOT}"/source.tmp - mount ${FREELO} "${LIVE_ROOT}"/source.tmp - cp -r "${LIVE_ROOT}"/source/* "${LIVE_ROOT}"/source.tmp - umount "${LIVE_ROOT}"/source.tmp - rmdir "${LIVE_ROOT}"/source.tmp - losetup -d ${FREELO} + mkdir -p source.tmp + mount ${FREELO} source.tmp + cp -r source/* source.tmp + umount source.tmp + rmdir source.tmp + ${LH_LOSETUP} -d ${FREELO} echo "!!! The above error/warning messages can be ignored !!!" if [ -n "${MAKEDEV}" ] then - rm -f "${LIVE_CHROOT}"/${FREELO} + rm -f chroot/dev + mv chroot/dev.tmp chroot/dev fi if [ -n "${PACKAGES}" ] then # Removing packages case "${LH_APT}" in - apt) + apt|apt-get) Chroot "apt-get remove --purge --yes ${PACKAGES}" ;; @@ -116,6 +118,6 @@ do fi # Creating stage file - Create_stagefile "${LIVE_ROOT}"/.stage/source_usb + Create_stagefile .stage/source_usb fi done |