[ "${seen}" ] || seen=true
-if ! (echo "SET ${question} ${value}"; echo "FSET ${question} seen ${seen}") | chroot "${1}" debconf-communicate -fnoninteractive live-initramfs >/dev/null
+if ! (echo "SET ${question} ${value}"; echo "FSET ${question} seen ${seen}") | chroot "${1}" /usr/bin/debconf-communicate -fnoninteractive live-initramfs >/dev/null
then
-chroot "${1}" debconf-communicate -fnoninteractive live-initramfs >/dev/null << EOF
+chroot "${1}" /usr/bin/debconf-communicate -fnoninteractive live-initramfs >/dev/null << EOF
REGISTER debian-installer/dummy ${question}
SET ${question} ${value}
FSET ${question} seen ${seen}
/etc/hosts
# Include the whole Desktop directory of the default user
-#/home/user/Desktop
+/home/user/Desktop
+live-initramfs (1.136.3-2~grml.02) unstable; urgency=low
+
+ * Resync with Debian's current Git version [20080816,
+ git commit 0c14aa2e625bc1bb43947f2c0d04b876900cd51e].
+ Get rid of debian/patches/05_get_rid_of_wrong_debug_message.dpatch
+ and resync other patches as well.
+
+ -- Michael Prokop <mika@grml.org> Sat, 16 Aug 2008 10:25:54 +0200
+
live-initramfs (1.136.3-2~grml.01) unstable; urgency=low
* Disable use of util-linux's mount binary through
01_add_rsync.dpatch
02_more_verbose_toram.diff
-04_fix_cow_tmpfs_mount.dpatch
-05_get_rid_of_wrong_debug_message.dpatch
-06_get_rid_of_utillinux-mountbinary.dpatch
+03_fix_cow_tmpfs_mount.dpatch
+04_get_rid_of_utillinux-mountbinary.dpatch
+05_boot_failure_message_grml.dpatch
@DPATCH@
---- a/scripts/live Thu Jul 17 14:17:15 2008 +0200
-+++ b/scripts/live Thu Jul 17 14:17:24 2008 +0200
-@@ -582,7 +582,7 @@ copy_live_to ()
- then
- size=$( expr $(ls -la ${MODULETORAMFILE} | awk '{print $5}') / 1024 + 5000 )
- else
-- log_warning_msg "Error: toram-module ${MODULETORAM} (${MODULETORAMFILE}) could not be read."
-+ echo " * Error: toram-module ${MODULETORAM} (${MODULETORAMFILE}) could not be read." >/dev/console
- return 1
- fi
- fi
-@@ -611,7 +611,7 @@ copy_live_to ()
-
- if [ "${freespace}" -lt "${size}" ]
- then
-- [ "${quiet}" != "y" ] && log_warning_msg "Not enough free ${free_string} (${freespace}k free, ${size}k needed) to copy live media in ${copytodev}."
-+ echo " * Error: Not enough free ${free_string} (${freespace}k free, ${size}k needed) to copy live media in ${copytodev}." >/dev/console
- return 1
- fi
-
-@@ -630,9 +630,19 @@ copy_live_to ()
+--- a/scripts/live 2008-08-16 10:42:18.000000000 +0200
++++ b/scripts/live 2008-08-16 10:47:10.000000000 +0200
+@@ -632,11 +632,21 @@
+ cd "${OLDPWD}"
else
if [ -n "${MODULETORAMFILE}" ]
- then
+- then
- cp ${MODULETORAMFILE} ${copyto} # copy only the filesystem module
- else
- cp -a ${copyfrom}/* ${copyto} # "cp -a" from busybox also copies hidden files
-+ if [ -x /bin/rsync ] ; then
-+ echo " * Copying $MODULETORAMFILE to RAM" 1>/dev/console
-+ rsync -a --progress ${MODULETORAMFILE} ${copyto} 1>/dev/console # copy only the filesystem module
-+ else
-+ cp ${MODULETORAMFILE} ${copyto} # copy only the filesystem module
-+ fi
-+ else
-+ if [ -x /bin/rsync ] ; then
-+ echo " * Copying medium to RAM" 1>/dev/console
-+ rsync -a --progress ${copyfrom}/* ${copyto} 1>/dev/console # "cp -a" from busybox also copies hidden files
-+ else
-+ cp -a ${copyfrom}/* ${copyto} # "cp -a" from busybox also copies hidden files
-+ fi
- fi
+- fi
++ if [ -x /bin/rsync ] ; then
++ echo " * Copying $MODULETORAMFILE to RAM" 1>/dev/console
++ rsync -a --progress ${MODULETORAMFILE} ${copyto} 1>/dev/console # copy only the filesystem module
++ else
++ cp ${MODULETORAMFILE} ${copyto} # copy only the filesystem module
++ fi
++ els
++ if [ -x /bin/rsync ] ; then
++ echo " * Copying medium to RAM" 1>/dev/console
++ rsync -a --progress ${copyfrom}/* ${copyto} 1>/dev/console # "cp -a" from busybox also copies hidden files
++ else
++ cp -a ${copyfrom}/* ${copyto} # "cp -a" from busybox also copies hidden files
++ fi
++ fi
++
livefs_root
+ umount ${copyfrom}
--- /dev/null
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 07_boot_failure_message_grml.diff.dpatch by <mika@grml.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Adjust message if booting fails
+
+@DPATCH@
+
+--- a/scripts/live-functions 2008-08-16 01:53:16.000000000 +0200
++++ b/scripts/live-functions 2008-08-16 10:35:25.000000000 +0200
+@@ -119,13 +119,17 @@
+ printf " ${DEB_1}\n"
+ printf " ${DEB_2} \033[1;37mBOOT FAILED!\033[0m\n"
+ printf " ${DEB_3}\n"
+- printf " ${DEB_4} This Debian Live image failed to boot.\n\n"
++ printf " ${DEB_4} This grml image failed to boot.\n\n"
+
+- printf " Please file a bug against the 'live-initramfs' package or email the Debian\n"
+- printf " Live mailing list at <debian-live-devel@lists.alioth.debian.org>, making\n"
++ printf " Please file a bug at http://grml.org/bugs/ or http://bts.grml.org/, making\n"
+ printf " sure to note the exact version, name and distribution of the image you were\n"
+ printf " attempting to boot.\n\n"
+
++ if [ -r /etc/grml_version ] ; then
++ cat /etc/grml_version
++ printf "\n"
++ fi
++
+ printf " The file ${LIVELOG} contains some debugging information but booting with the\n"
+ printf " ${DEBUG} command-line parameter will greatly increase its verbosity which is\n"
+ printf " extremely useful when diagnosing issues.\n\n"
+++ /dev/null
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 05_get_rid_of_wrong_debug_message.dpatch.dpatch by <mika@grml.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Get rid of a wrong placed debug message
-
-@DPATCH@
-
-From 564f7a29349bb7d2cae214773117befce663e6dd Mon Sep 17 00:00:00 2001
-From: Michael Prokop <mika@grml.org>
-Date: Thu, 17 Jul 2008 12:57:15 +0200
-Subject: [PATCH 1/1] Get rid of wrong placed debug message
-
-
-Signed-off-by: Michael Prokop <mika@grml.org>
-
-diff --git a/scripts/live b/scripts/live
-index 15710c2..211367e 100755
---- a/scripts/live
-+++ b/scripts/live
-@@ -1030,7 +1030,7 @@ setup_unionfs ()
- fi
-
- mkdir -p "${croot}/${imagename}"
-- echo "debug: Mounting backdev \"${backdev}\" (image = ${image}) on croot/imagename \"${croot}/${imagename}\""
-+ [ -n "$DEBUG" ] && echo "debug: Mounting backdev \"${backdev}\" (image = ${image}) on croot/imagename \"${croot}/${imagename}\""
- mount -t "${fstype}" -o ro,noatime "${backdev}" "${croot}/${imagename}" || panic "Can not mount ${backdev} (${image}) on ${croot}/${imagename}" && rofsstring="${croot}/${imagename}=${roopt}:${rofsstring}" && rofslist="${croot}/${imagename} ${rofslist}"
- fi
- done
---
-1.5.5.4
-
* Daniel Baumann <daniel@debian.org>
+Main Contributors:
+
+ * Chris Lamb <chris@chris-lamb.co.uk>
+
Original Authors:
live-initramfs is a fork of casper <http://packages.ubuntu.com/casper/>.
* Arnaud Cornet <arnaud.cornet@gmail.com>
* Bas Wijnen <wijnen@debian.org>
* Ben Armstrong <synrg@debian.org>
+ * Ben Voui <intrigeri@boum.org>
+ * Chris Lamb <chris@chris-lamb.co.uk>
* Davide Natalini <davide.natalini@studio.unibo.it>
* Frederic Lehobey <Frederic.Lehobey@free.fr>
* Hadar Weiss <whadar@gmail.com>
* Malcom Gilles <live@ouabain.org>
* Marco Amadori <marco.amadori@gmail.com>
* Mathieu Geli <mathieu.geli@gmail.com>
+ * Michael Prokop <mika@grml.org>
* Michal Suchanek <hramrach@centrum.cz>
* Oliver Osburg <o.osburg@uni-jena.de>
* Otavio Salvador <otavio@debian.org>
* Sebastian Raveau <sebastien.raveau@epita.fr>
+ * Steven Shiau <steven@nchc.org.tw>
* Thomas Lange <lange@informatik.uni-koeln.de>
+casper (1.139) intrepid; urgency=low
+
+ * add compcache conf.d configuration for initramfs-tools
+
+ -- Oliver Grawert <ogra@ubuntu.com> Thu, 14 Aug 2008 00:25:54 +0200
+
+casper (1.138) intrepid; urgency=low
+
+ [ Tormod Volden ]
+ * use full path for vol_id in swap-on-raid detection (LP: #136804)
+
+ [ Martin Pitt ]
+ * 33enable_apport_crashes: Change the apport default file, not the
+ update-notifier gconf keys, to undo the corresponding change for disabling
+ apport right before the release.
+ * Add 45disable_guest_account: Purge the gdm-guest-session package from the
+ live system, since having guest sessions in a live session does not make
+ much sense. (See gdm-guest-login spec)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 31 Jul 2008 14:19:07 +0200
+
+casper (1.137) intrepid; urgency=low
+
+ * Update scripts/casper-bottom/15autologin for KDM from KDE 4.
+ * Update 32disable_hibernation for KDE 4.
+
+ -- Jonathan Riddell <jriddell@ubuntu.com> Thu, 17 Jul 2008 13:41:38 +0100
+
casper (1.136) intrepid; urgency=low
* Remove bad-and-wrong setting of PATH to include directories under /root;
loopfile
* Reverted changes to casper-helpers as requested by Mithrandir since
replaying the journal on a hibernated system would lead to file system
- corruption.
+ corruption (LP: #230703).
-- Evan Dandrea <evand@ubuntu.com> Wed, 18 Jun 2008 12:34:58 -0400
+casper (1.132ubuntu0.2) hardy-proposed; urgency=low
+
+ * Test if livemedia is a directory before trying to mount it as a
+ loopfile
+ * Reverted changes to casper-helpers as requested by Mithrandir since
+ replaying the journal on a hibernated system would lead to file system
+ corruption (LP: #230703).
+
+ -- Agostino Russo <agostino.russo@gmail.com> Tue, 10 Jun 2008 00:27:12 +0100
+
+casper (1.132ubuntu0.1) hardy-proposed; urgency=low
+
+ * Do not scan only vfat volumes when looking for cow devices (LP: #230703)
+ * Allow casper to use a squashfs filesystem within an arbitrary path (LP:
+ #230716, #207137)
+
+ -- Agostino Russo <agostino.russo@gmail.com> Thu, 15 May 2008 22:10:50 +0100
+
casper (1.132) intrepid; urgency=low
[ Colin Watson ]
manual_add_modules nls_utf8
manual_add_modules vfat
+# Filesystem: ntfs
+manual_add_modules ntfs
+
# Hardware: cdrom
manual_add_modules ide-cd
manual_add_modules ide-generic
if /lib/udev/path_id "${sysfs_path}" | grep -E -q "ID_PATH=(usb|pci-[^-]*-[ide|scsi|usb])"
then
return 0
+ elif echo "${sysfs_path}" | grep -q '^/block/vd[a-z]$'
+ then
+ return 0
fi
return 1
fstype=$(get_fstype "${dev}")
freespace=$(fs_size "${dev}")
else
- [ "$quiet" != "y" ] && log_warning_msg "${copytodev} is not a block device."
+ log_warning_msg "${copytodev} is not a block device."
return 1
fi
fi
if [ "${freespace}" -lt "${size}" ]
then
- [ "${quiet}" != "y" ] && log_warning_msg "Not enough free ${free_string} (${freespace}k free, ${size}k needed) to copy live media in ${copytodev}."
+ log_warning_msg "Not enough free ${free_string} (${freespace}k free, ${size}k needed) to copy live media in ${copytodev}."
return 1
fi
NFSROOT=${ROOTSERVER}:${NFSROOT}
fi
- [ "${quiet}" != "y" ] && log_begin_msg "Trying netboot from ${NFSROOT}"
+ log_begin_msg "Trying netboot from ${NFSROOT}"
if [ "${NETBOOT}" != "nfs" ] && do_cifsmount
then
rc=0
fi
- [ "${quiet}" != "y" ] && log_end_msg
+ log_end_msg
return ${rc}
}
squashfs|tgz|tar)
if [ "${webfile}" = "FETCH" ]
then
- [ "${quiet}" != "y" ] &&
- log_begin_msg "Trying wget ${url} -O ${dest}/$(basename ${url})"
- wget "${url}" -O "${dest}/$(basename ${url})"
+ case "$url" in
+ tftp*)
+ ip="$(dirname $url | sed -e 's|tftp://||g')"
+ log_begin_msg "Trying tftp -g -b 10240 -r $(basename ${url}) -l ${dest}/$(basename ${url}) $ip"
+ tftp -g -b 10240 -r $(basename ${url}) -l ${dest}/$(basename ${url}) $ip
+ ;;
+
+ *)
+ log_begin_msg "Trying wget ${url} -O ${dest}/$(basename ${url})"
+ wget "${url}" -O "${dest}/$(basename ${url})"
+ ;;
+ esac
else
- [ "${quiet}" != "y" ] &&
- log_begin_msg "Trying to mount ${url} on ${dest}/$(basename ${url})"
+ log_begin_msg "Trying to mount ${url} on ${dest}/$(basename ${url})"
if [ "${webfile}" = "FTPFS" ]
then
FUSE_MOUNT="curlftpfs"
;;
*)
- [ "${quiet}" != "y" ] && log_begin_msg "Unrecognized archive extension for ${url}"
+ log_begin_msg "Unrecognized archive extension for ${url}"
;;
esac
fi
NFSOPTS=""
fi
- [ "${quiet}" != "y" ] && log_begin_msg "Trying nfsmount -o nolock -o ro ${NFSOPTS} ${NFSROOT} ${mountpoint}"
+ log_begin_msg "Trying nfsmount -o nolock -o ro ${NFSOPTS} ${NFSROOT} ${mountpoint}"
# FIXME: This for loop is an ugly HACK round an nfs bug
for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13
CIFSOPTS="${NFSOPTS}"
fi
- [ "${quiet}" != "y" ] && log_begin_msg "Trying mount.cifs ${NFSROOT} ${mountpoint} ${CIFSOPTS}"
+ log_begin_msg "Trying mount.cifs ${NFSROOT} ${mountpoint} ${CIFSOPTS}"
modprobe -q cifs
if mount.cifs "${NFSROOT}" "${mountpoint}" "${CIFSOPTS}"
else
return 1
- [ "${quiet}" != "y" ] && log_warning_msg "Unable to find the snapshot ${snap_type} medium"
+ log_warning_msg "Unable to find the snapshot ${snap_type} medium"
fi
}
rofslist="${image} ${rofslist}"
elif [ -f "${image}" ]
then
- if /sbin/losetup --help 2>&1 | grep -q -- "-r\b"
+ if losetup --help 2>&1 | grep -q -- "-r\b"
then
backdev=$(get_backing_device "${image}" "-r")
else
fi
mkdir -p "${croot}/${imagename}"
- echo "debug: Mounting backdev \"${backdev}\" (image = ${image}) on croot/imagename \"${croot}/${imagename}\""
+ log_begin_msg "Mounting \"${image}\" on \"${croot}${imagename}\" via \"${backdev}\""
mount -t "${fstype}" -o ro,noatime "${backdev}" "${croot}/${imagename}" || panic "Can not mount ${backdev} (${image}) on ${croot}/${imagename}" && rofsstring="${croot}/${imagename}=${roopt}:${rofsstring}" && rofslist="${croot}/${imagename} ${rofslist}"
+ log_end_msg
fi
done
cow_fstype=$(get_fstype "${cowprobe}")
cow_mountopt="rw,noatime"
else
- [ "${quiet}" != "y" ] && log_warning_msg "Unable to find the persistent medium"
+ log_warning_msg "Unable to find the persistent medium"
cowdevice="tmpfs"
cow_fstype="tmpfs"
cow_mountopt="rw,noatime,mode=755"
else
cowdevice="tmpfs"
cow_fstype="tmpfs"
+ cow_mountopt="rw,noatime,mode=755"
fi
if [ "${cow_fstype}" = "nfs" ]
then
- [ "${quiet}" != "y" ] && log_begin_msg \
+ log_begin_msg \
"Trying nfsmount ${nfs_cow_opts} ${cowdevice} /cow"
nfsmount ${nfs_cow_opts} ${cowdevice} /cow || \
panic "Can not mount ${cowdevice} (n: ${cow_fstype}) on /cow"
fi
# tmpfs file systems
+ touch /etc/fstab
mkdir -p "${rootmnt}/live"
mount -t tmpfs tmpfs ${rootmnt}/live
mount -t $(get_fstype "${homecow}") -o rw,noatime "${homecow}" "${rootmnt}/home"
export HOMEMOUNTED=1 # used to proper calculate free space in do_snap_copy()
else
- [ "${quiet}" != "y" ] && log_warning_msg "Unable to find the persistent home medium"
+ log_warning_msg "Unable to find the persistent home medium"
fi
# Look for other snapshots to copy in
# shows cow fs on /cow for use by live-snapshot
mkdir -p "${rootmnt}/live/cow"
- mount -o move /cow "${rootmnt}/live/cow" || mount -o bind /cow "${rootmnt}/live/cow" || [ "${quiet}" != "y" ] && log_warning_msg "Unable to move or bind /cow to ${rootmnt}/live/cow"
+ mount -o move /cow "${rootmnt}/live/cow" >/dev/null 2>&1 || mount -o bind /cow "${rootmnt}/live/cow" || log_warning_msg "Unable to move or bind /cow to ${rootmnt}/live/cow"
}
check_dev ()
tail -f live.log >&7 &
tailpid="${!}"
+ # Ensure 'panic' function is overridden
+ . /scripts/live-functions
+
Arguments
set_usplash_timeout
- [ "${quiet}" != "y" ] && log_begin_msg "Running /scripts/live-premount"
+ log_begin_msg "Running /scripts/live-premount"
run_scripts /scripts/live-premount
- [ "${quiet}" != "y" ] && log_end_msg
+ log_end_msg
# Needed here too because some things (*cough* udev *cough*)
# changes the timeout
log_end_msg
maybe_break live-bottom
- [ "${quiet}" != "y" ] && log_begin_msg "Running /scripts/live-bottom"
+ log_begin_msg "Running /scripts/live-bottom"
run_scripts /scripts/live-bottom
- [ "${quiet}" != "y" ] && log_end_msg
+ log_end_msg
exec 1>&6 6>&-
exec 2>&7 7>&-
+++ /dev/null
-#!/bin/sh
-
-#set -e
-
-# initramfs-tools header
-
-PREREQ=""
-
-prereqs()
-{
- echo "${PREREQ}"
-}
-
-case "${1}" in
- prereqs)
- prereqs
- exit 0
- ;;
-esac
-
-# live-initramfs header
-
-. /scripts/live-functions
-
-log_begin_msg "Moving mount points..."
-
-# live-initramfs script
-
-# Move to the new root filesystem so that programs there can get at it.
-if [ ! -d /root/live/image ]
-then
- mkdir -p /root/live/image
- mount -n --move /live/image /root/live/image
-fi
-
-log_end_msg
-#!/bin/sh
. /scripts/functions
. /live.vars
+# Override log_*_msg until #494257 is merged
+
+_log_msg()
+{
+ if [ "$quiet" = "y" ]; then return; fi
+ printf "$@"
+}
+
+log_success_msg()
+{
+ _log_msg "Success: $@\n"
+}
+
+log_failure_msg()
+{
+ _log_msg "Failure: $@\n"
+}
+
+log_warning_msg()
+{
+ _log_msg "Warning: $@\n"
+}
+
+log_begin_msg()
+{
+ if [ -x /sbin/usplash_write ]; then
+ /sbin/usplash_write "TEXT $@"
+ fi
+ _log_msg "Begin: $@ ... "
+}
+
+log_end_msg()
+{
+ if [ -x /sbin/usplash_write ]; then
+ /sbin/usplash_write "SUCCESS ok"
+ fi
+ _log_msg "done.\n"
+}
+
+##
+
log_wait_msg ()
{
# Print a message and wait for enter
read nunya < /dev/.initramfs/usplash_outfifo
fi
- _log_msg "Waiting: ${@} ..."
+ _log_msg "Waiting: ${@} ... \n"
}
really_export ()
echo "C"
fi
}
+
+# Override panic from scripts/functions
+panic() {
+
+ DEB_1="\033[1;31m .''\`. \033[0m"
+ DEB_2="\033[1;31m: :' : \033[0m"
+ DEB_3="\033[1;31m\`. \`'\` \033[0m"
+ DEB_4="\033[1;31m \`- \033[0m"
+
+ LIVELOG="\033[1;37m/live.log\033[0m"
+ DEBUG="\033[1;37mdebug\033[0m"
+
+ # Reset redirections to avoid buffering
+ exec 1>&6 6>&-
+ exec 2>&7 7>&-
+ kill ${tailpid}
+
+ printf "\n\n"
+ printf " ${DEB_1}\n"
+ printf " ${DEB_2} \033[1;37mBOOT FAILED!\033[0m\n"
+ printf " ${DEB_3}\n"
+ printf " ${DEB_4} This Debian Live image failed to boot.\n\n"
+
+ printf " Please file a bug against the 'live-initramfs' package or email the Debian\n"
+ printf " Live mailing list at <debian-live-devel@lists.alioth.debian.org>, making\n"
+ printf " sure to note the exact version, name and distribution of the image you were\n"
+ printf " attempting to boot.\n\n"
+
+ printf " The file ${LIVELOG} contains some debugging information but booting with the\n"
+ printf " ${DEBUG} command-line parameter will greatly increase its verbosity which is\n"
+ printf " extremely useful when diagnosing issues.\n\n"
+
+ if [ -n "${panic}" ]; then
+ printf " live-initramfs will now restart your system. "
+ else
+ printf " live-initramfs will now start a shell. "
+ fi
+ printf "The error message was:\n\n "
+
+ # Call original panic
+ . /scripts/functions
+ panic "$@"
+}
-#!/bin/sh
# live-initramfs helper functions, used by live-initramfs on boot and by live-snapshot
if [ ! -x "/bin/fstype" ]
is_supported_fs ()
{
- # FIXME: do something better like the scan of supported filesystems
fstype="${1}"
- case ${fstype} in
- vfat|iso9660|udf|ext2|ext3|ntfs|jffs2)
+ # Validate input first
+ if [ -z "${fstype}" ]
+ then
+ return 1
+ fi
+
+ # Try to look if it is already supported by the kernel
+ if grep -q ${fstype} /proc/filesystems
+ then
return 0
- ;;
- esac
+ else
+ # Then try to add support for it the gentle way using the initramfs capabilities
+ modprobe ${fstype}
+ if grep -q ${fstype} /proc/filesystems
+ then
+ return 0
+ # Then try the hard way if /root is already reachable
+ else
+ kmodule="/root/lib/modules/`uname -r`/${fstype}/${fstype}.ko"
+ if [ -e "${kmodule}" ]
+ then
+ insmod "${kmodule}"
+ if grep -q ${fstype} /proc/filesystems
+ then
+ return 0
+ fi
+ fi
+ fi
+ fi
return 1
}
local readonly=${6}
modprobe -q -b "${module}"
- udevsettle
+
+ if [ -x /sbin/udevadm ]
+ then
+ # lenny
+ udevadm settle
+ else
+ # etch
+ udevsettle
+ fi
for loopdev in ${pattern}
do
if [ -n ${readonly} ]
then
- if /sbin/losetup --help 2>&1 | grep -q -- "-r\b"
+ if losetup --help 2>&1 | grep -q -- "-r\b"
then
options="${options} -r"
fi