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
live.persistent_nofiles_patched.log.tar.gz
Description: GNU Zip compressed data
