Hello,

with persistent=nofiles the devices weren't all scanned, while with
just persistent
they where. It seemed that the break statement in live-helpers was
preventing that
from happening. I've removed the break, so every device is scanned and
only try to
mount partitions if persistent != nofiles.

I can confirm that with this patch a partition labeled home-rw will be
mounted with
either persistent or persistent=nofiles.

In the tar.gz file is the debug live.log file using persistent=nofiles
and /dev/hda2
labeled home-rw with patched live-helpers.

Using latest live-snapshots:
ii  live-helper                       1.0.5+20090630.183258
Debian Live build scripts
ii  live-initramfs                    1.157.2+20090701.151430
Debian Live initramfs hook


Rui M. P. Bernardo
--- /usr/share/initramfs-tools/scripts/live-helpers     2009-07-07 
16:15:39.000000000 +0100
+++ config/chroot_local-includes/usr/share/initramfs-tools/scripts/live-helpers 
2009-07-27 10:15:01.000000000 +0100
@@ -363,32 +363,30 @@
                                return 0
                        fi
 
-                       if [ "${PERSISTENT}" = "nofiles" ]
+                       if [ "${PERSISTENT}" != "nofiles" ]
                        then
-                               # do not mount the device to find for image 
files
-                               # just skip this
-                               break
+                               case "$(get_fstype ${devname})" in
+                                       vfat|ext2|ext3|ext4|jffs2)
+
+                                               mkdir -p "${cow_backing}"
+                                               if ! try_mount "${devname}" 
"${cow_backing}" "rw"
+                                               then
+                                                       break
+                                               fi
+
+                                               if [ -f "${pers_fpath}" ]
+                                               then
+                                                       echo $(setup_loop 
"${pers_fpath}" "loop" "/sys/block/loop*")
+                                                       return 0
+                                               else
+                                                       umount ${cow_backing}
+                                               fi
+                                               ;;
+                                       *)
+                                               ;;
+                               esac
                        fi
 
-                       case "$(get_fstype ${devname})" in
-                               vfat|ext2|ext3|ext4|jffs2)
-                                       mkdir -p "${cow_backing}"
-                                       if ! try_mount "${devname}" 
"${cow_backing}" "rw"
-                                       then
-                                               break
-                                       fi
-
-                                       if [ -f "${pers_fpath}" ]
-                                       then
-                                               echo $(setup_loop 
"${pers_fpath}" "loop" "/sys/block/loop*")
-                                               return 0
-                                       else
-                                               umount ${cow_backing}
-                                       fi
-                                       ;;
-                               *)
-                                       ;;
-                       esac
                done
        done
        return 1

Attachment: live.persistent_nofiles_patched.log.tar.gz
Description: GNU Zip compressed data

Reply via email to