Adding upstream version 3.0~a23. upstream/3.0_a23
authorDaniel Baumann <daniel@debian.org>
Mon, 28 Nov 2011 17:28:19 +0000 (18:28 +0100)
committerDaniel Baumann <daniel@debian.org>
Mon, 28 Nov 2011 17:28:19 +0000 (18:28 +0100)
VERSION
manpages/de/live-boot.de.7
manpages/de/live-snapshot.de.1
manpages/en/live-boot.7
manpages/en/live-snapshot.1
manpages/po/de/live-boot.7.po
manpages/po/de/live-snapshot.1.po
manpages/pot/live-boot.7.pot
manpages/pot/live-snapshot.1.pot
scripts/live
scripts/live-helpers

diff --git a/VERSION b/VERSION
index 812267e..e81be35 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.0~a22-1
+3.0~a23-1
index 5f39939..53f873d 100644 (file)
@@ -3,7 +3,7 @@
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH LIVE\-BOOT 7 04.11.2011 3.0~a22\-1 "Debian Live Projekt"
+.TH LIVE\-BOOT 7 28.11.2011 3.0~a23\-1 "Debian Live Projekt"
 
 .SH NAME
 \fBlive\-boot\fP \- System Boot Skripte
@@ -172,30 +172,47 @@ default of mount applies (currently 50% of available RAM). Note that this
 option has no currently no effect when booting with toram.
 .IP \fBswapon\fP 4
 This parameter enables usage of local swap partitions.
-.IP \fBpersistent\fP[={nofiles|cryptsetup}] 4
-live\-boot will look for persistent and snapshot partitions or files labeled
-"live\-rw", "home\-rw", and files called "live\-sn*", "home\-sn*" and will try
-to, in order: mount as /cow the first, mount the second in /home, and just
-copy the contents of the latter in appropriate locations
-(snapshots). Snapshots will be tried to be updated on reboot/shutdown. Look
-at live\-snapshot(1) for more informations.
-.br
-If "nofiles" is specified, only filesystems with matching labels will be
-searched; no filesystems will be traversed looking for archives or image
-files. This results in shorter boot times.
-.br
-If "cryptsetup" is specified, filesystems stored on Luks\-encrypted devices
-will be considered as well as others when searching for a persistence
-filesystem; the user will be prompted for any needed decryption passphrase.
+.IP \fBpersistent\fP 4
+live\-boot will probe filesystems for persistent media. These can either be
+the filesystems themselves, if labeled correctly, or image/archive files, if
+named correctly. Overlays are labeled/named either "live\-rw" or "home\-rw"
+and will be mounted on / or /home, respectively; snapshots are labeled/named
+either "live\-sn" or "home\-sn" and will be extracted into / or /home,
+respectively (see live\-snapshot(1) for more information). Overlays are
+mounted before snapshots are extracted, and for both overlays and snapshots,
+"live\-*" are handled before "home\-*". Overlay image files and snapshot
+archive files have extensions which determines their filesystem or archive
+type, e.g. "live\-rw.ext3" and "\home\-sn.squashfs".
+.IP "\fBpersistent\-encryption\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4
+This option determines which types of encryption that we allow to be used
+when probing devices for persistent media. If "none" is in the list, we
+allow unencrypted media; if "luks" is in the list, we allow LUKS\-encrypted
+media. Whenever a device containing encrypted media is probed the user will
+be prompted for the passphrase. The default value is "none".
 .IP \fBpersistent\-media\fP={\fIremovable\fP|\fIremovable\-usb\fP} 4
 If you specify the keyword 'removable', live\-boot will try to find
 persistent and snapshot partitions on removable media only. Note that if you
 want to further restrict the media to usb mass storage only, you can use the
 \&'removable\-usb' keyword.
+.IP "\fBpersistent\-method\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4
+This option determines which types of persistent media we allow. If
+"overlay" is in the list, we consider overlays (i.e. "live\-rw" and
+"home\-rw"); if "snapshot" is in the list, we consider snapshots
+(i.e. "live\-sn" and "home\-sn"). The default is "overlay,snapshot".
 .IP \fBpersistent\-path\fP=\fIPATH\fP 4
 live\-boot will look for persistency files in the root directory of a
 partition, with this parameter, the path can be configured so that you can
 have multiple directories on the same partition to store persistency files.
+.IP \fBpersistent\-read\-only\fP 4
+Filesystem changes are not saved back to persistent media. In particular,
+overlays and netboot NFS mounts are mounted read\-only, and snapshots are not
+resynced on shutdown.
+.IP "\fBpersistent\-storage\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4
+This option determines which types of persistent storage to consider when
+probing for persistent media. If "filesystem" is in the list, filesystems
+with matching labels will be used; if "file" is in the list, all filesystems
+will be probed for archives and image files with matching filenames. The
+default is "file,filesystem".
 .IP \fBpersistent\-subtext\fP=\fISUFFIX\fP 4
 Add a suffix when searching for the image filenames or partition labels to
 use for the above mentioned persistent feature, the SUFFIX will be added
index 9d569a6..1e2aa36 100644 (file)
@@ -3,7 +3,7 @@
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH LIVE\-BOOT 1 04.11.2011 3.0~a22\-1 "Debian Live Projekt"
+.TH LIVE\-BOOT 1 28.11.2011 3.0~a23\-1 "Debian Live Projekt"
 
 .SH NAME
 \fBlive\-snapshot\fP \- simple script to ease persistence usage
index 68e9fe1..d5a816d 100644 (file)
@@ -1,4 +1,4 @@
-.TH LIVE\-BOOT 7 2011\-11\-04 3.0~a22-1 "Debian Live Project"
+.TH LIVE\-BOOT 7 2011\-11\-28 3.0~a23-1 "Debian Live Project"
 
 .SH NAME
 \fBlive\-boot\fR \- System Boot Scripts
