--- /dev/null
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 07_support_findiso.dpatch by Michael Schierl <schierlm@gmx.de>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: support for findoiso bootoption
+# When booting with findiso=/grml_2010.05.iso, it will look for
+# that .iso file on all disks where it usually looks for the .squashfs
+# file. When it is found, the disk containing the iso is read-only mounted
+# as /live/findiso (and exposed there after boot completed). The squashfs
+# file is searched inside that ISO file then.
+
+@DPATCH@
+diff --git a/scripts/live b/scripts/live
+index d79beed..04ad61e 100755
+--- a/scripts/live
++++ b/scripts/live
+@@ -102,6 +102,11 @@ Arguments ()
+ export FETCH
+ ;;
+
++ findiso=*)
++ FINDISO="${ARGUMENT#findiso=}"
++ export FINDISO
++ ;;
++
+ forcepersistentfsck)
+ FORCEPERSISTENTFSCK="Yes"
+ export FORCEPERSISTENTFSCK
+@@ -1526,6 +1531,19 @@ check_dev ()
+ mount -t ${fstype} -o ro,noatime "${devname}" ${mountpoint} || continue
+ [ -n "$devuid" ] && echo "$devuid" >> $tried
+
++ if [ -n "${FINDISO}" ]
++ then
++ if [ -f ${mountpoint}/${FINDISO} ]
++ then
++ umount ${mountpoint}
++ mkdir /live/findiso -p
++ mount -t ${fstype} -o ro,noatime "${devname}" /live/findiso
++ loopdevname=$(setup_loop "/live/findiso/${FINDISO}" "loop" "/sys/block/loop*" "" '')
++ devname="${loopdevname}"
++ mount -t iso9660 -o ro,noatime "${devname}" ${mountpoint}
++ fi
++ fi
++
+ if is_live_path ${mountpoint} && \
+ ([ "${skip_uuid_check}" ] || matches_uuid ${mountpoint})
+ then
+diff --git a/scripts/live b/scripts/live
+index d79beed..d19a5c5 100755
+--- a/scripts/live
++++ b/scripts/live
+@@ -1831,6 +1831,22 @@ mountroot ()
+ # when booting FAI, this simple workaround solves it
+ ls /root/* >/dev/null 2>&1
+
++ # Move findiso directory to the new root filesystem so that programs there can get at it.
++ if [ -d /live/findiso -a ! -d /root/live/findiso ]
++ then
++ mkdir -p /root/live/findiso
++ mount -n --move /live/findiso /root/live/findiso
++ fi
++
++ # if we do not unmount the ISO we can't run "fsck /dev/ice" later on
++ # because the mountpoint is left behind in /proc/mounts, so let's get
++ # rid of it when running from RAM
++ if [ -n "$FINDISO" ] && [ "${TORAM}" ]
++ then
++ losetup -d /dev/loop0
++ grep -q /live/findiso /proc/mounts && umount /root/live/findiso
++ fi
++
+ # copy snapshot configuration if exists
+ if [ -f snapshot.conf ]
+ then