diff -rup initramfs_orig/scripts/live initramfs/scripts/live --- initramfs_orig/scripts/live 2008-12-06 12:33:00.676619000 +0000 +++ initramfs/scripts/live 2008-12-06 12:52:05.938629568 +0000 @@ -92,6 +92,11 @@ Arguments () export HOSTNAME LIVECONF ;; + findiso=*) + FINDISO="${ARGUMENT#findiso=}" + export FINDISO + ;; + isofrom=*|fromiso=*) FROMISO="${ARGUMENT#*=}" export FROMISO @@ -1365,6 +1370,17 @@ check_dev () if is_supported_fs ${fstype} then mount -t ${fstype} -o ro,noatime "${devname}" ${mountpoint} || continue + 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}) diff -rup initramfs_orig/scripts/live-bottom/05mountpoints initramfs/scripts/live-bottom/05mountpoints --- initramfs_orig/scripts/live-bottom/05mountpoints 2008-12-06 14:30:05.486694000 +0000 +++ initramfs/scripts/live-bottom/05mountpoints 2008-12-06 14:41:26.346606201 +0000 @@ -38,4 +38,11 @@ if [ -n "$MOUNTED_ON" ] ; then echo " -> Mounted live system on $MOUNTED_ON">/dev/console fi +# 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 + log_end_msg