@@ -106,16 +106,20 @@ This tells live-boot not to prompt to eject the CD (when noprompt=cd) or remove
 This parameters allows to set a custom ramdisk size (it's the '\-o size' option of tmpfs mount). By default, there is no ramdisk size set, so the default of mount applies (currently 50% of available RAM). Note that this option has no currently no effect when booting with toram.
 .IP "\fBswapon\fR" 4
 This parameter enables usage of local swap partitions.
-.IP "\fBpersistent\fR[={nofiles|cryptsetup}]" 4
-live\-boot will look for persistent and snapshot partitions or files labeled "live\-rw", "home\-rw", and files called "live\-sn*", "home\-sn*" and will try to, in order: mount as /cow the first, mount the second in /home, and just copy the contents of the latter in appropriate locations (snapshots). Snapshots will be tried to be updated on reboot/shutdown. Look at live\-snapshot(1) for more informations.
-.br
-If "nofiles" is specified, only filesystems with matching labels will be searched; no filesystems will be traversed looking for archives or image files. This results in shorter boot times.
-.br
-If "cryptsetup" is specified, filesystems stored on Luks\-encrypted devices will be considered as well as others when searching for a persistence filesystem; the user will be prompted for any needed decryption passphrase.
+.IP "\fBpersistent\fR" 4
+live\-boot will probe filesystems for persistent media. These can either be the filesystems themselves, if labeled correctly, or image/archive files, if named correctly. Overlays are labeled/named either "live\-rw" or "home\-rw" and will be mounted on / or /home, respectively; snapshots are labeled/named either "live\-sn" or "home\-sn" and will be extracted into / or /home, respectively (see live\-snapshot(1) for more information). Overlays are mounted before snapshots are extracted, and for both overlays and snapshots, "live\-*" are handled before "home\-*". Overlay image files and snapshot archive files have extensions which determines their filesystem or archive type, e.g. "live\-rw.ext3" and "\home\-sn.squashfs".
+.IP "\fBpersistent\-encryption\fR=\fITYPE1\fR,\fITYPE2\fR ... \fITYPEn\fR" 4
+This option determines which types of encryption that we allow to be used when probing devices for persistent media. If "none" is in the list, we allow unencrypted media; if "luks" is in the list, we allow LUKS\-encrypted media. Whenever a device containing encrypted media is probed the user will be prompted for the passphrase. The default value is "none".
 .IP "\fBpersistent\-media\fR={\fIremovable\fR|\fIremovable\-usb\fR}" 4
 If you specify the keyword 'removable', live\-boot will try to find persistent and snapshot partitions on removable media only. Note that if you want to further restrict the media to usb mass storage only, you can use the 'removable\-usb' keyword.
+.IP "\fBpersistent\-method\fR=\fITYPE1\fR,\fITYPE2\fR ... \fITYPEn\fR" 4
+This option determines which types of persistent media we allow. If "overlay" is in the list, we consider overlays (i.e. "live\-rw" and "home\-rw"); if "snapshot" is in the list, we consider snapshots (i.e. "live\-sn" and "home\-sn"). The default is "overlay,snapshot".
 .IP "\fBpersistent\-path\fR=\fIPATH\fR" 4
 live\-boot will look for persistency files in the root directory of a partition, with this parameter, the path can be configured so that you can have multiple directories on the same partition to store persistency files.
+.IP "\fBpersistent\-read\-only\fR" 4
+Filesystem changes are not saved back to persistent media. In particular, overlays and netboot NFS mounts are mounted read-only, and snapshots are not resynced on shutdown.
+.IP "\fBpersistent\-storage\fR=\fITYPE1\fR,\fITYPE2\fR ... \fITYPEn\fR" 4
+This option determines which types of persistent storage to consider when probing for persistent media. If "filesystem" is in the list, filesystems with matching labels will be used; if "file" is in the list, all filesystems will be probed for archives and image files with matching filenames. The default is "file,filesystem".
 .IP "\fBpersistent\-subtext\fR=\fISUFFIX\fR" 4
 Add a suffix when searching for the image filenames or partition labels to use for the above mentioned persistent feature, the SUFFIX will be added after a dash (e.g.: "live-sn" would transform to "live-sn-SUFFIX"). This is handy to test multiple live-boot based live-systems with different persistent storage choices.
 .IP "{\fBpreseed/file\fR|\fBfile\fR}=\fIFILE\fR" 4
index 2f38743..9d0cee6 100644 (file)
@@ -1,4 +1,4 @@
-.TH LIVE\-BOOT 1 2011\-11\-04 3.0~a22-1 "Debian Live Project"
+.TH LIVE\-BOOT 1 2011\-11\-28 3.0~a23-1 "Debian Live Project"
 
 .SH NAME
 \fBlive\-snapshot\fR \- simple script to ease persistence usage
index 770c7d1..333a00f 100644 (file)
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: live-boot 3.0~a22-1\n"
-"POT-Creation-Date: 2011-11-04 11:37+0100\n"
+"POT-Creation-Date: 2011-11-28 18:26+0100\n"
 "PO-Revision-Date: 2010-05-24 12:34+0300\n"
 "Last-Translator: Daniel Baumann <daniel@debian.org>\n"
 "Language-Team: none\n"
@@ -24,14 +24,14 @@ msgstr "LIVE-BOOT"
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
 #, no-wrap
-msgid "2011-11-04"
-msgstr "04.11.2011"
+msgid "2011-11-28"
+msgstr "28.11.2011"
 
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
 #, no-wrap
-msgid "3.0~a22-1"
-msgstr "3.0~a22-1"
+msgid "3.0~a23-1"
+msgstr "3.0~a23-1"
 
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
@@ -557,49 +557,68 @@ msgstr ""
 #. type: IP
 #: en/live-boot.7:109
 #, no-wrap
-msgid "B<persistent>[={nofiles|cryptsetup}]"
-msgstr ""
+msgid "B<persistent>"
+msgstr "B<persistent>"
 
 #. type: Plain text
 #: en/live-boot.7:111
 msgid ""
-"live-boot will look for persistent and snapshot partitions or files labeled "
-"\"live-rw\", \"home-rw\", and files called \"live-sn*\", \"home-sn*\" and "
-"will try to, in order: mount as /cow the first, mount the second in /home, "
-"and just copy the contents of the latter in appropriate locations "
-"(snapshots). Snapshots will be tried to be updated on reboot/shutdown. Look "
-"at live-snapshot(1) for more informations."
+"live-boot will probe filesystems for persistent media. These can either be "
+"the filesystems themselves, if labeled correctly, or image/archive files, if "
+"named correctly. Overlays are labeled/named either \"live-rw\" or \"home-rw"
+"\" and will be mounted on / or /home, respectively; snapshots are labeled/"
+"named either \"live-sn\" or \"home-sn\" and will be extracted into / or /"
+"home, respectively (see live-snapshot(1) for more information). Overlays are "
+"mounted before snapshots are extracted, and for both overlays and snapshots, "
+"\"live-*\" are handled before \"home-*\". Overlay image files and snapshot "
+"archive files have extensions which determines their filesystem or archive "
+"type, e.g. \"live-rw.ext3\" and \"\\home-sn.squashfs\"."
+msgstr ""
+
+#. type: IP
+#: en/live-boot.7:111
+#, no-wrap
+msgid "B<persistent-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
 msgstr ""
 
 #. type: Plain text
 #: en/live-boot.7:113
 msgid ""
-"If \"nofiles\" is specified, only filesystems with matching labels will be "
-"searched; no filesystems will be traversed looking for archives or image "
-"files. This results in shorter boot times."
+"This option determines which types of encryption that we allow to be used "
+"when probing devices for persistent media. If \"none\" is in the list, we "
+"allow unencrypted media; if \"luks\" is in the list, we allow LUKS-encrypted "
+"media. Whenever a device containing encrypted media is probed the user will "
+"be prompted for the passphrase. The default value is \"none\"."
+msgstr ""
+
+#. type: IP
+#: en/live-boot.7:113
+#, no-wrap
+msgid "B<persistent-media>={I<removable>|I<removable-usb>}"
 msgstr ""
 
 #. type: Plain text
 #: en/live-boot.7:115
 msgid ""
-"If \"cryptsetup\" is specified, filesystems stored on Luks-encrypted devices "
-"will be considered as well as others when searching for a persistence "
-"filesystem; the user will be prompted for any needed decryption passphrase."
+"If you specify the keyword 'removable', live-boot will try to find "
+"persistent and snapshot partitions on removable media only. Note that if you "
+"want to further restrict the media to usb mass storage only, you can use the "
+"'removable-usb' keyword."
 msgstr ""
 
 #. type: IP
 #: en/live-boot.7:115
 #, no-wrap
-msgid "B<persistent-media>={I<removable>|I<removable-usb>}"
+msgid "B<persistent-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
 msgstr ""
 
 #. type: Plain text
 #: en/live-boot.7:117
 msgid ""
-"If you specify the keyword 'removable', live-boot will try to find "
-"persistent and snapshot partitions on removable media only. Note that if you "
-"want to further restrict the media to usb mass storage only, you can use the "
-"'removable-usb' keyword."
+"This option determines which types of persistent media we allow. If \"overlay"
+"\" is in the list, we consider overlays (i.e. \"live-rw\" and \"home-rw\"); "
+"if \"snapshot\" is in the list, we consider snapshots (i.e. \"live-sn\" and "
+"\"home-sn\"). The default is \"overlay,snapshot\"."
 msgstr ""
 
 #. type: IP
@@ -619,11 +638,41 @@ msgstr ""
 #. type: IP
 #: en/live-boot.7:119
 #, no-wrap
+msgid "B<persistent-read-only>"
+msgstr "B<persistent-read-only>"
+
+#. type: Plain text
+#: en/live-boot.7:121
+msgid ""
+"Filesystem changes are not saved back to persistent media. In particular, "
+"overlays and netboot NFS mounts are mounted read-only, and snapshots are not "
+"resynced on shutdown."
+msgstr ""
+
+#. type: IP
+#: en/live-boot.7:121
+#, no-wrap
+msgid "B<persistent-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:123
+msgid ""
+"This option determines which types of persistent storage to consider when "
+"probing for persistent media. If \"filesystem\" is in the list, filesystems "
+"with matching labels will be used; if \"file\" is in the list, all "
+"filesystems will be probed for archives and image files with matching "
+"filenames. The default is \"file,filesystem\"."
+msgstr ""
+
+#. type: IP
+#: en/live-boot.7:123
+#, no-wrap
 msgid "B<persistent-subtext>=I<SUFFIX>"
 msgstr "B<persistent-subtext>=I<SUFFIX>"
 
 #. type: Plain text
-#: en/live-boot.7:121
+#: en/live-boot.7:125
 msgid ""
 "Add a suffix when searching for the image filenames or partition labels to "
 "use for the above mentioned persistent feature, the SUFFIX will be added "
@@ -633,26 +682,26 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:121
+#: en/live-boot.7:125
 #, no-wrap
 msgid "{B<preseed/file>|B<file>}=I<FILE>"
 msgstr "{B<preseed/file>|B<file>}=I<FILE>"
 
 #. type: Plain text
-#: en/live-boot.7:123
+#: en/live-boot.7:127
 msgid ""
 "A path to a file present on the rootfs could be used to preseed debconf "
 "database."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:123
+#: en/live-boot.7:127
 #, no-wrap
 msgid "B<package/question>=I<VALUE>"
 msgstr "B<package/question>=I<VALUE>"
 
 #. type: Plain text
-#: en/live-boot.7:125
+#: en/live-boot.7:129
 msgid ""
 "All debian installed packages could be preseeded from command-line that way, "
 "beware of blanks spaces, they will interfere with parsing, use a preseed "
@@ -660,26 +709,26 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:125
+#: en/live-boot.7:129
 #, no-wrap
 msgid "B<quickreboot>"
 msgstr "B<quickreboot>"
 
 #. type: Plain text
-#: en/live-boot.7:127
+#: en/live-boot.7:131
 msgid ""
 "This option causes live-boot to reboot without attempting to eject the media "
 "and without asking the user to remove the boot media."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:127
+#: en/live-boot.7:131
 #, no-wrap
 msgid "B<showmounts>"
 msgstr "B<showmounts>"
 
 #. type: Plain text
-#: en/live-boot.7:129
+#: en/live-boot.7:133
 msgid ""
 "This parameter will make live-boot to show on \"/\" the ro filesystems "
 "(mostly compressed) on \"/live\". This is not enabled by default because "
@@ -688,26 +737,26 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:129
+#: en/live-boot.7:133
 #, no-wrap
 msgid "B<silent>"
 msgstr "B<silent>"
 
 #. type: Plain text
-#: en/live-boot.7:131
+#: en/live-boot.7:135
 msgid ""
 "If you boot with the normal quiet parameter, live-boot hides most messages "
 "of its own. When adding silent, it hides all."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:131
+#: en/live-boot.7:135
 #, no-wrap
 msgid "B<todisk>=I<DEVICE>"
 msgstr "B<todisk>=I<DEVICE>"
 
 #. type: Plain text
-#: en/live-boot.7:133
+#: en/live-boot.7:137
 msgid ""
 "Adding this parameter, live-boot will try to copy the entire read-only media "
 "to the specified device before mounting the root filesystem. It probably "
@@ -717,13 +766,13 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:133
+#: en/live-boot.7:137
 #, no-wrap
 msgid "B<toram>"
 msgstr "B<toram>"
 
 #. type: Plain text
-#: en/live-boot.7:135
+#: en/live-boot.7:139
 msgid ""
 "Adding this parameter, live-boot will try to copy the whole read-only media "
 "to the computer's RAM before mounting the root filesystem. This could need a "
@@ -731,14 +780,14 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:135
+#: en/live-boot.7:139
 #, no-wrap
 msgid "B<union>=aufs|unionfs"
 msgstr "B<union>=aufs|unionfs"
 
 #.  FIXME
 #. type: Plain text
-#: en/live-boot.7:138
+#: en/live-boot.7:142
 msgid ""
 "By default, live-boot uses aufs. With this parameter, you can switch to "
 "unionfs."
@@ -746,32 +795,32 @@ msgstr ""
 
 #.  FIXME
 #. type: SH
-#: en/live-boot.7:140
+#: en/live-boot.7:144
 #, no-wrap
 msgid "FILES (old)"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:141 en/live-snapshot.1:43
+#: en/live-boot.7:145 en/live-snapshot.1:43
 #, no-wrap
 msgid "B</etc/live.conf>"
 msgstr "B</etc/live.conf>"
 
 #. type: Plain text
-#: en/live-boot.7:143 en/live-snapshot.1:45
+#: en/live-boot.7:147 en/live-snapshot.1:45
 msgid ""
 "Some variables can be configured via this config file (inside the live "
 "system)."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:143 en/live-snapshot.1:45
+#: en/live-boot.7:147 en/live-snapshot.1:45
 #, no-wrap
 msgid "B<live/filesystem.module>"
 msgstr "B<live/filesystem.module>"
 
 #. type: Plain text
-#: en/live-boot.7:145 en/live-snapshot.1:47
+#: en/live-boot.7:149 en/live-snapshot.1:47
 msgid ""
 "This optional file (inside the live media) contains a list of white-space or "
 "carriage-return-separated file names corresponding to disk images in the \"/"
@@ -784,13 +833,13 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:145 en/live-snapshot.1:47
+#: en/live-boot.7:149 en/live-snapshot.1:47
 #, no-wrap
 msgid "B</etc/live-persistence.binds>"
 msgstr "B</etc/live-persistence.binds>"
 
 #. type: Plain text
-#: en/live-boot.7:147 en/live-snapshot.1:49
+#: en/live-boot.7:151 en/live-snapshot.1:49
 msgid ""
 "This optional file (which resides in the rootfs system, not in the live "
 "media) is used as a list of directories which not need be persistent: ie. "
@@ -799,7 +848,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:150 en/live-snapshot.1:51
+#: en/live-boot.7:154 en/live-snapshot.1:51
 msgid ""
 "This saves expensive writes and speeds up operations on volatile data such "
 "as web caches and temporary files (like e.g. /tmp and .mozilla) which are "
@@ -808,69 +857,69 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:151 en/live-snapshot.1:42
+#: en/live-boot.7:155 en/live-snapshot.1:42
 #, no-wrap
 msgid "FILES"
 msgstr "DATEIEN"
 
 #. type: IP
-#: en/live-boot.7:152
+#: en/live-boot.7:156
 #, no-wrap
 msgid "B</etc/live/boot.conf>"
 msgstr "B</etc/live/boot.conf>"
 
 #. type: IP
-#: en/live-boot.7:153
+#: en/live-boot.7:157
 #, no-wrap
 msgid "B</etc/live/boot.d/>"
 msgstr "B</etc/live/boot.d/>"
 
 #. type: IP
-#: en/live-boot.7:154
+#: en/live-boot.7:158
 #, no-wrap
 msgid "B<live/boot.conf>"
 msgstr "B<live/boot.conf>"
 
 #. type: IP
-#: en/live-boot.7:155
+#: en/live-boot.7:159
 #, no-wrap
 msgid "B<live/boot.d/>"
 msgstr "B<live/boot.d/>"
 
 #. type: SH
-#: en/live-boot.7:157 en/live-snapshot.1:54
+#: en/live-boot.7:161 en/live-snapshot.1:54
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "SIEHE AUCH"
 
 #. type: Plain text
-#: en/live-boot.7:159
+#: en/live-boot.7:163
 msgid "I<live-snapshot>(1)"
 msgstr "I<live-snapshot>(1)"
 
 #. type: Plain text
-#: en/live-boot.7:161 en/live-snapshot.1:58
+#: en/live-boot.7:165 en/live-snapshot.1:58
 msgid "I<live-build>(7)"
 msgstr "I<live-build>(7)"
 
 #. type: Plain text
-#: en/live-boot.7:163 en/live-snapshot.1:60
+#: en/live-boot.7:167 en/live-snapshot.1:60
 msgid "I<live-config>(7)"
 msgstr "I<live-config>(7)"
 
 #. type: Plain text
-#: en/live-boot.7:165 en/live-snapshot.1:62
+#: en/live-boot.7:169 en/live-snapshot.1:62
 msgid "I<live-tools>(7)"
 msgstr "I<live-tools>(7)"
 
 #. type: SH
-#: en/live-boot.7:166 en/live-snapshot.1:63
+#: en/live-boot.7:170 en/live-snapshot.1:63
 #, no-wrap
 msgid "HOMEPAGE"
 msgstr "HOMEPAGE"
 
 #. type: Plain text
-#: en/live-boot.7:168 en/live-snapshot.1:65
+#: en/live-boot.7:172 en/live-snapshot.1:65
 msgid ""
 "More information about live-boot and the Debian Live project can be found on "
 "the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
@@ -881,13 +930,13 @@ msgstr ""
 "unter E<lt>I<http://live.debian.net/manual/>E<gt> gefunden werden."
 
 #. type: SH
-#: en/live-boot.7:169 en/live-snapshot.1:66
+#: en/live-boot.7:173 en/live-snapshot.1:66
 #, no-wrap
 msgid "BUGS"
 msgstr "FEHLER"
 
 #. type: Plain text
-#: en/live-boot.7:171 en/live-snapshot.1:68
+#: en/live-boot.7:175 en/live-snapshot.1:68
 msgid ""
 "Bugs can be reported by submitting a bugreport for the live-boot package in "
 "the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
@@ -901,13 +950,13 @@ msgstr ""
 "werden."
 
 #. type: SH
-#: en/live-boot.7:172 en/live-snapshot.1:69
+#: en/live-boot.7:176 en/live-snapshot.1:69
 #, no-wrap
 msgid "AUTHOR"
 msgstr "AUTOR"
 
 #. type: Plain text
-#: en/live-boot.7:173 en/live-snapshot.1:70
+#: en/live-boot.7:177 en/live-snapshot.1:70
 msgid ""
 "live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
 "the Debian project."
index b65f471..f8e2ff7 100644 (file)
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: live-boot 3.0~a22-1\n"
-"POT-Creation-Date: 2011-11-04 11:37+0100\n"
+"POT-Creation-Date: 2011-11-28 18:26+0100\n"
 "PO-Revision-Date: 2010-05-24 12:34+0300\n"
 "Last-Translator: Daniel Baumann <daniel@debian.org>\n"
 "Language-Team: none\n"
@@ -24,14 +24,14 @@ msgstr "LIVE-BOOT"
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
 #, no-wrap
-msgid "2011-11-04"
-msgstr "04.11.2011"
+msgid "2011-11-28"
+msgstr "28.11.2011"
 
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
 #, no-wrap
-msgid "3.0~a22-1"
-msgstr "3.0~a22-1"
+msgid "3.0~a23-1"
+msgstr "3.0~a23-1"
 
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
@@ -58,26 +58,26 @@ msgid "OPTIONS"
 msgstr "OPTIONEN"
 
 #. type: IP
-#: en/live-boot.7:141 en/live-snapshot.1:43
+#: en/live-boot.7:145 en/live-snapshot.1:43
 #, no-wrap
 msgid "B</etc/live.conf>"
 msgstr "B</etc/live.conf>"
 
 #. type: Plain text
-#: en/live-boot.7:143 en/live-snapshot.1:45
+#: en/live-boot.7:147 en/live-snapshot.1:45
 msgid ""
 "Some variables can be configured via this config file (inside the live "
 "system)."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:143 en/live-snapshot.1:45
+#: en/live-boot.7:147 en/live-snapshot.1:45
 #, no-wrap
 msgid "B<live/filesystem.module>"
 msgstr "B<live/filesystem.module>"
 
 #. type: Plain text
-#: en/live-boot.7:145 en/live-snapshot.1:47
+#: en/live-boot.7:149 en/live-snapshot.1:47
 msgid ""
 "This optional file (inside the live media) contains a list of white-space or "
 "carriage-return-separated file names corresponding to disk images in the \"/"
@@ -90,13 +90,13 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:145 en/live-snapshot.1:47
+#: en/live-boot.7:149 en/live-snapshot.1:47
 #, no-wrap
 msgid "B</etc/live-persistence.binds>"
 msgstr "B</etc/live-persistence.binds>"
 
 #. type: Plain text
-#: en/live-boot.7:147 en/live-snapshot.1:49
+#: en/live-boot.7:151 en/live-snapshot.1:49
 msgid ""
 "This optional file (which resides in the rootfs system, not in the live "
 "media) is used as a list of directories which not need be persistent: ie. "
@@ -105,7 +105,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:150 en/live-snapshot.1:51
+#: en/live-boot.7:154 en/live-snapshot.1:51
 msgid ""
 "This saves expensive writes and speeds up operations on volatile data such "
 "as web caches and temporary files (like e.g. /tmp and .mozilla) which are "
@@ -114,40 +114,40 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:151 en/live-snapshot.1:42
+#: en/live-boot.7:155 en/live-snapshot.1:42
 #, no-wrap
 msgid "FILES"
 msgstr "DATEIEN"
 
 #. type: SH
-#: en/live-boot.7:157 en/live-snapshot.1:54
+#: en/live-boot.7:161 en/live-snapshot.1:54
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "SIEHE AUCH"
 
 #. type: Plain text
-#: en/live-boot.7:161 en/live-snapshot.1:58
+#: en/live-boot.7:165 en/live-snapshot.1:58
 msgid "I<live-build>(7)"
 msgstr "I<live-build>(7)"
 
 #. type: Plain text
-#: en/live-boot.7:163 en/live-snapshot.1:60
+#: en/live-boot.7:167 en/live-snapshot.1:60
 msgid "I<live-config>(7)"
 msgstr "I<live-config>(7)"
 
 #. type: Plain text
-#: en/live-boot.7:165 en/live-snapshot.1:62
+#: en/live-boot.7:169 en/live-snapshot.1:62
 msgid "I<live-tools>(7)"
 msgstr "I<live-tools>(7)"
 
 #. type: SH
-#: en/live-boot.7:166 en/live-snapshot.1:63
+#: en/live-boot.7:170 en/live-snapshot.1:63
 #, no-wrap
 msgid "HOMEPAGE"
 msgstr "HOMEPAGE"
 
 #. type: Plain text
-#: en/live-boot.7:168 en/live-snapshot.1:65
+#: en/live-boot.7:172 en/live-snapshot.1:65
 msgid ""
 "More information about live-boot and the Debian Live project can be found on "
 "the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
@@ -158,13 +158,13 @@ msgstr ""
 "unter E<lt>I<http://live.debian.net/manual/>E<gt> gefunden werden."
 
 #. type: SH
-#: en/live-boot.7:169 en/live-snapshot.1:66
+#: en/live-boot.7:173 en/live-snapshot.1:66
 #, no-wrap
 msgid "BUGS"
 msgstr "FEHLER"
 
 #. type: Plain text
-#: en/live-boot.7:171 en/live-snapshot.1:68
+#: en/live-boot.7:175 en/live-snapshot.1:68
 msgid ""
 "Bugs can be reported by submitting a bugreport for the live-boot package in "
 "the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
@@ -178,13 +178,13 @@ msgstr ""
 "werden."
 
 #. type: SH
-#: en/live-boot.7:172 en/live-snapshot.1:69
+#: en/live-boot.7:176 en/live-snapshot.1:69
 #, no-wrap
 msgid "AUTHOR"
 msgstr "AUTOR"
 
 #. type: Plain text
-#: en/live-boot.7:173 en/live-snapshot.1:70
+#: en/live-boot.7:177 en/live-snapshot.1:70
 msgid ""
 "live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
 "the Debian project."
index dd8c1a4..877d7b2 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: live-boot VERSION\n"
-"POT-Creation-Date: 2011-11-04 11:37+0100\n"
+"POT-Creation-Date: 2011-11-28 18:26+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,13 +25,13 @@ msgstr ""
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
 #, no-wrap
-msgid "2011-11-04"
+msgid "2011-11-28"
 msgstr ""
 
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
 #, no-wrap
-msgid "3.0~a22-1"
+msgid "3.0~a23-1"
 msgstr ""
 
 #. type: TH
@@ -552,49 +552,68 @@ msgstr ""
 #. type: IP
 #: en/live-boot.7:109
 #, no-wrap
-msgid "B<persistent>[={nofiles|cryptsetup}]"
+msgid "B<persistent>"
 msgstr ""
 
 #. type: Plain text
 #: en/live-boot.7:111
 msgid ""
-"live-boot will look for persistent and snapshot partitions or files labeled "
-"\"live-rw\", \"home-rw\", and files called \"live-sn*\", \"home-sn*\" and "
-"will try to, in order: mount as /cow the first, mount the second in /home, "
-"and just copy the contents of the latter in appropriate locations "
-"(snapshots). Snapshots will be tried to be updated on reboot/shutdown. Look "
-"at live-snapshot(1) for more informations."
+"live-boot will probe filesystems for persistent media. These can either be "
+"the filesystems themselves, if labeled correctly, or image/archive files, if "
+"named correctly. Overlays are labeled/named either \"live-rw\" or \"home-rw"
+"\" and will be mounted on / or /home, respectively; snapshots are labeled/"
+"named either \"live-sn\" or \"home-sn\" and will be extracted into / or /"
+"home, respectively (see live-snapshot(1) for more information). Overlays are "
+"mounted before snapshots are extracted, and for both overlays and snapshots, "
+"\"live-*\" are handled before \"home-*\". Overlay image files and snapshot "
+"archive files have extensions which determines their filesystem or archive "
+"type, e.g. \"live-rw.ext3\" and \"\\home-sn.squashfs\"."
+msgstr ""
+
+#. type: IP
+#: en/live-boot.7:111
+#, no-wrap
+msgid "B<persistent-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
 msgstr ""
 
 #. type: Plain text
 #: en/live-boot.7:113
 msgid ""
-"If \"nofiles\" is specified, only filesystems with matching labels will be "
-"searched; no filesystems will be traversed looking for archives or image "
-"files. This results in shorter boot times."
+"This option determines which types of encryption that we allow to be used "
+"when probing devices for persistent media. If \"none\" is in the list, we "
+"allow unencrypted media; if \"luks\" is in the list, we allow LUKS-encrypted "
+"media. Whenever a device containing encrypted media is probed the user will "
+"be prompted for the passphrase. The default value is \"none\"."
+msgstr ""
+
+#. type: IP
+#: en/live-boot.7:113
+#, no-wrap
+msgid "B<persistent-media>={I<removable>|I<removable-usb>}"
 msgstr ""
 
 #. type: Plain text
 #: en/live-boot.7:115
 msgid ""
-"If \"cryptsetup\" is specified, filesystems stored on Luks-encrypted devices "
-"will be considered as well as others when searching for a persistence "
-"filesystem; the user will be prompted for any needed decryption passphrase."
+"If you specify the keyword 'removable', live-boot will try to find "
+"persistent and snapshot partitions on removable media only. Note that if you "
+"want to further restrict the media to usb mass storage only, you can use the "
+"'removable-usb' keyword."
 msgstr ""
 
 #. type: IP
 #: en/live-boot.7:115
 #, no-wrap
-msgid "B<persistent-media>={I<removable>|I<removable-usb>}"
+msgid "B<persistent-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
 msgstr ""
 
 #. type: Plain text
 #: en/live-boot.7:117
 msgid ""
-"If you specify the keyword 'removable', live-boot will try to find "
-"persistent and snapshot partitions on removable media only. Note that if you "
-"want to further restrict the media to usb mass storage only, you can use the "
-"'removable-usb' keyword."
+"This option determines which types of persistent media we allow. If \"overlay"
+"\" is in the list, we consider overlays (i.e. \"live-rw\" and \"home-rw\"); "
+"if \"snapshot\" is in the list, we consider snapshots (i.e. \"live-sn\" and "
+"\"home-sn\"). The default is \"overlay,snapshot\"."
 msgstr ""
 
 #. type: IP
@@ -614,12 +633,42 @@ msgstr ""
 #. type: IP
 #: en/live-boot.7:119
 #, no-wrap
-msgid "B<persistent-subtext>=I<SUFFIX>"
+msgid "B<persistent-read-only>"
 msgstr ""
 
 #. type: Plain text
 #: en/live-boot.7:121
 msgid ""
+"Filesystem changes are not saved back to persistent media. In particular, "
+"overlays and netboot NFS mounts are mounted read-only, and snapshots are not "
+"resynced on shutdown."
+msgstr ""
+
+#. type: IP
+#: en/live-boot.7:121
+#, no-wrap
+msgid "B<persistent-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:123
+msgid ""
+"This option determines which types of persistent storage to consider when "
+"probing for persistent media. If \"filesystem\" is in the list, filesystems "
+"with matching labels will be used; if \"file\" is in the list, all "
+"filesystems will be probed for archives and image files with matching "
+"filenames. The default is \"file,filesystem\"."
+msgstr ""
+
+#. type: IP
+#: en/live-boot.7:123
+#, no-wrap
+msgid "B<persistent-subtext>=I<SUFFIX>"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:125
+msgid ""
 "Add a suffix when searching for the image filenames or partition labels to "
 "use for the above mentioned persistent feature, the SUFFIX will be added "
 "after a dash (e.g.: \"live-sn\" would transform to \"live-sn-SUFFIX\"). This "
@@ -628,26 +677,26 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:121
+#: en/live-boot.7:125
 #, no-wrap
 msgid "{B<preseed/file>|B<file>}=I<FILE>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:123
+#: en/live-boot.7:127
 msgid ""
 "A path to a file present on the rootfs could be used to preseed debconf "
 "database."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:123
+#: en/live-boot.7:127
 #, no-wrap
 msgid "B<package/question>=I<VALUE>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:125
+#: en/live-boot.7:129
 msgid ""
 "All debian installed packages could be preseeded from command-line that way, "
 "beware of blanks spaces, they will interfere with parsing, use a preseed "
@@ -655,26 +704,26 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:125
+#: en/live-boot.7:129
 #, no-wrap
 msgid "B<quickreboot>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:127
+#: en/live-boot.7:131
 msgid ""
 "This option causes live-boot to reboot without attempting to eject the media "
 "and without asking the user to remove the boot media."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:127
+#: en/live-boot.7:131
 #, no-wrap
 msgid "B<showmounts>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:129
+#: en/live-boot.7:133
 msgid ""
 "This parameter will make live-boot to show on \"/\" the ro filesystems "
 "(mostly compressed) on \"/live\". This is not enabled by default because "
@@ -683,26 +732,26 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:129
+#: en/live-boot.7:133
 #, no-wrap
 msgid "B<silent>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:131
+#: en/live-boot.7:135
 msgid ""
 "If you boot with the normal quiet parameter, live-boot hides most messages "
 "of its own. When adding silent, it hides all."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:131
+#: en/live-boot.7:135
 #, no-wrap
 msgid "B<todisk>=I<DEVICE>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:133
+#: en/live-boot.7:137
 msgid ""
 "Adding this parameter, live-boot will try to copy the entire read-only media "
 "to the specified device before mounting the root filesystem. It probably "
@@ -712,13 +761,13 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:133
+#: en/live-boot.7:137
 #, no-wrap
 msgid "B<toram>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:135
+#: en/live-boot.7:139
 msgid ""
 "Adding this parameter, live-boot will try to copy the whole read-only media "
 "to the computer's RAM before mounting the root filesystem. This could need a "
@@ -726,14 +775,14 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:135
+#: en/live-boot.7:139
 #, no-wrap
 msgid "B<union>=aufs|unionfs"
 msgstr ""
 
 #.  FIXME
 #. type: Plain text
-#: en/live-boot.7:138
+#: en/live-boot.7:142
 msgid ""
 "By default, live-boot uses aufs. With this parameter, you can switch to "
 "unionfs."
@@ -741,32 +790,32 @@ msgstr ""
 
 #.  FIXME
 #. type: SH
-#: en/live-boot.7:140
+#: en/live-boot.7:144
 #, no-wrap
 msgid "FILES (old)"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:141 en/live-snapshot.1:43
+#: en/live-boot.7:145 en/live-snapshot.1:43
 #, no-wrap
 msgid "B</etc/live.conf>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:143 en/live-snapshot.1:45
+#: en/live-boot.7:147 en/live-snapshot.1:45
 msgid ""
 "Some variables can be configured via this config file (inside the live "
 "system)."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:143 en/live-snapshot.1:45
+#: en/live-boot.7:147 en/live-snapshot.1:45
 #, no-wrap
 msgid "B<live/filesystem.module>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:145 en/live-snapshot.1:47
+#: en/live-boot.7:149 en/live-snapshot.1:47
 msgid ""
 "This optional file (inside the live media) contains a list of white-space or "
 "carriage-return-separated file names corresponding to disk images in the \"/"
@@ -779,13 +828,13 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:145 en/live-snapshot.1:47
+#: en/live-boot.7:149 en/live-snapshot.1:47
 #, no-wrap
 msgid "B</etc/live-persistence.binds>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:147 en/live-snapshot.1:49
+#: en/live-boot.7:151 en/live-snapshot.1:49
 msgid ""
 "This optional file (which resides in the rootfs system, not in the live "
 "media) is used as a list of directories which not need be persistent: ie. "
@@ -794,7 +843,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:150 en/live-snapshot.1:51
+#: en/live-boot.7:154 en/live-snapshot.1:51
 msgid ""
 "This saves expensive writes and speeds up operations on volatile data such "
 "as web caches and temporary files (like e.g. /tmp and .mozilla) which are "
@@ -803,69 +852,69 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:151 en/live-snapshot.1:42
+#: en/live-boot.7:155 en/live-snapshot.1:42
 #, no-wrap
 msgid "FILES"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:152
+#: en/live-boot.7:156
 #, no-wrap
 msgid "B</etc/live/boot.conf>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:153
+#: en/live-boot.7:157
 #, no-wrap
 msgid "B</etc/live/boot.d/>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:154
+#: en/live-boot.7:158
 #, no-wrap
 msgid "B<live/boot.conf>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:155
+#: en/live-boot.7:159
 #, no-wrap
 msgid "B<live/boot.d/>"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:157 en/live-snapshot.1:54
+#: en/live-boot.7:161 en/live-snapshot.1:54
 #, no-wrap
 msgid "SEE ALSO"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:159
+#: en/live-boot.7:163
 msgid "I<live-snapshot>(1)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:161 en/live-snapshot.1:58
+#: en/live-boot.7:165 en/live-snapshot.1:58
 msgid "I<live-build>(7)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:163 en/live-snapshot.1:60
+#: en/live-boot.7:167 en/live-snapshot.1:60
 msgid "I<live-config>(7)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:165 en/live-snapshot.1:62
+#: en/live-boot.7:169 en/live-snapshot.1:62
 msgid "I<live-tools>(7)"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:166 en/live-snapshot.1:63
+#: en/live-boot.7:170 en/live-snapshot.1:63
 #, no-wrap
 msgid "HOMEPAGE"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:168 en/live-snapshot.1:65
+#: en/live-boot.7:172 en/live-snapshot.1:65
 msgid ""
 "More information about live-boot and the Debian Live project can be found on "
 "the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
@@ -873,13 +922,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:169 en/live-snapshot.1:66
+#: en/live-boot.7:173 en/live-snapshot.1:66
 #, no-wrap
 msgid "BUGS"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:171 en/live-snapshot.1:68
+#: en/live-boot.7:175 en/live-snapshot.1:68
 msgid ""
 "Bugs can be reported by submitting a bugreport for the live-boot package in "
 "the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
@@ -888,13 +937,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:172 en/live-snapshot.1:69
+#: en/live-boot.7:176 en/live-snapshot.1:69
 #, no-wrap
 msgid "AUTHOR"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:173 en/live-snapshot.1:70
+#: en/live-boot.7:177 en/live-snapshot.1:70
 msgid ""
 "live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
 "the Debian project."
index e263e8e..09e1c7d 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: live-boot VERSION\n"
-"POT-Creation-Date: 2011-11-04 11:37+0100\n"
+"POT-Creation-Date: 2011-11-28 18:26+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -25,13 +25,13 @@ msgstr ""
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
 #, no-wrap
-msgid "2011-11-04"
+msgid "2011-11-28"
 msgstr ""
 
 #. type: TH
 #: en/live-boot.7:1 en/live-snapshot.1:1
 #, no-wrap
-msgid "3.0~a22-1"
+msgid "3.0~a23-1"
 msgstr ""
 
 #. type: TH
@@ -59,26 +59,26 @@ msgid "OPTIONS"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:141 en/live-snapshot.1:43
+#: en/live-boot.7:145 en/live-snapshot.1:43
 #, no-wrap
 msgid "B</etc/live.conf>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:143 en/live-snapshot.1:45
+#: en/live-boot.7:147 en/live-snapshot.1:45
 msgid ""
 "Some variables can be configured via this config file (inside the live "
 "system)."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:143 en/live-snapshot.1:45
+#: en/live-boot.7:147 en/live-snapshot.1:45
 #, no-wrap
 msgid "B<live/filesystem.module>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:145 en/live-snapshot.1:47
+#: en/live-boot.7:149 en/live-snapshot.1:47
 msgid ""
 "This optional file (inside the live media) contains a list of white-space or "
 "carriage-return-separated file names corresponding to disk images in the \"/"
@@ -91,13 +91,13 @@ msgid ""
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:145 en/live-snapshot.1:47
+#: en/live-boot.7:149 en/live-snapshot.1:47
 #, no-wrap
 msgid "B</etc/live-persistence.binds>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:147 en/live-snapshot.1:49
+#: en/live-boot.7:151 en/live-snapshot.1:49
 msgid ""
 "This optional file (which resides in the rootfs system, not in the live "
 "media) is used as a list of directories which not need be persistent: ie. "
@@ -106,7 +106,7 @@ msgid ""
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:150 en/live-snapshot.1:51
+#: en/live-boot.7:154 en/live-snapshot.1:51
 msgid ""
 "This saves expensive writes and speeds up operations on volatile data such "
 "as web caches and temporary files (like e.g. /tmp and .mozilla) which are "
@@ -115,40 +115,40 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:151 en/live-snapshot.1:42
+#: en/live-boot.7:155 en/live-snapshot.1:42
 #, no-wrap
 msgid "FILES"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:157 en/live-snapshot.1:54
+#: en/live-boot.7:161 en/live-snapshot.1:54
 #, no-wrap
 msgid "SEE ALSO"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:161 en/live-snapshot.1:58
+#: en/live-boot.7:165 en/live-snapshot.1:58
 msgid "I<live-build>(7)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:163 en/live-snapshot.1:60
+#: en/live-boot.7:167 en/live-snapshot.1:60
 msgid "I<live-config>(7)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:165 en/live-snapshot.1:62
+#: en/live-boot.7:169 en/live-snapshot.1:62
 msgid "I<live-tools>(7)"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:166 en/live-snapshot.1:63
+#: en/live-boot.7:170 en/live-snapshot.1:63
 #, no-wrap
 msgid "HOMEPAGE"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:168 en/live-snapshot.1:65
+#: en/live-boot.7:172 en/live-snapshot.1:65
 msgid ""
 "More information about live-boot and the Debian Live project can be found on "
 "the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
@@ -156,13 +156,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:169 en/live-snapshot.1:66
+#: en/live-boot.7:173 en/live-snapshot.1:66
 #, no-wrap
 msgid "BUGS"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:171 en/live-snapshot.1:68
+#: en/live-boot.7:175 en/live-snapshot.1:68
 msgid ""
 "Bugs can be reported by submitting a bugreport for the live-boot package in "
 "the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
@@ -171,13 +171,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:172 en/live-snapshot.1:69
+#: en/live-boot.7:176 en/live-snapshot.1:69
 #, no-wrap
 msgid "AUTHOR"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:173 en/live-snapshot.1:70
+#: en/live-boot.7:177 en/live-snapshot.1:70
 msgid ""
 "live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
 "the Debian project."
index 2dc0a7e..1b5c89e 100755 (executable)
@@ -244,24 +244,33 @@ Arguments ()
                                export PERSISTENT
                                ;;
 
-                       persistent=*)
-                               PERSISTENT="${ARGUMENT#persistent=}"
-                               if [ -z "${PERSISTENT}" ]
-                               then
-                                       PERSISTENT="Yes"
-                               fi
-                               export PERSISTENT
+                       persistent-encryption=*)
+                               PERSISTENT_ENCRYPTION="${ARGUMENT#*=}"
+                               export PERSISTENT_ENCRYPTION
                                ;;
 
                        persistent-media=*)
                                PERSISTENT_MEDIA="${ARGUMENT#*=}"
                                export PERSISTENT_MEDIA
                                ;;
