From: Christian Hofstaedtler Date: Tue, 6 Dec 2011 20:40:44 +0000 (+0100) Subject: Merge branch 'debian' X-Git-Tag: v3.0_a24-1+grml.1~9 X-Git-Url: http://git.grml.org/?p=live-boot-grml.git;a=commitdiff_plain;h=6ac1aac5fcd96ce1e986e64884bd8c16a7aa9ea8;hp=d4619b77a669c70ae68d5da34de7655ffef80e04 Merge branch 'debian' Conflicts: debian/changelog debian/control debian/rules --- diff --git a/Makefile b/Makefile index a2ab1b9..ec67501 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,7 @@ install: uninstall: # Uninstalling executables rm -f $(DESTDIR)/sbin/live-snapshot $(DESTDIR)/sbin/live-swapfile - rmdir --ignore-fail-on-non-empty $(DESTDIR)/sbin || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/sbin > /dev/null 2>&1 || true rm -rf $(DESTDIR)/usr/share/live-boot @@ -86,18 +86,18 @@ uninstall: rm -rf $(DESTDIR)/usr/share/initramfs-tools/scripts/live* rm -f $(DESTDIR)/usr/share/initramfs-tools/scripts/local-top/live - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools/hooks || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools/scripts/local-top || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools/scripts || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools/hooks > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools/scripts/local-top > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools/scripts > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/initramfs-tools > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true # Uninstalling docs rm -rf $(DESTDIR)/usr/share/doc/live-boot - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/doc || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/doc > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true # Uninstalling manpages for MANPAGE in manpages/en/*; \ @@ -117,15 +117,15 @@ uninstall: for SECTION in $(ls manpages/en/* | awk -F. '{ print $2 }'); \ do \ - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/man$${SECTION} || true; \ - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/*/man$${SECTION} || true; \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/man$${SECTION} > /dev/null 2>&1 || true; \ + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man/*/man$${SECTION} > /dev/null 2>&1 || true; \ done - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share || true - rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share/man > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr/share > /dev/null 2>&1 || true + rmdir --ignore-fail-on-non-empty $(DESTDIR)/usr > /dev/null 2>&1 || true - rmdir --ignore-fail-on-non-empty $(DESTDIR) || true + rmdir --ignore-fail-on-non-empty $(DESTDIR) > /dev/null 2>&1 || true clean: @echo "Nothing to clean." diff --git a/VERSION b/VERSION index 9ae56c3..7d277db 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.0~a19 +3.0~a24-1 diff --git a/bin/live-snapshot b/bin/live-snapshot index 82addab..ca495fb 100755 --- a/bin/live-snapshot +++ b/bin/live-snapshot @@ -409,6 +409,13 @@ Do_filelist () Do_snapshot () { TMP_FILELIST=$(mktemp -p "${SAFE_TMPDIR}" "${TMP_FILELIST}.XXXXXX") + if [ -e "${EXCLUDE_LIST}" ] + then + # Create a TMP filelist removing empty lines (grep -f does not like them) + # and comments (for speedup and LST) + TMP_EXCLUDE_LIST=$(mktemp -p "${SAFE_TMPDIR}" "${PROGRAM}_excludelist.XXXXXX") + grep -v '^#.*$' "${EXCLUDE_LIST}" | grep -v '^ *$' > "${TMP_EXCLUDE_LIST}" + fi case "${SNAP_TYPE}" in squashfs) @@ -420,7 +427,7 @@ Do_snapshot () if [ -e "${EXCLUDE_LIST}" ] then # Add explicitly excluded files - grep -v '^#.*$' "${EXCLUDE_LIST}" | grep -v '^ *$' >> "${TMP_FILELIST}" + cat "${TMP_EXCLUDE_LIST}" >> "${TMP_FILELIST}" fi cd "${OLDPWD}" @@ -439,12 +446,13 @@ Do_snapshot () cd "${WORKING_DIR}" if [ -e "${EXCLUDE_LIST}" ] then + # Convert \0 to \n and tag existing (rare but possible) \n in filenames, # this to let grep -F -v do a proper work in filtering out cat "${TMP_FILELIST}" | \ tr '\n' '\1' | \ tr '\0' '\n' | \ - grep -F -v -f "${EXCLUDE_LIST}" | \ + grep -F -v -f "${TMP_EXCLUDE_LIST}" | \ tr '\n' '\0' | \ tr '\1' '\n' | \ eval $COPY_CMD || exit 1 @@ -468,10 +476,14 @@ Do_snapshot () ;; esac - if [ -f "${TMP_FILELIST}" ] - then - rm -f "${TMP_FILELIST}" - fi + # Remove temporary file lists + for filelist in "${TMP_FILELIST}" "${TMP_EXCLUDE_LIST}" + do + if [ -f "${filelist}" ] + then + rm -f "${filelist}" + fi + done } Clean () diff --git a/debian/changelog b/debian/changelog index 96d42b0..0115e5d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,109 @@ +live-boot (3.0~a24-1) unstable; urgency=low + + * Removing quotes from udev path_id command to actually execute the + command. + + -- Daniel Baumann Sun, 04 Dec 2011 09:58:23 +0100 + +live-boot (3.0~a23-1) unstable; urgency=low + + [ Tails developers ] + * Enabling whiteouts support for aufs. + + [ Daniel Baumann ] + * Update udevs path_id changes as of version 174, thanks to Baurzhan + Muftakhidinov for spotting it. + + [ Tails developers ] + * Adding persistent-encryption={none|luks}. + * Making persistent-encryption=luks strict. + * Making sure dm-crypt is loaded when dealing with LUKS devices. + * Adding persistent-storage=TYPE... + * Removing now obsolete persistent=* arguments. + * Adding persistent-method=METHOD... + * Fixing an incorrectly redirected newline. + * Clarifying what happens when you don't retry decrypting a device. + * Refactoring device scanning in find_{cow_device,files}. + * Making use of is_supported_fs in find_cow_devices (like in + find_files). + * Refactoring overlay and snapshot scanning code. + * Fixing a "sh: bad number" when $offset is not passed to + setup_loop(). + * Disabling persistent-encryption=luks if dependencies are + unavailable. + * Adding persistent-read-only boot parameter. + * Changing persistent-encryption to accept a list TYPE... instead. + * Updating live-boot man page for persistent-encryption. + * Updating live-boot man page for persistent-storage. + * Updating live-boot man page for persistent-method. + * Updating and rewording live-boot man page for the persistent option. + * Making persistent-read-only work for home-rw overlays. + * Making persistent-read-only work for live-rw overlays. + * Updating live-boot man page for persistent-read-only. + * Adding workaround for a busybox bug with grep -w. + + -- Daniel Baumann Mon, 28 Nov 2011 18:26:11 +0100 + +live-boot (3.0~a22-1) unstable; urgency=low + + [ Daniel Baumann ] + * Using compression level 9 also for binary packages. + * Updating matching in is_nice_device to, amongst others, match for + virtio devices. + * Include overlayfs modules in initramfs if existing. + + [ Marco Amadori ] + * Fix live-snapshot exclude.list handling (Closes: #610337) + + [ Daniel Baumann ] + * Sorting overrides in rules alphabetically. + + -- Daniel Baumann Fri, 04 Nov 2011 11:37:28 +0100 + +live-boot (3.0~a21-1) unstable; urgency=low + + [ Daniel Baumann ] + * Silencing rmdir calls in makefile. + * Printing out a warning message in initramfs-tools hook if backend is + installed but no live-boot package, exiting early and not breaking + update-initramfs (Closes: #639884). + + [ Tails developers ] + * Fixing cache_path: cache non-executable libs dependencies as well. + * Fixing cache_path: taking into account the three forms of ldd output + lines. + * Adding a white_listed_devices parameter to find_cow_device and + find_files. + * Factorizing loops on removable/non-removable devices. + * Adding support for persistent-media={removable,removable-usb}. + * Silencing umount in case live/image was unmounted already, extracted + from a patch by Michael Schierl . + * Erroring out in case a "wrong" filesystem was chosen. + + [ Daniel Baumann ] + * Using /usr/share/live-boot instead of unreliable + /usr/share/doc/live-boot in validateroot bootscript, stripped live + systems may or may not carry /usr/share/doc. + + -- Daniel Baumann Thu, 08 Sep 2011 21:06:28 +0200 + +live-boot (3.0~a20-1) unstable; urgency=low + + [ Daniel Baumann ] + * Updating section for live-boot-doc. + + [ Ben Armstrong ] + * Cross-referencing lb_config --bootappend-live. + + [ Daniel Baumann ] + * Correcting bootappend-live reference in live-boot manpage. + * Applying patch from grml to update forgotten use of live.log with + live-boot.log. + * Applying reformated patch from Ulrich Dangel to add + support for lvm and md devices. + + -- Daniel Baumann Thu, 04 Aug 2011 21:20:47 +0200 + live-boot (3.0~a19-1+grml.01) grml-testing; urgency=low * Depend on quilt with a version to quiet lintian diff --git a/debian/control b/debian/control index 58f33c7..4021c30 100644 --- a/debian/control +++ b/debian/control @@ -30,6 +30,7 @@ Description: Debian Live - System Boot Scripts version to better fit Grml's needs. Package: live-boot-grml-doc +Section: doc Architecture: all Depends: ${misc:Depends} Conflicts: live-boot (<< 3.0~a18~), live-boot-doc diff --git a/debian/live-boot-grml.init b/debian/live-boot-grml.init index cd2e4cd..5799c44 100644 --- a/debian/live-boot-grml.init +++ b/debian/live-boot-grml.init @@ -47,15 +47,28 @@ cache_path() find "${path}" -type f | xargs cat > /dev/null 2>&1 elif [ -f "${path}" ] then - if [ -x "${path}" ] + if file -L "${path}" | grep -q 'dynamically linked' then - if file -L "${path}" | grep -q 'dynamically linked' - then - for lib in $(ldd "${path}" | awk '{ print $3 }') - do - cache_path "${lib}" - done - fi + # ldd output can be of three forms: + # 1. linux-vdso.so.1 => (0x00007fffe3fb4000) + # This is a virtual, kernel shared library and we want to skip it + # 2. libc.so.6 => /lib/libc.so.6 (0x00007f5e9dc0c000) + # We want to cache the third word. + # 3. /lib64/ld-linux-x86-64.so.2 (0x00007f5e9df8b000) + # We want to cache the first word. + ldd "${path}" | while read line + do + if echo "$line" | grep -qs ' => ' + then + continue + elif echo "$line" | grep -qs ' => ' + then + lib=$(echo "${line}" | awk '{ print $3 }') + else + lib=$(echo "${line}" | awk '{ print $1 }') + fi + cache_path "${lib}" + done fi cat "${path}" >/dev/null 2>&1 diff --git a/debian/rules b/debian/rules index 41a057a..910523b 100755 --- a/debian/rules +++ b/debian/rules @@ -25,8 +25,11 @@ override_dh_auto_install: mkdir -p debian/live-boot-grml-initramfs-tools/usr/share mv debian/tmp/usr/share/initramfs-tools debian/live-boot-grml-initramfs-tools/usr/share -override_dh_installinit: - dh_installinit -p live-boot-grml --no-restart-on-upgrade --no-start --update-rcd-params='start 89 0 6 .' +override_dh_builddeb: + dh_builddeb -- -Zgzip -z9 override_dh_install: dh_install --fail-missing + +override_dh_installinit: + dh_installinit -p live-boot-grml --no-restart-on-upgrade --no-start --update-rcd-params='start 89 0 6 .' diff --git a/hooks/live b/hooks/live index 309c26f..b023d4b 100755 --- a/hooks/live +++ b/hooks/live @@ -42,6 +42,13 @@ fi # Handling live-boot +if [ ! -e /usr/share/live-boot ] +then + echo "W: live-boot-initramfs-tools (backend) installed without live-boot," + echo "W: this initramfs will *NOT* have live support." + exit 0 +fi + [ "${QUIET}" ] || echo -n " "core # Configuration if [ -e /usr/share/live-boot/languagelist ] @@ -134,8 +141,9 @@ manual_add_modules squashfs manual_add_modules sqlzma manual_add_modules unlzma -# Filesystem: aufs/unionfs +# Filesystem: aufs/overlayfs/unionfs manual_add_modules aufs +manual_add_modules overlayfs manual_add_modules unionfs # Filesystem: unionfs-fuse diff --git a/manpages/de/live-boot.de.7 b/manpages/de/live-boot.de.7 index e8ec318..9cd2415 100644 --- a/manpages/de/live-boot.de.7 +++ b/manpages/de/live-boot.de.7 @@ -3,7 +3,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIVE\-BOOT 7 13.07.2011 3.0~a19 "Debian Live Projekt" +.TH LIVE\-BOOT 7 04.12.2011 3.0~a24\-1 "Debian Live Projekt" .SH NAME \fBlive\-boot\fP \- System Boot Skripte @@ -27,6 +27,9 @@ aufs, for Debian like systems to boot from. .SH KONFIGURATION \fBlive\-boot\fP kann durch Boot Parameter oder durch Konfigurationsdateien konfiguriert werden. +.PP +To configure the live\-boot parameters used by default in a live image, see +the \-\-bootappend\-live option in the \fIlb_config\fP(1) manual page. .SS "Kernel Parameter" \fBlive\-boot\fP ist nur dann aktiv, wenn 'boot=live' als Kernel Parameter @@ -169,25 +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 diff --git a/manpages/de/live-snapshot.de.1 b/manpages/de/live-snapshot.de.1 index 2752275..b934552 100644 --- a/manpages/de/live-snapshot.de.1 +++ b/manpages/de/live-snapshot.de.1 @@ -3,7 +3,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIVE\-BOOT 1 13.07.2011 3.0~a19 "Debian Live Projekt" +.TH LIVE\-BOOT 1 04.12.2011 3.0~a24\-1 "Debian Live Projekt" .SH NAME \fBlive\-snapshot\fP \- simple script to ease persistence usage diff --git a/manpages/en/live-boot.7 b/manpages/en/live-boot.7 index 4fd5b09..ad5261e 100644 --- a/manpages/en/live-boot.7 +++ b/manpages/en/live-boot.7 @@ -1,4 +1,4 @@ -.TH LIVE\-BOOT 7 2011\-07\-13 3.0~a19 "Debian Live Project" +.TH LIVE\-BOOT 7 2011\-12\-04 3.0~a24-1 "Debian Live Project" .SH NAME \fBlive\-boot\fR \- System Boot Scripts @@ -14,6 +14,8 @@ At boot time it will look for a (read\-only) media containing a "/live" director .SH CONFIGURATION \fBlive\-boot\fR can be configured through a boot parameter or a configuration file. +.PP +To configure the live\-boot parameters used by default in a live image, see the \-\-bootappend\-live option in the \fIlb_config\fR(1) manual page. .SS Kernel Parameters \fBlive\-boot\fR is only activated if 'boot=live' was used as a kernel parameter. @@ -104,14 +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 diff --git a/manpages/en/live-snapshot.1 b/manpages/en/live-snapshot.1 index 953c383..02c0545 100644 --- a/manpages/en/live-snapshot.1 +++ b/manpages/en/live-snapshot.1 @@ -1,4 +1,4 @@ -.TH LIVE\-BOOT 1 2011\-07\-13 3.0~a19 "Debian Live Project" +.TH LIVE\-BOOT 1 2011\-12\-04 3.0~a24-1 "Debian Live Project" .SH NAME \fBlive\-snapshot\fR \- simple script to ease persistence usage diff --git a/manpages/po/de/live-boot.7.po b/manpages/po/de/live-boot.7.po index 2d6e827..c424b22 100644 --- a/manpages/po/de/live-boot.7.po +++ b/manpages/po/de/live-boot.7.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: live-boot 3.0~a19\n" -"POT-Creation-Date: 2011-07-13 10:28+0300\n" +"Project-Id-Version: live-boot 3.0~a22-1\n" +"POT-Creation-Date: 2011-12-04 09:58+0100\n" "PO-Revision-Date: 2010-05-24 12:34+0300\n" "Last-Translator: Daniel Baumann \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-07-13" -msgstr "13.07.2011" +msgid "2011-12-04" +msgstr "04.12.2011" #. type: TH #: en/live-boot.7:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a19" -msgstr "3.0~a19" +msgid "3.0~a24-1" +msgstr "3.0~a24-1" #. type: TH #: en/live-boot.7:1 en/live-snapshot.1:1 @@ -99,14 +99,21 @@ msgstr "" "B kann durch Boot Parameter oder durch Konfigurationsdateien " "konfiguriert werden." +#. type: Plain text +#: en/live-boot.7:19 +msgid "" +"To configure the live-boot parameters used by default in a live image, see " +"the --bootappend-live option in the I(1) manual page." +msgstr "" + #. type: SS -#: en/live-boot.7:18 +#: en/live-boot.7:20 #, no-wrap msgid "Kernel Parameters" msgstr "Kernel Parameter" #. type: Plain text -#: en/live-boot.7:20 +#: en/live-boot.7:22 msgid "" "B is only activated if 'boot=live' was used as a kernel parameter." msgstr "" @@ -114,20 +121,20 @@ msgstr "" "benutzt wird." #. type: Plain text -#: en/live-boot.7:22 +#: en/live-boot.7:24 msgid "" "In addition, there are some more boot parameters to influence the behaviour, " "see below." msgstr "" #. type: SS -#: en/live-boot.7:23 +#: en/live-boot.7:25 #, no-wrap msgid "Configuration Files" msgstr "Konfigurationsdateien" #. type: Plain text -#: en/live-boot.7:25 +#: en/live-boot.7:27 msgid "" "B can be configured (but not activated) through configuration " "files. Those files can be placed either in the root filesystem itself (/etc/" @@ -136,25 +143,25 @@ msgid "" msgstr "" #. type: SH -#: en/live-boot.7:26 en/live-snapshot.1:20 +#: en/live-boot.7:28 en/live-snapshot.1:20 #, no-wrap msgid "OPTIONS" msgstr "OPTIONEN" #. FIXME #. type: Plain text -#: en/live-boot.7:29 +#: en/live-boot.7:31 msgid "B currently features the following parameters." msgstr "" #. type: IP -#: en/live-boot.7:29 +#: en/live-boot.7:31 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:31 +#: en/live-boot.7:33 msgid "" "Set the accessibility level for physically or visually impared users. ACCESS " "must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, " @@ -163,53 +170,53 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:31 +#: en/live-boot.7:33 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:33 +#: en/live-boot.7:35 msgid "" "Set the default console to be used with the \"live-getty\" option. Example: " "\"console=ttyS0,115200\"" msgstr "" #. type: IP -#: en/live-boot.7:33 +#: en/live-boot.7:35 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:35 +#: en/live-boot.7:37 msgid "Makes initramfs boot process more verbose." msgstr "" #. type: Plain text -#: en/live-boot.7:37 +#: en/live-boot.7:39 msgid "Use: debug=1" msgstr "" #. type: Plain text -#: en/live-boot.7:39 +#: en/live-boot.7:41 msgid "Without setting debug to a value the messages may not be shown." msgstr "" #. type: IP -#: en/live-boot.7:39 +#: en/live-boot.7:41 #, no-wrap msgid "B=I" msgstr "B=I" #. type: IP -#: en/live-boot.7:40 +#: en/live-boot.7:42 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:48 +#: en/live-boot.7:50 msgid "" "Another form of netboot by downloading a squashfs image from a given url. " "The fetch method copies the image to ram and the httpfs method uses fuse and " @@ -221,24 +228,24 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:50 +#: en/live-boot.7:52 msgid "" "Due to current limitations in busyboxs wget and DNS resolution, an URL can " "not contain a hostname but an IP only." msgstr "" #. type: Plain text -#: en/live-boot.7:52 +#: en/live-boot.7:54 msgid "Not working: http://example.com/path/to/your_filesystem.squashfs" msgstr "" #. type: Plain text -#: en/live-boot.7:54 +#: en/live-boot.7:56 msgid "Working: http://1.2.3.4/path/to/your_filesystem.squashfs" msgstr "" #. type: Plain text -#: en/live-boot.7:56 +#: en/live-boot.7:58 msgid "" "Also note that therefore it's currently not possible to fetch an image from " "a namebased virtualhost of an httpd if it is sharing the ip with the main " @@ -246,18 +253,18 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:58 +#: en/live-boot.7:60 msgid "You may also use the live iso image in place of the squashfs image." msgstr "" #. type: IP -#: en/live-boot.7:58 +#: en/live-boot.7:60 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:60 +#: en/live-boot.7:62 msgid "" "Boot from an iSCSI target that has an iso or disk live image as one of its " "LUNs. The specified target is searched for a LUN which looks like a live " @@ -266,12 +273,12 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:62 +#: en/live-boot.7:64 msgid "# The target-name you specify in the iscsi= parameter" msgstr "" #. type: Plain text -#: en/live-boot.7:67 +#: en/live-boot.7:69 #, no-wrap msgid "" "Target Etarget-nameE\n" @@ -281,26 +288,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:67 +#: en/live-boot.7:69 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:69 +#: en/live-boot.7:71 msgid "" "Allows to use a filesystem from within an iso image that's available on live-" "media." msgstr "" #. type: IP -#: en/live-boot.7:69 +#: en/live-boot.7:71 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:71 +#: en/live-boot.7:73 msgid "" "Do not check that any UUID embedded in the initramfs matches the discovered " "medium. live-boot may be told to generate a UUID by setting " @@ -308,13 +315,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:71 +#: en/live-boot.7:73 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:73 +#: en/live-boot.7:75 msgid "" "If specified, an MD5 sum is calculated on the live media during boot and " "compared to the value found in md5sum.txt found in the root directory of the " @@ -322,13 +329,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:73 +#: en/live-boot.7:75 #, no-wrap msgid "B=[I]:[I]:[I]:[I]:[I]:[I]:[I] [,[I]:[I]:[I]:[I]:[I]:[I]:[I]]" msgstr "" #. type: Plain text -#: en/live-boot.7:75 +#: en/live-boot.7:77 msgid "" "Let you specify the name(s) and the options of the interface(s) that should " "be configured at boot time. Do not specify this if you want to use dhcp " @@ -338,13 +345,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:75 +#: en/live-boot.7:77 #, no-wrap msgid "B=[I]" msgstr "B=[I]" #. type: Plain text -#: en/live-boot.7:77 +#: en/live-boot.7:79 msgid "" "If this variable is set, dhcp and static configuration are just skipped and " "the system will use the (must be) media-preconfigured /etc/network/" @@ -352,13 +359,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:77 +#: en/live-boot.7:79 #, no-wrap msgid "{B|B}=I" msgstr "{B|B}=I" #. type: Plain text -#: en/live-boot.7:79 +#: en/live-boot.7:81 msgid "" "If you specify one of this two equivalent forms, live-boot will first try to " "find this device for the \"/live\" directory where the read-only root " @@ -367,7 +374,7 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:81 +#: en/live-boot.7:83 msgid "" "Instead of specifing an actual device name, the keyword 'removable' can be " "used to limit the search of acceptable live media to removable type only. " @@ -376,13 +383,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:81 +#: en/live-boot.7:83 #, no-wrap msgid "{B|B}=I" msgstr "{B|B}=I" #. type: Plain text -#: en/live-boot.7:83 +#: en/live-boot.7:85 msgid "" "live-boot will mount the encrypted rootfs TYPE, asking the passphrase, " "useful to build paranoid live systems :-). TYPE supported so far are \"aes\" " @@ -390,13 +397,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:83 +#: en/live-boot.7:85 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:85 +#: en/live-boot.7:87 msgid "" "This way you could tell live-boot that your image starts at offset BYTES in " "the above specified or autodiscovered device, this could be useful to hide " @@ -405,13 +412,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:85 +#: en/live-boot.7:87 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:87 +#: en/live-boot.7:89 msgid "" "Sets the path to the live filesystem on the medium. By default, it is set to " "'/live' and you should not change that unless you have customized your media " @@ -419,26 +426,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:87 +#: en/live-boot.7:89 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:89 +#: en/live-boot.7:91 msgid "" "Set the timeout in seconds for the device specified by \"live-media=\" to " "become ready before giving up." msgstr "" #. type: IP -#: en/live-boot.7:89 +#: en/live-boot.7:91 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:91 +#: en/live-boot.7:93 msgid "" "Instead of using the default optional file \"filesystem.module\" (see below) " "another file could be specified without the extension \".module\"; it should " @@ -446,13 +453,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:91 +#: en/live-boot.7:93 #, no-wrap msgid "B[=nfs|cifs]" msgstr "B[=nfs|cifs]" #. type: Plain text -#: en/live-boot.7:93 +#: en/live-boot.7:95 msgid "" "This tells live-boot to perform a network mount. The parameter \"nfsroot=" "\" (with optional \"nfsopts=\"), should specify where is the location of the " @@ -460,24 +467,24 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:93 +#: en/live-boot.7:95 #, no-wrap msgid "B=" msgstr "B=" #. type: Plain text -#: en/live-boot.7:95 +#: en/live-boot.7:97 msgid "This lets you specify custom nfs options." msgstr "" #. type: IP -#: en/live-boot.7:95 +#: en/live-boot.7:97 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:97 +#: en/live-boot.7:99 msgid "" "This parameter disables the default disabling of filesystem checks in /etc/" "fstab. If you have static filesystems on your harddisk and you want them to " @@ -485,50 +492,50 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:97 +#: en/live-boot.7:99 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:99 +#: en/live-boot.7:101 msgid "" "disables the \"persistent\" feature, useful if the bootloader (like " "syslinux) has been installed with persistent enabled." msgstr "" #. type: IP -#: en/live-boot.7:99 +#: en/live-boot.7:101 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:101 +#: en/live-boot.7:103 msgid "Do not prompt to eject the CD or remove the USB flash drive on reboot." msgstr "" #. type: IP -#: en/live-boot.7:101 +#: en/live-boot.7:103 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:103 +#: en/live-boot.7:105 msgid "" "This tells live-boot not to prompt to eject the CD (when noprompt=cd) or " "remove the USB flash drive (when noprompt=usb) on reboot." msgstr "" #. type: IP -#: en/live-boot.7:103 +#: en/live-boot.7:105 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:105 +#: en/live-boot.7:107 msgid "" "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 " @@ -537,57 +544,91 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:105 +#: en/live-boot.7:107 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:107 +#: en/live-boot.7:109 msgid "This parameter enables usage of local swap partitions." msgstr "" #. type: IP -#: en/live-boot.7:107 +#: en/live-boot.7:109 #, no-wrap -msgid "B[={nofiles|cryptsetup}]" -msgstr "" +msgid "B" +msgstr "B" #. type: Plain text -#: en/live-boot.7:109 +#: 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: Plain text +#. type: IP #: en/live-boot.7:111 -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." +#, no-wrap +msgid "B=I,I ... I" msgstr "" #. type: Plain text #: en/live-boot.7:113 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." +"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={I|I}" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:115 +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." +msgstr "" + +#. type: IP +#: en/live-boot.7:115 +#, no-wrap +msgid "B=I,I ... I" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:117 +msgid "" +"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 +#: en/live-boot.7:117 +#, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:115 +#: en/live-boot.7:119 msgid "" "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 " @@ -595,13 +636,43 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:115 +#: en/live-boot.7:119 +#, no-wrap +msgid "B" +msgstr "B" + +#. 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=I,I ... I" +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=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:117 +#: 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 " @@ -611,26 +682,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:117 +#: en/live-boot.7:125 #, no-wrap msgid "{B|B}=I" msgstr "{B|B}=I" #. type: Plain text -#: en/live-boot.7:119 +#: 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:119 +#: en/live-boot.7:127 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:121 +#: 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 " @@ -638,26 +709,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:121 +#: en/live-boot.7:129 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:123 +#: 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:123 +#: en/live-boot.7:131 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:125 +#: 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 " @@ -666,26 +737,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:125 +#: en/live-boot.7:133 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:127 +#: 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:127 +#: en/live-boot.7:135 #, no-wrap msgid "B=I" msgstr "B=I" #. type: Plain text -#: en/live-boot.7:129 +#: 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 " @@ -695,13 +766,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:129 +#: en/live-boot.7:137 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:131 +#: 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 " @@ -709,14 +780,14 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:131 +#: en/live-boot.7:139 #, no-wrap msgid "B=aufs|unionfs" msgstr "B=aufs|unionfs" #. FIXME #. type: Plain text -#: en/live-boot.7:134 +#: en/live-boot.7:142 msgid "" "By default, live-boot uses aufs. With this parameter, you can switch to " "unionfs." @@ -724,32 +795,32 @@ msgstr "" #. FIXME #. type: SH -#: en/live-boot.7:136 +#: en/live-boot.7:144 #, no-wrap msgid "FILES (old)" msgstr "" #. type: IP -#: en/live-boot.7:137 en/live-snapshot.1:43 +#: en/live-boot.7:145 en/live-snapshot.1:43 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:139 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:139 en/live-snapshot.1:45 +#: en/live-boot.7:147 en/live-snapshot.1:45 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:141 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 \"/" @@ -762,13 +833,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:141 en/live-snapshot.1:47 +#: en/live-boot.7:149 en/live-snapshot.1:47 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:143 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. " @@ -777,7 +848,7 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:146 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 " @@ -786,69 +857,69 @@ msgid "" msgstr "" #. type: SH -#: en/live-boot.7:147 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:148 +#: en/live-boot.7:156 #, no-wrap msgid "B" msgstr "B" #. type: IP -#: en/live-boot.7:149 +#: en/live-boot.7:157 #, no-wrap msgid "B" msgstr "B" #. type: IP -#: en/live-boot.7:150 +#: en/live-boot.7:158 #, no-wrap msgid "B" msgstr "B" #. type: IP -#: en/live-boot.7:151 +#: en/live-boot.7:159 #, no-wrap msgid "B" msgstr "B" #. type: SH -#: en/live-boot.7:153 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:155 +#: en/live-boot.7:163 msgid "I(1)" msgstr "I(1)" #. type: Plain text -#: en/live-boot.7:157 en/live-snapshot.1:58 +#: en/live-boot.7:165 en/live-snapshot.1:58 msgid "I(7)" msgstr "I(7)" #. type: Plain text -#: en/live-boot.7:159 en/live-snapshot.1:60 +#: en/live-boot.7:167 en/live-snapshot.1:60 msgid "I(7)" msgstr "I(7)" #. type: Plain text -#: en/live-boot.7:161 en/live-snapshot.1:62 +#: en/live-boot.7:169 en/live-snapshot.1:62 msgid "I(7)" msgstr "I(7)" #. type: SH -#: en/live-boot.7:162 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:164 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 EIE and in the manual at " @@ -859,13 +930,13 @@ msgstr "" "unter EIE gefunden werden." #. type: SH -#: en/live-boot.7:165 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:167 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 EIE or by " @@ -879,13 +950,13 @@ msgstr "" "werden." #. type: SH -#: en/live-boot.7:168 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:169 en/live-snapshot.1:70 +#: en/live-boot.7:177 en/live-snapshot.1:70 msgid "" "live-boot was written by Daniel Baumann EIE for " "the Debian project." diff --git a/manpages/po/de/live-snapshot.1.po b/manpages/po/de/live-snapshot.1.po index 909a46a..2beba0a 100644 --- a/manpages/po/de/live-snapshot.1.po +++ b/manpages/po/de/live-snapshot.1.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: live-boot 3.0~a19\n" -"POT-Creation-Date: 2011-07-13 10:28+0300\n" +"Project-Id-Version: live-boot 3.0~a22-1\n" +"POT-Creation-Date: 2011-12-04 09:58+0100\n" "PO-Revision-Date: 2010-05-24 12:34+0300\n" "Last-Translator: Daniel Baumann \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-07-13" -msgstr "13.07.2011" +msgid "2011-12-04" +msgstr "04.12.2011" #. type: TH #: en/live-boot.7:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a19" -msgstr "3.0~a19" +msgid "3.0~a24-1" +msgstr "3.0~a24-1" #. type: TH #: en/live-boot.7:1 en/live-snapshot.1:1 @@ -52,32 +52,32 @@ msgid "DESCRIPTION" msgstr "BESCHREIBUNG" #. type: SH -#: en/live-boot.7:26 en/live-snapshot.1:20 +#: en/live-boot.7:28 en/live-snapshot.1:20 #, no-wrap msgid "OPTIONS" msgstr "OPTIONEN" #. type: IP -#: en/live-boot.7:137 en/live-snapshot.1:43 +#: en/live-boot.7:145 en/live-snapshot.1:43 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:139 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:139 en/live-snapshot.1:45 +#: en/live-boot.7:147 en/live-snapshot.1:45 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:141 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:141 en/live-snapshot.1:47 +#: en/live-boot.7:149 en/live-snapshot.1:47 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: en/live-boot.7:143 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:146 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:147 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:153 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:157 en/live-snapshot.1:58 +#: en/live-boot.7:165 en/live-snapshot.1:58 msgid "I(7)" msgstr "I(7)" #. type: Plain text -#: en/live-boot.7:159 en/live-snapshot.1:60 +#: en/live-boot.7:167 en/live-snapshot.1:60 msgid "I(7)" msgstr "I(7)" #. type: Plain text -#: en/live-boot.7:161 en/live-snapshot.1:62 +#: en/live-boot.7:169 en/live-snapshot.1:62 msgid "I(7)" msgstr "I(7)" #. type: SH -#: en/live-boot.7:162 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:164 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 EIE and in the manual at " @@ -158,13 +158,13 @@ msgstr "" "unter EIE gefunden werden." #. type: SH -#: en/live-boot.7:165 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:167 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 EIE or by " @@ -178,13 +178,13 @@ msgstr "" "werden." #. type: SH -#: en/live-boot.7:168 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:169 en/live-snapshot.1:70 +#: en/live-boot.7:177 en/live-snapshot.1:70 msgid "" "live-boot was written by Daniel Baumann EIE for " "the Debian project." diff --git a/manpages/pot/live-boot.7.pot b/manpages/pot/live-boot.7.pot index f5177bb..6a56e23 100644 --- a/manpages/pot/live-boot.7.pot +++ b/manpages/pot/live-boot.7.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: live-boot VERSION\n" -"POT-Creation-Date: 2011-07-13 10:28+0300\n" +"POT-Creation-Date: 2011-12-04 09:58+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,13 +25,13 @@ msgstr "" #. type: TH #: en/live-boot.7:1 en/live-snapshot.1:1 #, no-wrap -msgid "2011-07-13" +msgid "2011-12-04" msgstr "" #. type: TH #: en/live-boot.7:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a19" +msgid "3.0~a24-1" msgstr "" #. type: TH @@ -96,33 +96,40 @@ msgid "" "file." msgstr "" +#. type: Plain text +#: en/live-boot.7:19 +msgid "" +"To configure the live-boot parameters used by default in a live image, see " +"the --bootappend-live option in the I(1) manual page." +msgstr "" + #. type: SS -#: en/live-boot.7:18 +#: en/live-boot.7:20 #, no-wrap msgid "Kernel Parameters" msgstr "" #. type: Plain text -#: en/live-boot.7:20 +#: en/live-boot.7:22 msgid "" "B is only activated if 'boot=live' was used as a kernel parameter." msgstr "" #. type: Plain text -#: en/live-boot.7:22 +#: en/live-boot.7:24 msgid "" "In addition, there are some more boot parameters to influence the behaviour, " "see below." msgstr "" #. type: SS -#: en/live-boot.7:23 +#: en/live-boot.7:25 #, no-wrap msgid "Configuration Files" msgstr "" #. type: Plain text -#: en/live-boot.7:25 +#: en/live-boot.7:27 msgid "" "B can be configured (but not activated) through configuration " "files. Those files can be placed either in the root filesystem itself (/etc/" @@ -131,25 +138,25 @@ msgid "" msgstr "" #. type: SH -#: en/live-boot.7:26 en/live-snapshot.1:20 +#: en/live-boot.7:28 en/live-snapshot.1:20 #, no-wrap msgid "OPTIONS" msgstr "" #. FIXME #. type: Plain text -#: en/live-boot.7:29 +#: en/live-boot.7:31 msgid "B currently features the following parameters." msgstr "" #. type: IP -#: en/live-boot.7:29 +#: en/live-boot.7:31 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:31 +#: en/live-boot.7:33 msgid "" "Set the accessibility level for physically or visually impared users. ACCESS " "must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, " @@ -158,53 +165,53 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:31 +#: en/live-boot.7:33 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:33 +#: en/live-boot.7:35 msgid "" "Set the default console to be used with the \"live-getty\" option. Example: " "\"console=ttyS0,115200\"" msgstr "" #. type: IP -#: en/live-boot.7:33 +#: en/live-boot.7:35 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:35 +#: en/live-boot.7:37 msgid "Makes initramfs boot process more verbose." msgstr "" #. type: Plain text -#: en/live-boot.7:37 +#: en/live-boot.7:39 msgid "Use: debug=1" msgstr "" #. type: Plain text -#: en/live-boot.7:39 +#: en/live-boot.7:41 msgid "Without setting debug to a value the messages may not be shown." msgstr "" #. type: IP -#: en/live-boot.7:39 +#: en/live-boot.7:41 #, no-wrap msgid "B=I" msgstr "" #. type: IP -#: en/live-boot.7:40 +#: en/live-boot.7:42 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:48 +#: en/live-boot.7:50 msgid "" "Another form of netboot by downloading a squashfs image from a given url. " "The fetch method copies the image to ram and the httpfs method uses fuse and " @@ -216,24 +223,24 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:50 +#: en/live-boot.7:52 msgid "" "Due to current limitations in busyboxs wget and DNS resolution, an URL can " "not contain a hostname but an IP only." msgstr "" #. type: Plain text -#: en/live-boot.7:52 +#: en/live-boot.7:54 msgid "Not working: http://example.com/path/to/your_filesystem.squashfs" msgstr "" #. type: Plain text -#: en/live-boot.7:54 +#: en/live-boot.7:56 msgid "Working: http://1.2.3.4/path/to/your_filesystem.squashfs" msgstr "" #. type: Plain text -#: en/live-boot.7:56 +#: en/live-boot.7:58 msgid "" "Also note that therefore it's currently not possible to fetch an image from " "a namebased virtualhost of an httpd if it is sharing the ip with the main " @@ -241,18 +248,18 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:58 +#: en/live-boot.7:60 msgid "You may also use the live iso image in place of the squashfs image." msgstr "" #. type: IP -#: en/live-boot.7:58 +#: en/live-boot.7:60 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:60 +#: en/live-boot.7:62 msgid "" "Boot from an iSCSI target that has an iso or disk live image as one of its " "LUNs. The specified target is searched for a LUN which looks like a live " @@ -261,12 +268,12 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:62 +#: en/live-boot.7:64 msgid "# The target-name you specify in the iscsi= parameter" msgstr "" #. type: Plain text -#: en/live-boot.7:67 +#: en/live-boot.7:69 #, no-wrap msgid "" "Target Etarget-nameE\n" @@ -276,26 +283,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:67 +#: en/live-boot.7:69 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:69 +#: en/live-boot.7:71 msgid "" "Allows to use a filesystem from within an iso image that's available on live-" "media." msgstr "" #. type: IP -#: en/live-boot.7:69 +#: en/live-boot.7:71 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:71 +#: en/live-boot.7:73 msgid "" "Do not check that any UUID embedded in the initramfs matches the discovered " "medium. live-boot may be told to generate a UUID by setting " @@ -303,13 +310,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:71 +#: en/live-boot.7:73 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:73 +#: en/live-boot.7:75 msgid "" "If specified, an MD5 sum is calculated on the live media during boot and " "compared to the value found in md5sum.txt found in the root directory of the " @@ -317,13 +324,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:73 +#: en/live-boot.7:75 #, no-wrap msgid "B=[I]:[I]:[I]:[I]:[I]:[I]:[I] [,[I]:[I]:[I]:[I]:[I]:[I]:[I]]" msgstr "" #. type: Plain text -#: en/live-boot.7:75 +#: en/live-boot.7:77 msgid "" "Let you specify the name(s) and the options of the interface(s) that should " "be configured at boot time. Do not specify this if you want to use dhcp " @@ -333,13 +340,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:75 +#: en/live-boot.7:77 #, no-wrap msgid "B=[I]" msgstr "" #. type: Plain text -#: en/live-boot.7:77 +#: en/live-boot.7:79 msgid "" "If this variable is set, dhcp and static configuration are just skipped and " "the system will use the (must be) media-preconfigured /etc/network/" @@ -347,13 +354,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:77 +#: en/live-boot.7:79 #, no-wrap msgid "{B|B}=I" msgstr "" #. type: Plain text -#: en/live-boot.7:79 +#: en/live-boot.7:81 msgid "" "If you specify one of this two equivalent forms, live-boot will first try to " "find this device for the \"/live\" directory where the read-only root " @@ -362,7 +369,7 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:81 +#: en/live-boot.7:83 msgid "" "Instead of specifing an actual device name, the keyword 'removable' can be " "used to limit the search of acceptable live media to removable type only. " @@ -371,13 +378,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:81 +#: en/live-boot.7:83 #, no-wrap msgid "{B|B}=I" msgstr "" #. type: Plain text -#: en/live-boot.7:83 +#: en/live-boot.7:85 msgid "" "live-boot will mount the encrypted rootfs TYPE, asking the passphrase, " "useful to build paranoid live systems :-). TYPE supported so far are \"aes\" " @@ -385,13 +392,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:83 +#: en/live-boot.7:85 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:85 +#: en/live-boot.7:87 msgid "" "This way you could tell live-boot that your image starts at offset BYTES in " "the above specified or autodiscovered device, this could be useful to hide " @@ -400,13 +407,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:85 +#: en/live-boot.7:87 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:87 +#: en/live-boot.7:89 msgid "" "Sets the path to the live filesystem on the medium. By default, it is set to " "'/live' and you should not change that unless you have customized your media " @@ -414,26 +421,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:87 +#: en/live-boot.7:89 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:89 +#: en/live-boot.7:91 msgid "" "Set the timeout in seconds for the device specified by \"live-media=\" to " "become ready before giving up." msgstr "" #. type: IP -#: en/live-boot.7:89 +#: en/live-boot.7:91 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:91 +#: en/live-boot.7:93 msgid "" "Instead of using the default optional file \"filesystem.module\" (see below) " "another file could be specified without the extension \".module\"; it should " @@ -441,13 +448,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:91 +#: en/live-boot.7:93 #, no-wrap msgid "B[=nfs|cifs]" msgstr "" #. type: Plain text -#: en/live-boot.7:93 +#: en/live-boot.7:95 msgid "" "This tells live-boot to perform a network mount. The parameter \"nfsroot=" "\" (with optional \"nfsopts=\"), should specify where is the location of the " @@ -455,24 +462,24 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:93 +#: en/live-boot.7:95 #, no-wrap msgid "B=" msgstr "" #. type: Plain text -#: en/live-boot.7:95 +#: en/live-boot.7:97 msgid "This lets you specify custom nfs options." msgstr "" #. type: IP -#: en/live-boot.7:95 +#: en/live-boot.7:97 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:97 +#: en/live-boot.7:99 msgid "" "This parameter disables the default disabling of filesystem checks in /etc/" "fstab. If you have static filesystems on your harddisk and you want them to " @@ -480,50 +487,50 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:97 +#: en/live-boot.7:99 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:99 +#: en/live-boot.7:101 msgid "" "disables the \"persistent\" feature, useful if the bootloader (like " "syslinux) has been installed with persistent enabled." msgstr "" #. type: IP -#: en/live-boot.7:99 +#: en/live-boot.7:101 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:101 +#: en/live-boot.7:103 msgid "Do not prompt to eject the CD or remove the USB flash drive on reboot." msgstr "" #. type: IP -#: en/live-boot.7:101 +#: en/live-boot.7:103 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:103 +#: en/live-boot.7:105 msgid "" "This tells live-boot not to prompt to eject the CD (when noprompt=cd) or " "remove the USB flash drive (when noprompt=usb) on reboot." msgstr "" #. type: IP -#: en/live-boot.7:103 +#: en/live-boot.7:105 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:105 +#: en/live-boot.7:107 msgid "" "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 " @@ -532,71 +539,135 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:105 +#: en/live-boot.7:107 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:107 +#: en/live-boot.7:109 msgid "This parameter enables usage of local swap partitions." msgstr "" #. type: IP -#: en/live-boot.7:107 +#: en/live-boot.7:109 #, no-wrap -msgid "B[={nofiles|cryptsetup}]" +msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:109 +#: 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: Plain text +#. type: IP #: en/live-boot.7:111 -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." +#, no-wrap +msgid "B=I,I ... I" msgstr "" #. type: Plain text #: en/live-boot.7:113 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." +"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=I" +msgid "B={I|I}" msgstr "" #. type: Plain text #: en/live-boot.7:115 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." +msgstr "" + +#. type: IP +#: en/live-boot.7:115 +#, no-wrap +msgid "B=I,I ... I" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:117 +msgid "" +"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 +#: en/live-boot.7:117 +#, no-wrap +msgid "B=I" +msgstr "" + +#. type: Plain text +#: en/live-boot.7:119 +msgid "" "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." msgstr "" #. type: IP -#: en/live-boot.7:115 +#: en/live-boot.7:119 +#, no-wrap +msgid "B" +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=I,I ... I" +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=I" msgstr "" #. type: Plain text -#: en/live-boot.7:117 +#: 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 " @@ -606,26 +677,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:117 +#: en/live-boot.7:125 #, no-wrap msgid "{B|B}=I" msgstr "" #. type: Plain text -#: en/live-boot.7:119 +#: 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:119 +#: en/live-boot.7:127 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:121 +#: 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 " @@ -633,26 +704,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:121 +#: en/live-boot.7:129 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:123 +#: 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:123 +#: en/live-boot.7:131 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:125 +#: 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 " @@ -661,26 +732,26 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:125 +#: en/live-boot.7:133 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:127 +#: 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:127 +#: en/live-boot.7:135 #, no-wrap msgid "B=I" msgstr "" #. type: Plain text -#: en/live-boot.7:129 +#: 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 " @@ -690,13 +761,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:129 +#: en/live-boot.7:137 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:131 +#: 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 " @@ -704,14 +775,14 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:131 +#: en/live-boot.7:139 #, no-wrap msgid "B=aufs|unionfs" msgstr "" #. FIXME #. type: Plain text -#: en/live-boot.7:134 +#: en/live-boot.7:142 msgid "" "By default, live-boot uses aufs. With this parameter, you can switch to " "unionfs." @@ -719,32 +790,32 @@ msgstr "" #. FIXME #. type: SH -#: en/live-boot.7:136 +#: en/live-boot.7:144 #, no-wrap msgid "FILES (old)" msgstr "" #. type: IP -#: en/live-boot.7:137 en/live-snapshot.1:43 +#: en/live-boot.7:145 en/live-snapshot.1:43 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:139 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:139 en/live-snapshot.1:45 +#: en/live-boot.7:147 en/live-snapshot.1:45 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:141 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 \"/" @@ -757,13 +828,13 @@ msgid "" msgstr "" #. type: IP -#: en/live-boot.7:141 en/live-snapshot.1:47 +#: en/live-boot.7:149 en/live-snapshot.1:47 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:143 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. " @@ -772,7 +843,7 @@ msgid "" msgstr "" #. type: Plain text -#: en/live-boot.7:146 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 " @@ -781,69 +852,69 @@ msgid "" msgstr "" #. type: SH -#: en/live-boot.7:147 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:148 +#: en/live-boot.7:156 #, no-wrap msgid "B" msgstr "" #. type: IP -#: en/live-boot.7:149 +#: en/live-boot.7:157 #, no-wrap msgid "B" msgstr "" #. type: IP -#: en/live-boot.7:150 +#: en/live-boot.7:158 #, no-wrap msgid "B" msgstr "" #. type: IP -#: en/live-boot.7:151 +#: en/live-boot.7:159 #, no-wrap msgid "B" msgstr "" #. type: SH -#: en/live-boot.7:153 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:155 +#: en/live-boot.7:163 msgid "I(1)" msgstr "" #. type: Plain text -#: en/live-boot.7:157 en/live-snapshot.1:58 +#: en/live-boot.7:165 en/live-snapshot.1:58 msgid "I(7)" msgstr "" #. type: Plain text -#: en/live-boot.7:159 en/live-snapshot.1:60 +#: en/live-boot.7:167 en/live-snapshot.1:60 msgid "I(7)" msgstr "" #. type: Plain text -#: en/live-boot.7:161 en/live-snapshot.1:62 +#: en/live-boot.7:169 en/live-snapshot.1:62 msgid "I(7)" msgstr "" #. type: SH -#: en/live-boot.7:162 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:164 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 EIE and in the manual at " @@ -851,13 +922,13 @@ msgid "" msgstr "" #. type: SH -#: en/live-boot.7:165 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:167 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 EIE or by " @@ -866,13 +937,13 @@ msgid "" msgstr "" #. type: SH -#: en/live-boot.7:168 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:169 en/live-snapshot.1:70 +#: en/live-boot.7:177 en/live-snapshot.1:70 msgid "" "live-boot was written by Daniel Baumann EIE for " "the Debian project." diff --git a/manpages/pot/live-snapshot.1.pot b/manpages/pot/live-snapshot.1.pot index 96ea0b6..cf06a4c 100644 --- a/manpages/pot/live-snapshot.1.pot +++ b/manpages/pot/live-snapshot.1.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: live-boot VERSION\n" -"POT-Creation-Date: 2011-07-13 10:28+0300\n" +"POT-Creation-Date: 2011-12-04 09:58+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,13 +25,13 @@ msgstr "" #. type: TH #: en/live-boot.7:1 en/live-snapshot.1:1 #, no-wrap -msgid "2011-07-13" +msgid "2011-12-04" msgstr "" #. type: TH #: en/live-boot.7:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a19" +msgid "3.0~a24-1" msgstr "" #. type: TH @@ -53,32 +53,32 @@ msgid "DESCRIPTION" msgstr "" #. type: SH -#: en/live-boot.7:26 en/live-snapshot.1:20 +#: en/live-boot.7:28 en/live-snapshot.1:20 #, no-wrap msgid "OPTIONS" msgstr "" #. type: IP -#: en/live-boot.7:137 en/live-snapshot.1:43 +#: en/live-boot.7:145 en/live-snapshot.1:43 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:139 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:139 en/live-snapshot.1:45 +#: en/live-boot.7:147 en/live-snapshot.1:45 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:141 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:141 en/live-snapshot.1:47 +#: en/live-boot.7:149 en/live-snapshot.1:47 #, no-wrap msgid "B" msgstr "" #. type: Plain text -#: en/live-boot.7:143 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:146 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:147 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:153 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:157 en/live-snapshot.1:58 +#: en/live-boot.7:165 en/live-snapshot.1:58 msgid "I(7)" msgstr "" #. type: Plain text -#: en/live-boot.7:159 en/live-snapshot.1:60 +#: en/live-boot.7:167 en/live-snapshot.1:60 msgid "I(7)" msgstr "" #. type: Plain text -#: en/live-boot.7:161 en/live-snapshot.1:62 +#: en/live-boot.7:169 en/live-snapshot.1:62 msgid "I(7)" msgstr "" #. type: SH -#: en/live-boot.7:162 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:164 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 EIE and in the manual at " @@ -156,13 +156,13 @@ msgid "" msgstr "" #. type: SH -#: en/live-boot.7:165 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:167 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 EIE or by " @@ -171,13 +171,13 @@ msgid "" msgstr "" #. type: SH -#: en/live-boot.7:168 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:169 en/live-snapshot.1:70 +#: en/live-boot.7:177 en/live-snapshot.1:70 msgid "" "live-boot was written by Daniel Baumann EIE for " "the Debian project." diff --git a/scripts/live b/scripts/live index e5d3186..584193e 100755 --- a/scripts/live +++ b/scripts/live @@ -244,19 +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=}" @@ -380,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 "\" + then + if ! modprobe dm-crypt + then + log_warning_msg "Unable to load module dm-crypt" + PERSISTENT_ENCRYPTION=$(echo ${PERSISTENT_ENCRYPTION} | sed -e 's/\= 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]$' @@ -1028,25 +1084,6 @@ do_snap_copy () fi } -find_snap () -{ - # Look for ${snap_label}.* in block devices - snap_label="${1}" - black_listed_devices="${2}" - - 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}") - fi - - if [ -z "${snapdata}" ] - then - snapdata=$(find_cow_device "${snap_label}" "${black_listed_devices}") - fi - echo "${snapdata}" -} - try_snap () { # copy the contents of previously found snapshot to ${snap_mount} @@ -1157,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 } @@ -1198,7 +1238,7 @@ setup_unionfs () if [ "${UNIONTYPE}" = "aufs" ] then - roopt="rr" + roopt="rr+wh" noxino_opt="noxino," elif [ "${UNIONTYPE}" = "unionfs-fuse" ] then @@ -1323,6 +1363,7 @@ setup_unionfs () # Looking for "${root_persistence}" device or file if [ -n "${PERSISTENT}" ] && [ -z "${NOPERSISTENT}" ] then + if [ -z "${QUICKUSBMODULES}" ] then # Load USB modules @@ -1350,46 +1391,74 @@ setup_unionfs () done fi - # search for label and files (this could be hugely optimized) - cowprobe=$(find_cow_device "${root_persistence}") - if [ -b "${cowprobe}" ] + case "${PERSISTENT_MEDIA}" in + removable) + whitelistdev="$(removable_dev)" + ;; + removable-usb) + whitelistdev="$(removable_usb_dev)" + ;; + *) + whitelistdev="" + ;; + esac + + if echo ${PERSISTENT_METHOD} | grep -qe "\" 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}") - if [ -b "${homecow}" ] + + if echo ${PERSISTENT_METHOD} | grep -qe "\" + 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}") - # 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}") 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 @@ -1402,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 @@ -1410,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" @@ -1418,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 @@ -1487,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 || \ @@ -1510,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" @@ -1590,7 +1691,7 @@ check_dev () loopdevname=$(setup_loop "/isofrom/${ISO_NAME}" "loop" "/sys/block/loop*" "" '') devname="${loopdevname}" else - echo "Warning: unable to mount $ISO_DEVICE." >>/live.log + echo "Warning: unable to mount $ISO_DEVICE." >>/live-boot.log fi fi fi @@ -1612,6 +1713,35 @@ check_dev () umount $mountpoint fi fi + + IFS="," + for device in ${devname} + do + case "$device" in + *mapper*) + # Adding lvm support + if [ -x /scripts/local-top/lvm2 ] + then + ROOT="$device" resume="" /scripts/local-top/lvm2 + fi + ;; + + /dev/md*) + # Adding raid support + if [ -x /scripts/local-top/mdadm ] + then + cp /conf/conf.d/md /conf/conf.d/md.orig + echo "MD_DEVS=$device " >> /conf/conf.d/md + /scripts/local-top/mdadm + mv /conf/conf.d/md.orig /conf/conf.d/md + fi + ;; + esac + done + unset IFS + + [ -n "$device" ] && devname="$device" + [ -e "$devname" ] || continue if [ -n "${LIVE_MEDIA_OFFSET}" ] @@ -1635,7 +1765,7 @@ check_dev () echo ${mountpoint} return 0 else - umount ${mountpoint} + umount ${mountpoint} 2>/dev/null fi fi @@ -1663,38 +1793,29 @@ find_livefs () # first look at the one specified in the command line case "${LIVE_MEDIA}" in removable-usb) - for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + for sysblock in $(removable_usb_dev "sys") do - if [ "$(cat ${sysblock}/removable)" = "1" ] - then - if readlink ${sysblock} | grep -q usb + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" then - for dev in $(subdevices "${sysblock}") - do - if check_dev "${dev}" - then - return 0 - fi - done + return 0 fi - fi + done done return 1 ;; removable) - for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + for sysblock in $(removable_dev "sys") do - if [ "$(cat ${sysblock}/removable)" = "1" ] - then - for dev in $(subdevices "${sysblock}") - do - if check_dev "${dev}" - then - return 0 - fi - done - fi + for dev in $(subdevices "${sysblock}") + do + if check_dev "${dev}" + then + return 0 + fi + done done return 1 ;; @@ -1712,16 +1833,7 @@ find_livefs () # or do the scan of block devices # prefer removable devices over non-removable devices, so scan them first - for sysblock in $(echo /sys/block/* | tr ' ' '\n' | egrep -v "/(loop|ram|dm-|fd)") - do - if [ "$(cat ${sysblock}/removable)" = "1" ] - then - removable_devices_to_scan="$removable_devices_to_scan $sysblock" - else - nonremovable_devices_to_scan="$nonremovable_devices_to_scan $sysblock" - fi - done - devices_to_scan="$removable_devices_to_scan $nonremovable_devices_to_scan" + devices_to_scan="$(removable_dev 'sys') $(non_removable_dev 'sys')" for sysblock in $devices_to_scan do diff --git a/scripts/live-bottom/10validateroot b/scripts/live-bottom/10validateroot new file mode 100755 index 0000000..d4d1620 --- /dev/null +++ b/scripts/live-bottom/10validateroot @@ -0,0 +1,29 @@ +#!/bin/sh + +# Error out in case a "wrong" file system was chosen. + +#set -e + +# initramfs-tools header + +PREREQ="" + +prereqs() +{ + echo "${PREREQ}" +} + +case "${1}" in + prereqs) + prereqs + exit 0 + ;; +esac + +. /scripts/live-functions +. /scripts/live-helpers + +if ! [ -d "/root/usr/share/live-boot" ] +then + panic "A wrong rootfs was mounted." +fi diff --git a/scripts/live-helpers b/scripts/live-helpers index 06bd186..3109356 100644 --- a/scripts/live-helpers +++ b/scripts/live-helpers @@ -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,157 +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 - pers_label="${1}" - cow_backing="/${pers_label}-backing" - black_listed_devices="${2}" - - 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 - 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 + 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 - 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 + if [ "$(echo "${answer}" | cut -b1 | tr A-Z a-z)" = "n" ] + then + return 2 + fi 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 - # FIXME: merge with above function - - filenames="${1}" - snap_backing="/snap-backing" - black_listed_devices="${2}" - - 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}") + luks_device="" - if echo "${black_listed_devices}" | grep -q -w "${fulldevname}" + # Checking for a luks device + if echo ${PERSISTENT_ENCRYPTION} | grep -qe "\" && \ + /sbin/cryptsetup isLuks ${dev} then - # skip this device entirely - break - fi - - for dev in $(subdevices "${sysblock}") - do - devname=$(sys2dev "${dev}") - devfstype="$(get_fstype ${devname})" - - if echo "${black_listed_devices}" | grep -q -w "${devname}" + if luks_device=$(open_luks_device "${dev}") then - # skip this subdevice - break + dev="${luks_device}" + else + # skip $dev since we failed/chose not to open it + continue fi + elif echo ${PERSISTENT_ENCRYPTION} | grep -qve "\" + then + # skip $dev since we don't allow unencrypted storage + continue + fi + + if echo ${PERSISTENT_STORAGE} | grep -qe "\" + 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 "\" + 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 } @@ -463,3 +486,73 @@ is_luks() fi } + +removable_dev () +{ + output_format="${1}" + want_usb="${2}" + ret= + + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + do + dev_ok= + if [ "$(cat ${sysblock}/removable)" = "1" ] + then + if [ -z "${want_usb}" ] + then + dev_ok="yes" + else + if readlink ${sysblock} | grep -q usb + then + dev_ok="yes" + fi + fi + fi + + if [ "${dev_ok}" = "yes" ] + then + case "${output_format}" in + sys) + ret="${ret} ${sysblock}" + ;; + *) + devname=$(sys2dev "${sysblock}") + ret="${ret} ${devname}" + ;; + esac + fi + done + + echo "${ret}" +} + +removable_usb_dev () +{ + output_format="${1}" + + removable_dev "${output_format}" "want_usb" +} + +non_removable_dev () +{ + output_format="${1}" + ret= + + for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)") + do + if [ "$(cat ${sysblock}/removable)" = "0" ] + then + case "${output_format}" in + sys) + ret="${ret} ${sysblock}" + ;; + *) + devname=$(sys2dev "${sysblock}") + ret="${ret} ${devname}" + ;; + esac + fi + done + + echo "${ret}" +}