+                       persistent-method=*)
+                               PERSISTENT_METHOD="${ARGUMENT#*=}"
+                               export PERSISTENT_METHOD
+                               ;;
 
                        persistent-path=*)
                                PERSISTENT_PATH="${ARGUMENT#persistent-path=}"
                                export PERSISTENT_PATH
                                ;;
+                       persistent-read-only)
+                               PERSISTENT_READONLY="Yes"
+                               export PERSISTENT_READONLY
+                               ;;
+
+                       persistent-storage=*)
+                               PERSISTENT_STORAGE="${ARGUMENT#persistent-storage=}"
+                               export PERSISTENT_STORAGE
+                               ;;
 
                        persistent-subtext=*)
                                root_persistence="${root_persistence}-${ARGUMENT#persistent-subtext=}"
@@ -385,6 +394,39 @@ Arguments ()
                UNIONTYPE="aufs"
                export UNIONTYPE
        fi
+
+       if [ -z "${PERSISTENT_ENCRYPTION}" ]
+       then
+               PERSISTENT_ENCRYPTION="none"
+               export PERSISTENT_ENCRYPTION
+       elif echo ${PERSISTENT_ENCRYPTION} | grep -qe "\<luks\>"
+       then
+               if ! modprobe dm-crypt
+               then
+                       log_warning_msg "Unable to load module dm-crypt"
+                       PERSISTENT_ENCRYPTION=$(echo ${PERSISTENT_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
+                       export PERSISTENT_ENCRYPTION
+               fi
+
+               if [ ! -x /lib/cryptsetup/askpass ] || [ ! -x /sbin/cryptsetup ]
+               then
+                       log_warning_msg "cryptsetup in unavailable"
+                       PERSISTENT_ENCRYPTION=$(echo ${PERSISTENT_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
+                       export PERSISTENT_ENCRYPTION
+               fi
+       fi
+
+       if [ -n "${PERSISTENT}" ] && [ -z "${PERSISTENT_METHOD}" ]
+       then
+               PERSISTENT_METHOD="snapshot,overlay"
+               export PERSISTENT_METHOD
+       fi
+
+       if [ -n "${PERSISTENT}" ] && [ -z "${PERSISTENT_STORAGE}" ]
+       then
+               PERSISTENT_STORAGE="filesystem,file"
+               export PERSISTENT_STORAGE
+       fi
 }
 
 is_live_path ()
@@ -485,7 +527,16 @@ is_nice_device ()
 {
        sysfs_path="${1#/sys}"
 
-       if /lib/udev/path_id "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci)"
+       if [ -e /lib/udev/path_id ]
+       then
+               # squeeze
+               PATH_ID="/lib/udev/path_id"
+       else
+               # wheezy/sid (udev >= 174)
+               PATH_ID="/sbin/udevadm test-builtin path_id"
+       fi
+
+       if "${PATH_ID}" "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci)"
        then
                return 0
        elif echo "${sysfs_path}" | grep -q '^/block/vd[a-z]$'
@@ -1033,26 +1084,6 @@ do_snap_copy ()
        fi
 }
 
-find_snap ()
-{
-       # Look for ${snap_label}.* in block devices
-       snap_label="${1}"
-       black_listed_devices="${2}"
-       white_listed_devices="${3}"
-
-       if [ "${PERSISTENT}" != "nofiles" ]
-       then
-               # search for image files
-               snapdata=$(find_files "${PERSISTENT_PATH}${snap_label}.squashfs ${PERSISTENT_PATH}${snap_label}.cpio.gz ${PERSISTENT_PATH}${snap_label}.ext2 ${PERSISTENT_PATH}${snap_label}.ext3 ${PERSISTENT_PATH}${snap_label}.ext4 ${PERSISTENT_PATH}${snap_label}.jffs2" "${black_listed_devices}" "${white_listed_devices}")
-       fi
-
-       if [ -z "${snapdata}" ]
-       then
-               snapdata=$(find_cow_device "${snap_label}" "${black_listed_devices}" "${white_listed_devices}")
-       fi
-       echo "${snapdata}"
-}
-
 try_snap ()
 {
        # copy the contents of previously found snapshot to ${snap_mount}
@@ -1163,7 +1194,10 @@ try_snap ()
                return 1
        fi
 
-       echo "export ${snap_type}SNAP=${snap_relpath}:${snapdev}:${snapfile}" >> snapshot.conf # for resync on reboot/halt
+       if [ -z ${PERSISTENT_READONLY} ]
+       then
+               echo "export ${snap_type}SNAP=${snap_relpath}:${snapdev}:${snapfile}" >> snapshot.conf # for resync on reboot/halt
+       fi
        return 0
 }
 
@@ -1204,7 +1238,7 @@ setup_unionfs ()
 
        if [ "${UNIONTYPE}" = "aufs" ]
        then
-               roopt="rr"
+               roopt="rr+wh"
                noxino_opt="noxino,"
        elif [ "${UNIONTYPE}" = "unionfs-fuse" ]
        then
@@ -1369,46 +1403,62 @@ setup_unionfs ()
                                ;;
                esac
 
-               # search for label and files (this could be hugely optimized)
-               cowprobe=$(find_cow_device "${root_persistence}" "${blacklistdev}" "${whitelistdev}")
-               if [ -b "${cowprobe}" ]
+               if echo ${PERSISTENT_METHOD} | grep -qe "\<overlay\>"
                then
-                       # Blacklist /cow device, to avoid inconsistent setups for overlapping snapshots
-                       # makes sense to have both persistence for /cow and /home mounted, maybe also with
-                       # snapshots to be sure to really store some e.g key config files,
-                       # but not on the same media
-                       blacklistdev="${cowprobe}"
-                       PERSISTENCE_IS_ON="1"
-                       export PERSISTENCE_IS_ON
+                       overlays="${root_persistence} ${home_persistence}"
                fi
-               # homecow just mount something on /home, this should be generalized some way
-               homecow=$(find_cow_device "${home_persistence}" "${blacklistdev}" "${whitelistdev}")
-               if [ -b "${homecow}" ]
+
+               if echo ${PERSISTENT_METHOD} | grep -qe "\<snapshot\>"
+               then
+                       snapshots="${root_snapshot_label} ${home_snapshot_label}"
+               fi
+
+
+               for media in $(find_persistent_media "${overlays}" "${snapshots}" "${blacklistdev}" "${whitelistdev}")
+               do
+                       media="$(echo ${media} | tr ":" " ")"
+                       case ${media} in
+                               ${root_persistence}=*)
+                                       cowprobe="${media#*=}"
+                                       ;;
+                               ${home_persistence}=*)
+                                       homecow="${media#*=}"
+                                       ;;
+                               ${root_snapshot_label}=*)
+                                       root_snapdata="${media#*=}"
+                                       ;;
+                               ${home_snapshot_label}=*)
+                                       # This second type should be removed when snapshot will get smarter,
+                                       # hence when "/etc/live-snapshot*list" will be supported also by
+                                       # ext2|ext3|ext4|jffs2 snapshot types.
+                                       home_snapdata="${media#*=}"
+                                       ;;
+                               *)
+                                       ;;
+                        esac
+               done
+
+               if [ -b "${cowprobe}" ] || [ -b "${homecow}" ]
                then
                        PERSISTENCE_IS_ON="1"
                        export PERSISTENCE_IS_ON
                fi
-               root_snapdata=$(find_snap "${root_snapshot_label}" "${blacklistdev}" "${whitelistdev}")
-               # This second type should be removed when snapshot will get smarter,
-               # hence when "/etc/live-snapshot*list" will be supported also by
-               # ext2|ext3|ext4|jffs2 snapshot types.
-               home_snapdata=$(find_snap "${home_snapshot_label}" "${blacklistdev}" "${whitelistdev}")
 
                if [ -b "${cowprobe}" ]
                then
                        cowdevice=${cowprobe}
                        cow_fstype=$(get_fstype "${cowprobe}")
-                       cow_mountopt="rw,noatime"
+                       if [ -z "${PERSISTENT_READONLY}" ]
+                       then
+                               cow_mountopt="rw,noatime"
+                       else
+                               cow_mountopt="ro,noatime"
+                       fi
 
                        if [ "${FORCEPERSISTENTFSCK}" = "Yes" ]
                        then
                                fsck -y ${cowdevice}
                        fi
-               else
-                       log_warning_msg "Unable to find the persistent medium"
-                       cowdevice="tmpfs"
-                       cow_fstype="tmpfs"
-                       cow_mountopt="rw,noatime,mode=755"
                fi
        elif [ -n "${NFS_COW}" ] && [ -z "${NOPERSISTENT}" ]
        then
@@ -1421,6 +1471,12 @@ setup_unionfs ()
                        nfs_cow_opts="-o nolock"
                        nfs_cow=${NFS_COW}
                fi
+
+               if [ -n "${PERSISTENT_READONLY}" ]
+               then
+                       nfs_cow_opts="${nfs_cow_opts},nocto,ro"
+               fi
+
                mac="$(get_mac)"
                if [ -n "${mac}" ]
                then
@@ -1429,7 +1485,10 @@ setup_unionfs ()
                else
                        panic "unable to determine mac address"
                fi
-       else
+       fi
+
+       if [ -z "${cowdevice}" ]
+       then
                cowdevice="tmpfs"
                cow_fstype="tmpfs"
                cow_mountopt="rw,noatime,mode=755"
@@ -1437,16 +1496,23 @@ setup_unionfs ()
 
        if [ "${UNIONTYPE}" != "unionmount" ]
        then
+               if [ -n "${PERSISTENT_READONLY}" ]
+               then
+                       persistent_root="/$(basename ${cowdevice})-backing"
+                       mkdir -p ${persistent_root}
+               else
+                       persistent_root="/cow"
+               fi
 
                if [ "${cow_fstype}" = "nfs" ]
                then
                        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"
+                               "Trying nfsmount ${nfs_cow_opts} ${cowdevice} ${persistent_root}"
+                       nfsmount ${nfs_cow_opts} ${cowdevice} ${persistent_root} || \
+                               panic "Can not mount ${cowdevice} (n: ${cow_fstype}) on ${persistent_root}"
                else
-                       mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} /cow || \
-                               panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on /cow"
+                       mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} ${persistent_root} || \
+                               panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on ${persistent_root}"
                fi
        fi
 
@@ -1506,7 +1572,13 @@ setup_unionfs ()
 
 
                        *)
-                               unionmountopts="-o noatime,${noxino_opt}dirs=${unionrw}=rw:${unionro}=${roopt}"
+                               if [ -n "${PERSISTENT_READONLY}" ]
+                               then
+                                       mount -t tmpfs -o rw,noatime,mode=755 tmpfs "${unionrw}"
+                                       unionmountopts="-o noatime,${noxino_opt}dirs=${unionrw}=rw:${persistent_root}=${roopt}:${unionro}=${roopt}"
+                               else
+                                       unionmountopts="-o noatime,${noxino_opt}dirs=${unionrw}=rw:${unionro}=${roopt}"
+                               fi
                                mount -t ${UNIONTYPE} ${unionmountopts} ${UNIONTYPE} "${unionmountpoint}"
                                ;;
                esac || \
@@ -1529,7 +1601,17 @@ setup_unionfs ()
 
                if [ -b "${homecow}" ]
                then
-                       mount -t $(get_fstype "${homecow}") -o rw,noatime "${homecow}" "${rootmnt}/home"
+                       if [ -z "${PERSISTENT_READONLY}" ]
+                       then
+                               mount -t $(get_fstype "${homecow}") -o rw,noatime "${homecow}" "${rootmnt}/home"
+                       else
+                               homerw="/cow/home"
+                               homero="/$(basename ${homecow})-backing"
+                               homemountpoint="${rootmnt}/home"
+                               mkdir -p ${homerw} ${homero} ${homemountpoint}
+                               mount -t $(get_fstype "${homecow}") -o ro "${homecow}" "${homero}"
+                               mount -t "${UNIONTYPE}" -o "noatime,${noxino_opt}dirs=${homerw}=rw:${homero}=${roopt}" "${UNIONTYPE}" "${homemountpoint}"
+                       fi
                        export HOMEMOUNTED=1 # used to proper calculate free space in do_snap_copy()
                else
                        log_warning_msg "Unable to find the persistent home medium"
index 73d9f9d..3109356 100644 (file)
@@ -37,6 +37,38 @@ subdevices ()
        echo ${r}
 }
 
+storage_devices()
+{
+       black_listed_devices="${1}"
+       white_listed_devices="${2}"
+
+       for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "loop|ram|fd")
+       do
+               fulldevname=$(sys2dev "${sysblock}")
+
+               if echo "${black_listed_devices}" | grep -qe "\<${fulldevname}\>" || \
+                       [ -n "${white_listed_devices}" ] && \
+                       echo "${white_listed_devices}" | grep -qve "\<${fulldevname}\>"
+               then
+                       # skip this device entirely
+                       continue
+               fi
+
+               for dev in $(subdevices "${sysblock}")
+               do
+                       devname=$(sys2dev "${dev}")
+
+                       if echo "${black_listed_devices}" | grep -qe "\<${devname}\>"
+                       then
+                               # skip this subdevice
+                               continue
+                       else
+                               echo "${devname}"
+                       fi
+               done
+       done
+}
+
 is_supported_fs ()
 {
        fstype="${1}"
@@ -202,7 +234,7 @@ setup_loop ()
                                fi
                        fi
 
-                       if [ 0 -lt "${offset}" ]
+                       if [ -n "${offset}" ] && [ 0 -lt "${offset}" ]
                        then
                                options="${options} -o ${offset}"
                        fi
@@ -279,182 +311,148 @@ try_mount ()
        fi
 }
 
-find_cow_device ()
+open_luks_device ()
 {
-       # Returns a device containing a partition labeled "${pers_label}" or containing a file named the same way
-       #  in the latter case the partition containing the file is left mounted
-       #  if is not in black_listed_devices.
-       #  Additionally, if the white_listed_devices list is non-empty, the
-       #  parent block device of the returned device must be part of this list.
-       pers_label="${1}"
-       cow_backing="/${pers_label}-backing"
-       black_listed_devices="${2}"
-       white_listed_devices="${3}"
-
-       if [ -z "${PERSISTENT_PATH}" ]
+       dev="${1}"
+       name="$(basename ${dev})"
+       opts="--key-file=-"
+       if [ -n "${PERSISTENT_READONLY}" ]
        then
-               pers_fpath=${cow_backing}/${pers_label}
-       else
-               pers_fpath=${cow_backing}/${PERSISTENT_PATH}/${pers_label}
+               opts="${opts} --readonly"
        fi
 
-       for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop | grep -v ram | grep -v fd)
+       load_keymap
+
+       while true
        do
-               fulldevname=$(sys2dev "${sysblock}")
+               /lib/cryptsetup/askpass "Enter passphrase for ${dev}: " | \
+                       /sbin/cryptsetup -T 1 luksOpen ${dev} ${name} ${opts}
 
-               if echo "${black_listed_devices}" | grep -q -w "${fulldevname}"
+               if [ 0 -eq ${?} ]
                then
-                       # skip this device entirely
-                       break
+                       luks_device="/dev/mapper/${name}"
+                       echo ${luks_device}
+                       return 0
                fi
 
-               if [ -n "${white_listed_devices}" ]
+               echo >&6
+               echo -n "There was an error decrypting ${dev} ... Retry? [Y/n] " >&6
+               read answer
+
+               if [ "$(echo "${answer}" | cut -b1 | tr A-Z a-z)" = "n" ]
                then
-                       if echo "${white_listed_devices}" | grep -v -q -w "${fulldevname}"
-                       then
-                               # skip this device entirely
-                               break
-                       fi
+                       return 2
                fi
-
-               for dev in $(subdevices "${sysblock}")
-               do
-                       devname=$(sys2dev "${dev}")
-
-                       if echo "${black_listed_devices}" | grep -q -w "${devname}"
-                       then
-                               # skip this subdevice
-                               break
-                       fi
-
-                       # Checking for a luks device
-                       if [ "${PERSISTENT}" = "cryptsetup" ] && [ -e /sbin/cryptsetup ] && /sbin/cryptsetup isLuks ${devname}
-                       then
-                               while true
-                               do
-                                       load_keymap
-
-                                       /lib/cryptsetup/askpass "Enter passphrase for ${pers_label} on ${devname}: " | /sbin/cryptsetup -T 1 luksOpen ${devname} $(basename ${devname}) --key-file=-
-                                       error=${?}
-
-                                       devname="/dev/mapper/$(basename ${devname})"
-
-                                       if [ 0 -eq ${error} ]
-                                       then
-                                               unset error
-                                               break
-                                       fi
-
-                                       echo
-                                       echo -n "There was an error decrypting ${devname} ... Retry? [Y/n] " >&6
-                                       read answer
-
-                                       if [ "$(echo "${answer}" | cut -b1 | tr A-Z a-z)" = "n" ]
-                                       then
-                                               unset answer
-                                               break
-                                       fi
-                               done
-                       fi
-
-                       if [ "$(/sbin/blkid -s LABEL -o value $devname 2>/dev/null)" = "${pers_label}" ]
-                       then
-                               echo "${devname}"
-                               return 0
-                       fi
-
-                       if [ "${PERSISTENT}" = "nofiles" ]
-                       then
-                               # do not mount the device to find for image files
-                               # just skip this
-                               continue
-                       fi
-
-                       case "$(get_fstype ${devname})" in
-                               vfat|ext2|ext3|ext4|jffs2)
-                                       mkdir -p "${cow_backing}"
-                                       if try_mount "${devname}" "${cow_backing}" "rw"
-                                       then
-                                               if [ -f "${pers_fpath}" ]
-                                               then
-                                                       echo $(setup_loop "${pers_fpath}" "loop" "/sys/block/loop*")
-                                                       return 0
-                                               else
-                                                       umount ${cow_backing} > /dev/null 2>&1 || true
-                                               fi
-                                       fi
-                                       ;;
-                               *)
-                                       ;;
-                       esac
-               done
        done
-       return 1
 }
 
-find_files ()
+find_persistent_media ()
 {
-       # return the a string composed by device name, mountpoint an the first of ${filenames} found on a supported partition
-       #  if is not in black_listed_devices.
-       #  Additionally, if the white_listed_devices list is non-empty, the
-       #  parent block device of the returned device must be part of this list.
-       # FIXME: merge with above function
-
-       filenames="${1}"
-       snap_backing="/snap-backing"
-       black_listed_devices="${2}"
-       white_listed_devices="${3}"
-
-       for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop | grep -v ram | grep -v fd)
+       # Scans devices for overlays and snapshots, and returns a whitespace
+       # separated list of how to use them. Only overlays with a partition
+       # label or file name in ${overlays} are returned, and ditto for
+       # snapshots with labels in ${snapshots}.
+       #
+       # When scanning a LUKS device, the user will be asked to enter the
+       # passphrase; on failure to enter it, or if no persistent partitions
+       # or files were found, the LUKS device is closed.
+       #
+       # For a snapshot file the return value is ${label}=${snapdata}", where
+       # ${snapdata} is the parameter used for try_snap().
+       #
+       # For all other cases (overlay/snapshot partition and overlay file) the
+       # return value is "${label}=${device}", where ${device} a device that
+       # can mount the content. In the case of an overlay file, the device
+       # containing the file will remain mounted as a side-effect.
+       #
+       # No devices in ${black_listed_devices} will be scanned, and if
+       # ${white_list_devices} is non-empty, only devices in it will be
+       # scanned.
+
+       overlays="${1}"
+       snapshots="${2}"
+       black_listed_devices="${3}"
+       white_listed_devices="${4}"
+
+       for dev in $(storage_devices "${black_listed_devices}" "${white_listed_devices}")
        do
-               fulldevname=$(sys2dev "${sysblock}")
-
-               if echo "${black_listed_devices}" | grep -q -w "${fulldevname}"
-               then
-                       # skip this device entirely
-                       break
-               fi
+               luks_device=""
 
-               if [ -n "${white_listed_devices}" ]
+               # Checking for a luks device
+               if echo ${PERSISTENT_ENCRYPTION} | grep -qe "\<luks\>" && \
+                  /sbin/cryptsetup isLuks ${dev}
                then
-                       if echo "${white_listed_devices}" | grep -v -q -w "${fulldevname}"
+                       if luks_device=$(open_luks_device "${dev}")
                        then
-                               # skip this device entirely
-                               break
+                               dev="${luks_device}"
+                       else
+                               # skip $dev since we failed/chose not to open it
+                               continue
                        fi
+               elif echo ${PERSISTENT_ENCRYPTION} | grep -qve "\<none\>"
+               then
+                       # skip $dev since we don't allow unencrypted storage
+                       continue
                fi
 
-               for dev in $(subdevices "${sysblock}")
-               do
-                       devname=$(sys2dev "${dev}")
-                       devfstype="$(get_fstype ${devname})"
-
-                       if echo "${black_listed_devices}" | grep -q -w "${devname}"
-                       then
-                               # skip this subdevice
-                               break
-                       fi
+               if echo ${PERSISTENT_STORAGE} | grep -qe "\<filesystem\>"
+               then
+                       for label in ${overlays} ${snapshots}
+                       do
+                               if [ "$(/sbin/blkid -s LABEL -o value $dev 2>/dev/null)" = "${label}" ]
+                               then
+                                       overlays=$(echo ${overlays} | sed -e "s|\<${label}\>||")
+                                       snapshots=$(echo ${snapshots} | sed -e "s|\<${label}\>||")
+                                       echo "${label}=${dev}"
+                                       # skip to the next device
+                                       continue 2
+                               fi
+                       done
+               fi
 
-                       if is_supported_fs ${devfstype}
+               if echo ${PERSISTENT_STORAGE} | grep -qe "\<file\>"
+               then
+                       devfstype="$(get_fstype ${dev})"
+                       overlay_on_dev=""
+                       snapshot_on_dev=""
+                       backing="/$(basename ${dev})-backing"
+                       mkdir -p "${backing}"
+                       if is_supported_fs ${devfstype} && try_mount "${dev}" "${backing}" "rw" "${devfstype}"
                        then
-                               mkdir -p "${snap_backing}"
+                               for label in ${overlays}
+                               do
+                                       path=${backing}/${PERSISTENT_PATH}${label}
+                                       if [ -f "${path}" ]
+                                       then
+                                               overlays=$(echo ${overlays} | sed -e "s|\<${label}\>||")
+                                               overlay_on_dev="yes"
+                                               echo "${label}=$(setup_loop "${path}" "loop" "/sys/block/loop*")"
+                                       fi
+                               done
 
-                               if try_mount "${devname}" "${snap_backing}" "ro" "${devfstype}"
-                               then
-                                       for filename in ${filenames}
+                               for label in ${snapshots}
+                               do
+                                       for ext in squashfs cpio.gz ext2 ext3 ext4 jffs2
                                        do
-                                               if [ -f "${snap_backing}/${filename}" ]
+                                               path="${PERSISTENT_PATH}${label}.${ext}"
+                                               if [ -f "${backing}/${path}" ]
                                                then
-                                                       echo "${devname} ${snap_backing} ${filename}"
-                                                       umount ${snap_backing}
-                                                       return 0
+                                                       snapshots=$(echo ${snapshots} | sed -e "s|\<${label}\>||")
+                                                       snapshot_on_dev="yes"
+                                                       echo "${label}=${dev}:${backing}:${path}"
                                                fi
                                        done
+                               done
+                       fi
+                       if [ -z "${overlay_on_dev}" ]
+                       then
+                               umount ${backing} > /dev/null 2>&1 || true
+                               if [ -z "${snapshot_on_dev}" ] && [ -n "${luks_device}" ] && /sbin/cryptsetup status "${luks_device}" 1> /dev/null
+                               then
+                                       /sbin/cryptsetup luksClose "${luks_device}"
                                fi
-
-                               umount ${snap_backing}
                        fi
-               done
+               fi
        done
 }