Merge branch 'debian': Imported 3.0~b6-1 from Debian Live
authorEvgeni Golov <evgeni@grml.org>
Mon, 26 Nov 2012 16:20:32 +0000 (17:20 +0100)
committerEvgeni Golov <evgeni@grml.org>
Mon, 26 Nov 2012 16:20:32 +0000 (17:20 +0100)
Conflicts:
Makefile
VERSION
backends/initramfs-tools/live.hook
bin/live-snapshot
debian/changelog
debian/control
debian/copyright
debian/live-boot-grml-initramfs-tools.triggers
debian/live-boot-grml.init
debian/rules
manpages/de/live-boot.de.7
manpages/de/live-snapshot.de.1
manpages/en/live-boot.7
manpages/en/live-snapshot.1
manpages/po/de/live-boot.7.po
manpages/po/de/live-snapshot.1.po
manpages/po4a.cfg
manpages/pot/live-boot.7.pot
manpages/pot/live-snapshot.1.pot
scripts/live
scripts/live-bottom/08persistence_excludes
scripts/live-bottom/12fstab
scripts/live-helpers

73 files changed:
Makefile
VERSION
backends/initramfs-tools/live.hook [moved from hooks/live with 54% similarity]
backends/initramfs-tools/live.script [new file with mode: 0755]
bin/live-new-uuid [deleted file]
bin/live-preseed [deleted file]
bin/live-reconfigure [deleted file]
bin/live-snapshot [deleted file]
debian/changelog
debian/changelog.old [deleted file]
debian/control
debian/copyright
debian/live-boot-grml-initramfs-tools.postinst
debian/live-boot-grml.install
debian/live-boot-initramfs-tools.postrm [new file with mode: 0644]
debian/live-boot.postinst [new file with mode: 0644]
debian/live-boot.postrm [new file with mode: 0644]
debian/rules
debian/source/options
etc/live-persistence.binds [deleted file]
etc/live-snapshot.exclude_list [deleted file]
etc/live-snapshot.list [deleted file]
local/languagelist [deleted file]
manpages/bin/update-version.sh
manpages/de/live-boot.de.7
manpages/de/live-snapshot.de.1 [deleted file]
manpages/de/persistence.conf.de.5 [new file with mode: 0644]
manpages/en/live-boot.7
manpages/en/live-snapshot.1 [deleted file]
manpages/en/persistence.conf.5 [new file with mode: 0644]
manpages/es/live-boot.es.7 [new file with mode: 0644]
manpages/es/persistence.conf.es.5 [new file with mode: 0644]
manpages/po/de/live-boot.7.po
manpages/po/de/live-snapshot.1.po [deleted file]
manpages/po/de/persistence.conf.5.po [new file with mode: 0644]
manpages/po/es/live-boot.7.po [new file with mode: 0644]
manpages/po/es/persistence.conf.5.po [new file with mode: 0644]
manpages/po4a.cfg
manpages/pot/live-boot.7.pot
manpages/pot/live-snapshot.1.pot [deleted file]
manpages/pot/persistence.conf.5.pot [new file with mode: 0644]
scripts/boot.sh [new file with mode: 0755]
scripts/boot/0010-dracut [new file with mode: 0755]
scripts/boot/0020-initramfs-tools [new file with mode: 0755]
scripts/boot/0110-debug [new file with mode: 0755]
scripts/boot/0120-read-only [new file with mode: 0755]
scripts/boot/3010-verify-checksums [new file with mode: 0755]
scripts/boot/3020-swapon [new file with mode: 0755]
scripts/boot/9990-aaa-fixme.sh [new file with mode: 0755]
scripts/boot/9990-cmdline-old [new file with mode: 0755]
scripts/boot/9990-fstab.sh [new file with mode: 0755]
scripts/boot/9990-initramfs-tools.sh [moved from scripts/live-functions with 58% similarity, mode: 0755]
scripts/boot/9990-main.sh [new file with mode: 0755]
scripts/boot/9990-misc-helpers.sh [moved from scripts/live-helpers with 69% similarity, mode: 0755]
scripts/boot/9990-mount-cifs.sh [new file with mode: 0755]
scripts/boot/9990-mount-http.sh [new file with mode: 0755]
scripts/boot/9990-mount-iscsi.sh [new file with mode: 0755]
scripts/boot/9990-mount-nfs.sh [new file with mode: 0755]
scripts/boot/9990-netbase.sh [new file with mode: 0755]
scripts/boot/9990-netboot.sh [new file with mode: 0755]
scripts/boot/9990-networking.sh [new file with mode: 0755]
scripts/boot/9990-overlay.sh [new file with mode: 0755]
scripts/boot/9990-select-eth-device.sh [new file with mode: 0755]
scripts/boot/9990-toram-todisk.sh [new file with mode: 0755]
scripts/boot/FIXME [new file with mode: 0644]
scripts/live [deleted file]
scripts/live-bottom/08persistence_excludes [deleted file]
scripts/live-bottom/10validateroot [deleted file]
scripts/live-bottom/12fstab [deleted file]
scripts/live-bottom/23networking [deleted file]
scripts/live-premount/modules [deleted file]
scripts/live-premount/readonly [deleted file]
scripts/live-premount/select_eth_device [deleted file]

index 1ea0a36..9d03254 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ SHELL := sh -e
 
 LANGUAGES = $(shell cd manpages/po && ls)
 
-SCRIPTS = bin/* hooks/* scripts/live scripts/live-functions scripts/live-helpers scripts/*/*
+SCRIPTS = backends/*/* bin/* scripts/*.sh scripts/*/*-*
 
 all: build
 
@@ -41,24 +41,20 @@ build:
        @echo "Nothing to build."
 
 install:
-       # Installing executables
-       mkdir -p $(DESTDIR)/sbin
-       cp bin/live-new-uuid bin/live-snapshot bin/live-swapfile $(DESTDIR)/sbin
-
-       mkdir -p $(DESTDIR)/usr/share/live-boot
-       cp bin/live-preseed bin/live-reconfigure local/languagelist $(DESTDIR)/usr/share/live-boot
+       # Installing scripts
+       mkdir -p $(DESTDIR)/lib/live
+       cp -r scripts/boot.sh scripts/boot $(DESTDIR)/lib/live
 
-       mkdir -p $(DESTDIR)/usr/share/initramfs-tools
-       cp -r hooks scripts $(DESTDIR)/usr/share/initramfs-tools
+       # Installing executables
+       mkdir -p $(DESTDIR)/usr/share/initramfs-tools/hooks
+       cp backends/initramfs-tools/live.hook $(DESTDIR)/usr/share/initramfs-tools/hooks/live
+       mkdir -p $(DESTDIR)/usr/share/initramfs-tools/scripts
+       cp backends/initramfs-tools/live.script $(DESTDIR)/usr/share/initramfs-tools/scripts/live
 
        # Installing docs
        mkdir -p $(DESTDIR)/usr/share/doc/live-boot
        cp -r COPYING $(DESTDIR)/usr/share/doc/live-boot
 
-       mkdir -p $(DESTDIR)/usr/share/doc/live-boot/examples
-       cp -r etc/* $(DESTDIR)/usr/share/doc/live-boot/examples
-       # (FIXME)
-
        # Installing manpages
        for MANPAGE in manpages/en/*; \
        do \
@@ -77,17 +73,13 @@ install:
 
 uninstall:
        # Uninstalling executables
-       rm -f $(DESTDIR)/sbin/live-snapshot $(DESTDIR)/sbin/live-swapfile
+       rm -f $(DESTDIR)/sbin/live-swapfile
        rmdir --ignore-fail-on-non-empty $(DESTDIR)/sbin > /dev/null 2>&1 || true
 
-       rm -rf $(DESTDIR)/usr/share/live-boot
-
        rm -f $(DESTDIR)/usr/share/initramfs-tools/hooks/live
-       rm -rf $(DESTDIR)/usr/share/initramfs-tools/scripts/live*
-       rm -f $(DESTDIR)/usr/share/initramfs-tools/scripts/local-top/live
+       rm -f $(DESTDIR)/usr/share/initramfs-tools/scripts/live
 
        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
diff --git a/VERSION b/VERSION
index 1dd4f0a..f4d2505 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.0~a27-1
+3.0~b6-1
similarity index 54%
rename from hooks/live
rename to backends/initramfs-tools/live.hook
index 40802d0..738257b 100755 (executable)
@@ -1,72 +1,34 @@
 #!/bin/sh
 
-# initramfs hook for live-boot (Debian Live)
-
 set -e
 
-# initramfs-tools header
-
-PREREQ=""
-
-prereqs()
-{
-       echo "${PREREQ}"
-}
-
-case "${1}" in
-       prereqs)
-               prereqs
-               exit 0
-               ;;
-esac
-
 . /usr/share/initramfs-tools/hook-functions
 
-[ "${QUIET}" ] || echo -n live-boot:
-
-# live-boot hook
-
-# Reading configuration file from filesystem
-if [ -e /etc/live/boot.conf ]
-then
-       . /etc/live/boot.conf
-fi
+[ "${QUIET}" ] || echo -n "live-boot:"
 
-if ls /etc/live/boot.d/*.conf > /dev/null 2>&1
-then
-       for _FILE in /etc/live/boot.d/*.conf
-       do
-               . ${_FILE}
-       done
-fi
-
-# Handling live-boot
+# Reading configuration file from filesystem and live-media
+for _FILE in /etc/live/boot.conf /etc/live/boot/* \
+            /lib/live/image/live/boot.conf /lib/live/image/live/boot/*
+do
+       if [ -e "${_FILE}" ]
+       then
+               . "${_FILE}"
+       fi
+done
 
-if [ ! -e /usr/share/live-boot ]
+# Checking live-boot
+if [ ! -e /lib/live/boot ]
 then
+       echo
        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 ]
-then
-       mkdir -p "${DESTDIR}"/usr/share/live-boot
-       cp /usr/share/live-boot/languagelist "${DESTDIR}"/usr/share/live-boot
-fi
-
-# Directories
-mkdir -p "${DESTDIR}"/lib/live-boot
+[ "${QUIET}" ] || echo -n " core"
 
-# Executables
-copy_exec /usr/share/live-boot/live-reconfigure /bin
-copy_exec /usr/share/live-boot/live-preseed /bin
-
-# Scripts
-cp /usr/share/initramfs-tools/scripts/live-functions "${DESTDIR}"/scripts
-cp /usr/share/initramfs-tools/scripts/live-helpers "${DESTDIR}"/scripts
+mkdir -p "${DESTDIR}/lib/live"
+cp -a /lib/live/boot.sh /lib/live/boot "${DESTDIR}/lib/live"
 
 # klibc dependencies
 for FILE in /lib/libacl* /lib/libblkid* /lib/libuuid* /lib/libdevmapper* /lib/libattr*
@@ -77,29 +39,25 @@ do
        fi
 done
 
-# udev dependencies (squeeze and newer)
+# udev dependencies
 for FILE in /lib/udev/*_id
 do
-       if [ ! -e "${DESTDIR}/${FILE}" ]
-       then
-               mkdir -p "${DESTDIR}/lib/udev"
-               copy_exec "${FILE}" /lib/udev
-       fi
+       copy_exec "${FILE}"
 done
 
+# wheezy/sid
 if [ -e /lib/udev/rules.d/60-cdrom_id.rules ]
 then
        mkdir -p ${DESTDIR}/lib/udev/rules.d
        cp -p /lib/udev/rules.d/60-cdrom_id.rules ${DESTDIR}/lib/udev/rules.d
 fi
 
-# Handling other stuff
+[ "${QUIET}" ] || echo -n " filesystems"
 
-[ "${QUIET}" ] || echo -n " "filesystems
 # Configuration: keymap (usefull when using encryption)
 if [ -x /bin/loadkeys ] && [ -r /etc/console/boottime.kmap.gz ]
 then
-       copy_exec /bin/loadkeys /bin
+       copy_exec /bin/loadkeys
 
        mkdir -p "${DESTDIR}"/etc
        cp /etc/console/boottime.kmap.gz "${DESTDIR}"/etc
@@ -118,7 +76,7 @@ manual_add_modules btrfs
 # Filesystem: cifs
 if [ -x /sbin/mount.cifs ]
 then
-       copy_exec /sbin/mount.cifs /sbin
+       copy_exec /sbin/mount.cifs
         manual_add_modules cifs
 fi
 
@@ -126,6 +84,10 @@ fi
 manual_add_modules ext3
 manual_add_modules ext4
 
+# Filesystem: hfs/hfsplus
+manual_add_modules hfs
+manual_add_modules hfsplus
+
 # Filesystem: jffs2
 manual_add_modules jffs2
 
@@ -135,7 +97,7 @@ then
 fi
 
 # Filesystem: squashfs
-copy_exec /sbin/losetup /sbin
+copy_exec /sbin/losetup
 manual_add_modules loop
 manual_add_modules squashfs
 manual_add_modules sqlzma
@@ -161,7 +123,7 @@ manual_add_modules vfat
 # Filesystem: ntfs
 manual_add_modules ntfs
 
-[ "${QUIET}" ] || echo -n " "devices
+[ "${QUIET}" ] || echo -n " devices"
 # Hardware: cdrom
 manual_add_modules ide-cd
 manual_add_modules ide-generic
@@ -181,52 +143,45 @@ then
        copy_exec /usr/bin/eject /bin
 fi
 
-[ "${QUIET}" ] || echo -n " "utils
-# Program: md5sum
+[ "${QUIET}" ] || echo -n " utils"
+
+# Feature: Verify Checksums
+copy_exec /usr/bin/sha256sum /bin
 copy_exec /usr/bin/md5sum /bin
 
 # Program: memdisk
 if [ -x /usr/bin/memdiskfind ]
 then
-[ "${QUIET}" ] || echo -n :memdisk
+[ "${QUIET}" ] || echo -n " memdisk"
        copy_exec /usr/bin/memdiskfind
        manual_add_modules phram
        manual_add_modules mtdblock
 fi
 
-# Program: cpio
-# busybox and klibc lacks --no-absolute-filenames and --sparse, needed for snapshots
-if [ -e "${DESTDIR}/bin/cpio" ]
-then
-       # Override already present cpio's, mostly klibc's
-       rm "${DESTDIR}/bin/cpio"
-fi
-copy_exec /bin/cpio /bin
-
 # Program: udev
 if [ -x /sbin/udevadm ]
 then
-       [ "${QUIET}" ] || echo -n " "udev
-       copy_exec /sbin/udevadm /sbin
+       [ "${QUIET}" ] || echo -n " udev"
+       copy_exec /sbin/udevadm
 fi
 if [ -x /usr/bin/udevinfo ]
 then
-       [ "${QUIET}" ] || echo -n " "udev
+       [ "${QUIET}" ] || echo -n " udev"
        copy_exec /usr/bin/udevinfo /bin
 fi
 
 # Program: wget
 if [ -x /usr/bin/wget ]
 then
-       [ "${QUIET}" ] || echo -n " "wget
+       [ "${QUIET}" ] || echo -n " wget"
        copy_exec /usr/bin/wget /bin
 fi
 
 # Program: blockdev
 if [ -x /sbin/blockdev ]
 then
-       [ "${QUIET}" ] || echo -n " "blockdev
-       copy_exec /sbin/blockdev /sbin
+       [ "${QUIET}" ] || echo -n " blockdev"
+       copy_exec /sbin/blockdev
 fi
 
 # FUSE kernel module
@@ -235,49 +190,60 @@ manual_add_modules fuse
 # FUSE filesystem: httpfs2
 if [ -x /usr/bin/httpfs2_ssl ]
 then
-       [ "${QUIET}" ] || echo -n " "httpfs:ssl
+       [ "${QUIET}" ] || echo -n " httpfs:ssl"
        copy_exec /usr/bin/httpfs2_ssl /bin/httpfs
 elif [ -x /usr/bin/httpfs2 ]
 then
-       [ "${QUIET}" ] || echo -n " "httpfs
+       [ "${QUIET}" ] || echo -n " httpfs"
        copy_exec /usr/bin/httpfs2 /bin/httpfs
 fi
 
 # FUSE filesystem: curlftpfs
 if [ -x /usr/bin/curlftpfs ]
 then
-       [ "${QUIET}" ] || echo -n " "ftpfs
+       [ "${QUIET}" ] || echo -n " ftpfs"
        copy_exec /usr/bin/curlftpfs /bin
 fi
 
 # iSCSI
 if [ -x /usr/sbin/iscsistart ]
 then
-       [ "${QUIET}" ] || echo -n " "iscsi
+       [ "${QUIET}" ] || echo -n " iscsi"
        copy_exec /usr/sbin/iscsistart /bin
        #manual_add_modules ib_iser
        manual_add_modules iscsi_tcp
        manual_add_modules crc32c
 fi
 
-if [ "${LIVE_DNS}" = "true" ]
-then
-       [ "${QUIET}" ] || echo -n " "dns
-       #copy_exec /lib/libnss_files.so.*      /lib  # /etc/hosts and /etc/passwd
-       copy_exec /lib/libnss_dns.so.*      /lib  # DNS server
-       #copy_exec /lib/libnss_compat.so.*      /lib  # /etc/passwd
-
-       # Configuration file - may be needed if /etc/hosts is used.
-       #mkdir -p $DESTDIR/etc
-       #cp -p /etc/nsswitch.conf $DESTDIR/etc
-fi
+# Some experimental stuff
 
-if [ "${LIVE_UNIONMOUNT}" = "true" ]
-then
-       [ "${QUIET}" ] || echo -n " "unionmount
-       # UnionMount
-       # only mount from patched util-linux can do this currently
-       copy_exec /bin/mount /bin/mount_full
-fi
+case "${LIVE_DNS}" in
+       true)
+               [ "${QUIET}" ] || echo -n " dns"
+
+               # /lib/libnss_dns.so.*:a   DNS
+               # /lib/libnss_files.so.*:  /etc/hosts and /etc/passwd
+               # /lib/libnss_compat.so.*: /etc/passwd
+
+               for _SHLIB in $(find /lib -name 'libnss_dns.so.*')
+               do
+                       copy_exec "${_SHLIB}"
+               done
+
+               # might be needed if /etc/hosts is used
+               #mkdir -p "${DESTDIR}/etc"
+               #cp -p /etc/nsswitch.conf "${DESTDIR}/etc"
+               ;;
+esac
+
+case "${LIVE_UNIONMOUNT}" in
+       true)
+               [ "${QUIET}" ] || echo -n " unionmount"
+
+               # UnionMount
+               # only mount from patched util-linux can do this currently
+               copy_exec /bin/mount /bin/mount_full
+               ;;
+esac
 
 [ "${QUIET}" ] || echo .
diff --git a/backends/initramfs-tools/live.script b/backends/initramfs-tools/live.script
new file mode 100755 (executable)
index 0000000..46576fb
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+#set -e
+
+if [ -e /lib/live/boot.sh ]
+then
+       . /lib/live/boot.sh
+fi
diff --git a/bin/live-new-uuid b/bin/live-new-uuid
deleted file mode 100755 (executable)
index 2e29f6a..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-# -*- coding: utf-8 -*-
-#
-# «live-new-uuid» - Creates and injects new UUIDs for live disks
-#
-# Create new UUIDs for disks to prevent conflicts and booting the wrong live
-# directory.  Particularly useful in creating recovery disks that need to be
-# able to also work with recovery partitioning schemes.
-#
-# Copyright (C) 2008, Dell Inc.
-#
-# Author:
-#  - Mario Limonciello <Mario_Limonciello@Dell.com>
-#
-# This script is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation; either version 2 of the License, or at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this application; if not, write to the Free Software Foundation, Inc., 51
-# Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-##################################################################################
-
-set -e
-
-help() {
- echo
- echo "USAGE: $0 initrd.{l,g}z <path-to-new-initrd> <path-to-new-live-uuid> "
- echo
- echo "initrd.{l,g}z is the absolute path to the original gzipped or lzmaed initramfs"
- echo "<path-to-new-initrd> is the destination directory for the new compressed initramfs"
- echo "<path-to-new-live-uuid> is the destination directory for the new live-uuid-TYPE "
- echo
- echo "if either path is absent, they will end up in the current directory "
- echo "TYPE is determined by an already existing live-uuid-* or by 'uname -s'"
-}
-
-if [ "$#" = "0" ] || [ "x$1" = x-h ] || [ "x$1" = x--help ]; then
-       help
-       exit 3
-fi
-
-CWD=`pwd`
-TEMPDIR=`mktemp -d /tmp/uuid-XXXXXX`
-TYPE=`uname -r | cut -d '-' -f 3`
-
-if echo "$1" | grep ".lz$" >/dev/null; then
-       COMPRESSOR="lzma"
-       SUFFIX=".lz"
-elif echo "$1" | grep ".gz$" >/dev/null; then
-       COMPRESSOR="gzip"
-       SUFFIX=".gz"
-else
-       echo "Unsupported archive type."
-       exit 2
-fi
-
-if [ -z "$2" ] || [ ! -d "$2" ] || [ "$2" = "." ]; then
-       COMPRESS_DIR="$CWD"
-else
-       COMPRESS_DIR="$2"
-fi
-
-if [ -z "$3" ] || [ ! -d "$3" ] || [ "$3" = "." ]; then
-       LIVEDIR="$CWD"
-else
-       LIVEDIR="$3"
-fi
-
-cd "$TEMPDIR"
-$COMPRESSOR -cd "$1" -S "$SUFFIX" | cpio -id
-uuidgen -r > conf/uuid.conf
-find . | cpio --quiet --dereference -o -H newc | $COMPRESSOR -9c > "$COMPRESS_DIR/initrd$SUFFIX"
-if [ "$(ls "$LIVEDIR/live-uuid"-* >/dev/null 2>&1 | wc -l)" = 1 ]; then
-       cp conf/uuid.conf "$LIVEDIR/live-uuid"-*
-else
-       cp conf/uuid.conf "$LIVEDIR/live-uuid-$TYPE"
-fi
-cd "$CWD"
-rm -rf "$TEMPDIR"
diff --git a/bin/live-preseed b/bin/live-preseed
deleted file mode 100755 (executable)
index c0933e6..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-set -e
-
-PATH=/usr/sbin:/usr/bin:/sbin:/bin
-
-root="${1}"
-question="${2}"
-value="${3}"
-seen="${4}"
-
-[ "${seen}" ] || seen=true
-
-if ! (echo "SET ${question} ${value}"; echo "FSET ${question} seen ${seen}") | chroot "${1}" /usr/bin/debconf-communicate -fnoninteractive live-boot >/dev/null
-then
-
-chroot "${1}" /usr/bin/debconf-communicate -fnoninteractive live-boot >/dev/null << EOF
-REGISTER debian-installer/dummy ${question}
-SET ${question} ${value}
-FSET ${question} seen ${seen}
-EOF
-
-fi
-
-exit 0
diff --git a/bin/live-reconfigure b/bin/live-reconfigure
deleted file mode 100755 (executable)
index 16cb51d..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#! /bin/sh
-
-set -e
-
-export PATH=/usr/bin:/usr/sbin:/sbin:/bin
-
-frontend=noninteractive
-
-findcommandinroot ()
-{
-       ROOT="${1}/"
-       shift
-
-       while [ "${#}" -ge 1 ]
-       do
-               P="${PATH}"
-
-               while [ "${P}" ]
-               do
-                       D=${P%%:*}
-                       P=${P#*:}
-
-                       if [ "${D}" = "${P}" ]
-                       then
-                               P=
-                       fi
-
-                       if [ -z "${D}" ]
-                       then
-                               D=.
-                       fi
-
-                       if [ -x "${ROOT}${D}/${1}" ]
-                       then
-                               echo "${D}/${1}"
-                               return 0
-                       fi
-               done
-
-               shift
-       done
-
-       return 1
-}
-
-runcommandinroot ()
-{
-       C=$(findcommandinroot "${1}" "${2}")
-       ROOT="${1}"
-
-       shift
-       shift
-
-       [ -n "${C}" ] && chroot "${ROOT}" "${C}" "${@}"
-}
-
-root="${1}"
-package="${2}"
-
-version=$(runcommandinroot "${root}" dpkg-query -W --showformat='${Version}' "${package}" 2>/dev/null) || version=""
-
-if [ -z "${version}" ]
-then
-       echo >&2 "${0}: package '${package}' is not installed"
-       exit 0
-fi
-
-runcommandinroot "${root}" dpkg-reconfigure -fnoninteractive --no-reload "${package}"
-
-exit 0
diff --git a/bin/live-snapshot b/bin/live-snapshot
deleted file mode 100755 (executable)
index 6ba45f2..0000000
+++ /dev/null
@@ -1,538 +0,0 @@
-#!/bin/sh
-
-# live-snapshot - utility to manage Debian Live systems snapshots
-#
-#   This program mounts a device (fallback to /tmpfs under $MOUNTP
-#   and saves the /live/overlway (or a different directory) filesystem in it
-#   for reuse in another live-boot session.
-#   Look at the manpage for more informations.
-#
-# Copyright (C) 2006-2011 Marco Amadori <marco.amadori@gmail.com>
-# Copyright (C) 2008 Chris Lamb <chris@chris-lamb.co.uk>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# The complete text of the GNU General Public License
-# can be found in /usr/share/common-licenses/GPL-3 file.
-
-# declare here two vars from /etc/live.conf because of "set -u"
-ROOTSNAP=""
-HOMESNAP=""
-
-if [ -n "${LIVE_SNAPSHOT_CHECK_UNBOUND}" ]
-then
-       set -eu
-else
-       set -e
-fi
-
-. /usr/share/initramfs-tools/scripts/live-helpers
-
-LIVE_CONF="/etc/live/boot.d/snapshot.conf"
-
-if [ -r "${LIVE_CONF}" ]
-then
-       . "${LIVE_CONF}"
-fi
-
-export USERNAME USERFULLNAME HOSTNAME
-
-EXECUTABLE="${0}"
-PROGRAM=$(basename "${EXECUTABLE}")
-
-# Needs to be available at run and reboot time
-SAFE_TMPDIR="/live"
-
-# Permits multiple runs
-MOUNTP="$(mktemp -d -p ${SAFE_TMPDIR} live-snapshot-mnt.XXXXXX)"
-DEST="${MOUNTP}/live-sn.cpio.gz"
-DEF_SNAP_COW="/live/overlay"
-TMP_FILELIST="${PROGRAM}.list"
-
-# Command line defaults and declarations
-SNAP_COW="${DEF_SNAP_COW}"
-SNAP_DEV=""
-SNAP_MNT=""
-SNAP_OUTPUT=""
-SNAP_RESYNC_STRING=""
-SNAP_TYPE="cpio"
-SNAP_LIST="/etc/live-snapshot.list"
-EXCLUDE_LIST="/etc/live-snapshot.exclude_list"
-
-Error ()
-{
-       echo "${PROGRAM}: error:" ${@}
-       exit 1
-}
-
-panic ()
-{
-       Error ${@}
-}
-
-Header ()
-{
-       echo "${PROGRAM} - utility to perform snapshots of Debian Live systems"
-       echo
-       echo "usage: ${PROGRAM} [-c|--cow DIRECTORY] [-d|--device DEVICE] [-o|--output FILE] [-t|--type TYPE]"
-       echo "       ${PROGRAM} [-r|--resync-string STRING]"
-       echo "       ${PROGRAM} [-f|--refresh]"
-       echo "       ${PROGRAM} [-h|--help]"
-       echo "       ${PROGRAM} [-u|--usage]"
-       echo "       ${PROGRAM} [-v|--version]"
-}
-
-Help ()
-{
-       Header
-
-       echo
-       echo "Options:"
-       echo "  -c, --cow: copy on write directory (default: ${SNAP_COW})."
-       echo "  -d, --device: output snapshot device (default: ${SNAP_DEV:-auto})."
-       echo "  -o, --output: output image file (default: ${DEST})."
-       echo "  -r, --resync-string: internally used to resync previous made snapshots."
-       echo "  -f, --refresh: try to sync a running snapshot."
-       echo "  -t, --type: snapshot filesystem type. Options: \"squashfs\", \"ext2\", \"ext3\", \"ext4\", \"jffs2\" or \"cpio\".gz archive (default: ${SNAP_TYPE})"
-       echo
-       echo "Look at live-snapshot(1) man page for more information."
-
-       exit 0
-}
-
-Usage ()
-{
-       Header
-
-       echo
-       echo "Try \"${PROGRAM} --help\" for more information."
-
-       exit 0
-}
-
-Version ()
-{
-       echo "${PROGRAM}"
-       echo
-       echo "Copyright (C) 2006-2011 Marco Amadori <marco.amadori@gmail.com>"
-       echo "Copyright (C) 2008 Chris Lamb <chris@chris-lamb.co.uk>"
-       echo
-       echo "This program is free software; you can redistribute it and/or modify"
-       echo "it under the terms of the GNU General Public License as published by"
-       echo "the Free Software Foundation; either version 3 of the License, or"
-       echo "(at your option) any later version."
-       echo
-       echo "This program is distributed in the hope that it will be useful,"
-       echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
-       echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
-       echo "GNU General Public License for more details."
-       echo
-       echo "You should have received a copy of the GNU General Public License"
-       echo "along with this program; if not, write to the Free Software"
-       echo "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"
-       echo
-       echo "The complete text of the GNU General Public License"
-       echo "can be found in /usr/share/common-licenses/GPL-3 file."
-       echo
-       echo "Homepage: <http://live.debian.net/>"
-
-       exit 0
-}
-
-Try_refresh ()
-{
-       FOUND=""
-       if [ -n "${ROOTSNAP}" ]; then
-               "${EXECUTABLE}" --resync-string="${ROOTSNAP}"
-               FOUND="Yes"
-       fi
-
-       if [ -n "${HOMESNAP}" ]; then
-               "${EXECUTABLE}" --resync-string="${HOMESNAP}"
-               FOUND="Yes"
-       fi
-
-       if [ -z "${FOUND}" ]
-       then
-               echo "No autoconfigured snapshots found at boot;" > /dev/null 1>&2
-               echo "(no resync string in ${LIVE_CONF})." > /dev/null 1>&2
-               exit 1
-       fi
-}
-
-Parse_args ()
-{
-       # Parse command line
-       ARGS="${*}"
-       ARGUMENTS="$(getopt --longoptions cow:,device:,output,resync-string:,refresh,type:,help,usage,version --name=${PROGRAM} --options c:d:o:t:r:fhuv --shell sh -- ${ARGS})"
-
-       eval set -- "${ARGUMENTS}"
-
-       while true
-       do
-               case "${1}" in
-                       -c|--cow)
-                               SNAP_COW="${2}"
-                               shift 2
-                               ;;
-
-                       -d|--device)
-                               SNAP_DEV="${2}"
-                               shift 2
-                               ;;
-
-                       -o|--output)
-                               SNAP_OUTPUT="${2}"
-                               shift 2
-                               ;;
-
-                       -t|--type)
-                               SNAP_TYPE="${2}"
-                               shift 2
-                               ;;
-
-                       -r|--resync-string)
-                               SNAP_RESYNC_STRING="${2}"
-                               break
-                               ;;
-
-                       -f|--refresh)
-                               Try_refresh
-                               exit 0
-                               ;;
-
-                       -h|--help)
-                               Help
-                               ;;
-
-                       -u|--usage)
-                               Usage
-                               ;;
-
-                       -v|--version)
-                               Version
-                               ;;
-
-                       --)
-                               shift
-                               break
-                               ;;
-
-                       *)
-                               Error "internal error."
-                               ;;
-
-               esac
-       done
-}
-
-Defaults ()
-{
-       # Parse resync string
-       if [ -n "${SNAP_RESYNC_STRING}" ]
-       then
-               SNAP_COW=$(echo "${SNAP_RESYNC_STRING}" | sed -r -e 's#^([^:]*).*$#'"${DEF_SNAP_COW}"'\1#')
-               SNAP_DEV=$(echo "${SNAP_RESYNC_STRING}" | cut -f2 -d ':')
-               SNAP_MNT=$(echo "${SNAP_RESYNC_STRING}" | cut -f3 -d ':')
-               DEST="${MOUNTP}/${SNAP_MNT}"
-
-               case "${SNAP_MNT}" in
-                       *.cpio.gz)
-                               SNAP_TYPE="cpio"
-                               ;;
-
-                       *.squashfs)
-                               SNAP_TYPE="squashfs"
-                               ;;
-
-                       *.jffs2)
-                               SNAP_TYPE="jffs2"
-                               ;;
-
-                       *.ext2|*.ext3)
-                               SNAP_TYPE="ext2"
-                               ;;
-
-                       "")
-                               SNAP_TYPE="whole_partition"
-                               ;;
-
-                       *.ext4)
-                               SNAP_TYPE="ext4"
-                               ;;
-
-                       *)
-                               Error "unrecognized resync string"
-                               ;;
-               esac
-       elif [ -z "${SNAP_OUTPUT}" ]
-       then
-               # Set target file based on image
-               case "${SNAP_TYPE}" in
-                       cpio)
-                               DEST="${MOUNTP}/live-sn.cpio.gz"
-                               ;;
-
-                       squashfs|jffs2|ext2)
-                               DEST="${MOUNTP}/live-sn.${SNAP_TYPE}"
-                               ;;
-
-                       ext3)
-                               DEST="${MOUNTP}/live-sn.ext2"
-                               ;;
-
-                       ext4)
-                               DEST="${MOUNTP}/live-sn.ext4"
-                               ;;
-               esac
-       else
-               DEST="${SNAP_OUTPUT}"
-       fi
-}
-
-Validate_input ()
-{
-       case "${SNAP_TYPE}" in
-               cpio|squashfs|jffs2|ext2|ext3|ext4|whole_partition)
-                       ;;
-
-               *)
-                       Error "invalid filesystem type \"${SNAP_TYPE}\""
-                       ;;
-       esac
-
-       if [ ! -d "${SNAP_COW}" ]
-       then
-               Error "${SNAP_COW} is not a directory"
-       fi
-
-       if [ "$(id -u)" -ne 0 ]
-       then
-               Error "you are not root"
-       fi
-}
-
-Mount_device ()
-{
-       case "${SNAP_DEV}" in
-               "")
-                       # create a temp
-                       mount -t tmpfs -o rw tmpfs "${MOUNTP}"
-                       ;;
-
-               *)
-                       if [ -b "${SNAP_DEV}" ]
-                       then
-                               try_mount "${SNAP_DEV}" "${MOUNTP}" rw
-                       fi
-                       ;;
-       esac
-}
-
-Entry_is_modified ()
-{
-       # Returns true if file exists and it is also present in "cow" directory
-       # This means it is modified in respect to read-only media, so it deserve
-       # to be saved
-
-       entry="${1}"
-
-       if [ -e "${entry}" ] || [ -L "${entry}" ]
-       then
-               if [ -e "${SNAP_COW}/${entry}" ] || [ -L "${SNAP_COW}/${entry}" ]
-               then
-                       return 0
-               fi
-       fi
-       return 1
-}
-
-Do_filelist ()
-{
-       # BUGS: does not handle deleted files yet
-       TMP_FILELIST=$1
-
-       if [ -f "${SNAP_LIST}" ]
-       then
-               # if SNAP_COW == /live/overlay/home, SNAP_RW = /home
-               SNAP_RW=$(echo "${SNAP_COW}" | sed -e "s|${DEF_SNAP_COW}||g")
-               if [ -z "${SNAP_RW}" ]
-               then
-                       SNAP_RW="/"
-               fi
-
-               cd "${SNAP_RW}"
-               # Generate include list removing empty and commented lines
-               # and transforming paths to relatives
-               for entry in $(sed -e '/^ *$/d' -e '/^#.*$/d' -e 's#^.*$#./&#' -e 's#/\+#/#g' "${SNAP_LIST}")
-               do
-                       if [ -d "${entry}" ]
-                       then
-                               find "${entry}" | while read line
-                               do
-                                       if Entry_is_modified "${line}"
-                                       then
-                                               printf "%s\000" "${line}" >> "${TMP_FILELIST}"
-                                       fi
-                               done
-                       elif Entry_is_modified "${entry}"
-                       then
-                               # if file exists and it is modified
-                               printf "%s\000" "${entry}" >> "${TMP_FILELIST}"
-                       fi
-               done
-               cd "${OLDPWD}"
-
-               # echo Working dir
-               echo "${SNAP_RW}"
-       else
-               cd "${SNAP_COW}"
-               # removing whiteouts from list
-               find . -path '*.wh.*' -prune -o -print0 >> "${TMP_FILELIST}"
-               cd "${OLDPWD}"
-               # echo Working dir
-               echo "${SNAP_COW}"
-       fi
-}
-
-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)
-                       echo ".${TMP_FILELIST}" > "${TMP_FILELIST}"
-                       # Removing whiteheads of unionfs
-                       cd "${SNAP_COW}"
-                       find . -name '*.wh.*' >> "${TMP_FILELIST}"
-
-                       if [ -e "${EXCLUDE_LIST}" ]
-                       then
-                               # Add explicitly excluded files
-                               cat "${TMP_EXCLUDE_LIST}" >> "${TMP_FILELIST}"
-                       fi
-
-                       cd "${OLDPWD}"
-                       mksquashfs "${SNAP_COW}" "${DEST}" -ef "${TMP_FILELIST}"
-                       ;;
-
-               cpio|whole_partition)
-                       if [ "${SNAP_TYPE}" = "cpio" ]
-                       then
-                               COPY_CMD="cpio --quiet -o0 -H newc | gzip -9c > ${DEST}"
-                       else
-                               COPY_CMD="cpio --quiet -pumd0 ${DEST}/"
-                       fi
-
-                       WORKING_DIR=$(Do_filelist "${TMP_FILELIST}")
-                       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 "${TMP_EXCLUDE_LIST}" | \
-                                       tr '\n' '\0' | \
-                                       tr '\1' '\n' | \
-                                       eval $COPY_CMD || exit 1
-                       else
-                               cat "${TMP_FILELIST}" | \
-                                       eval $COPY_CMD || exit 1
-                       fi
-                       cd "${OLDPWD}"
-                       ;;
-
-               # ext2|ext3|ext4 and jffs2 does not easily support an exclude list; files
-               # should be copied to another directory in order to filter content
-               ext2|ext3|ext4)
-                       DU_DIM="$(du -ks ${SNAP_COW} | cut -f1)"
-                       REAL_DIM="$(expr ${DU_DIM} + ${DU_DIM} / 20)" # Just 5% more to be sure, need something more sophistcated here...
-                       genext2fs --size-in-blocks=${REAL_DIM} --reserved-percentage=0 --root="${SNAP_COW}" "${DEST}"
-                       ;;
-
-               jffs2)
-                       mkfs.jffs2 --root="${SNAP_COW}" --output="${DEST}"
-                       ;;
-       esac
-
-       # Remove temporary file lists
-       for filelist in "${TMP_FILELIST}" "${TMP_EXCLUDE_LIST}"
-       do
-               if [ -f "${filelist}" ]
-               then
-                       rm -f "${filelist}"
-               fi
-       done
-}
-
-Clean ()
-{
-       if [ -z "${SNAP_RESYNC_STRING}" ] && echo "${DEST}" | grep -q "${MOUNTP}"
-       then
-               echo "${DEST} is present on ${MOUNTP}, therefore no automatic unmounting the latter." > /dev/null 1>&2
-       else
-               umount "${MOUNTP}"
-               rmdir "${MOUNTP}"
-       fi
-}
-
-Warn_user ()
-{
-       if [ -z "${SNAP_RESYNC_STRING}" ]
-       then
-               case ${SNAP_TYPE} in
-                       cpio|ext2|ext3|ext4)
-                               echo "Please move ${DEST} (if is not already in it)" > /dev/null 1>&2
-                               echo "in a supported writable partition (e.g ext3, vfat)." > /dev/null 1>&2
-                               ;;
-
-                       squashfs)
-                               echo "To use ${DEST} you need to rebuild your media or add it" > /dev/null 1>&2
-                               echo "to your multisession disc under the \"/live\" directory." > /dev/null 1>&2
-                               ;;
-
-                       jffs2)
-                               echo "Please cat or flashcp ${DEST} to your partition in order to start using it." > /dev/null 1>&2
-                               ;;
-               esac
-
-               if grep -qv persistence /proc/cmdline
-               then
-                       echo "Remember to boot this live system with \"persistence\" specified at boot prompt." > /dev/null 1>&2
-               fi
-       fi
-}
-
-Main ()
-{
-       Parse_args "${@}"
-       Defaults
-       Validate_input
-       trap 'Clean' EXIT
-       Mount_device
-       Do_snapshot
-       Warn_user
-}
-
-Main "${@:-}"
index 82d2d0a..3c8d0c6 100644 (file)
@@ -1,3 +1,308 @@
+live-boot (3.0~b6-1) unstable; urgency=low
+
+  * Including hfs and hfsplus modules in initrd to access filesystems on
+    apple systems.
+  * Stopping to put a tmpfs on /root/lib/live from within initramfs, it
+    over-'layered' most prominently the live systems /lib/live/config,
+    making the runtime configuration impossible and the tmpfs is not
+    used or needed in the first place anyway.
+  * Renaming rofs to more intuitive rootfs.
+  * Removing source-only readme file about boot scripts from the binary
+    package.
+  * Renaming the boot scripts readme file to fixme to make it even more
+    obvious.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 02 Oct 2012 10:32:44 +0200
+
+live-boot (3.0~b5-1) unstable; urgency=low
+
+  * Updating to standards version 3.9.4.
+  * Removing showmounts option as it's enable always anyway.
+  * Applying slightly modified patch from Reinhard Tartler
+    <siretart@tauware.de> to ensure that a potentially stray tmpfs on
+    /live/overlay gets removed to fix netboot failures (Closes:
+    #685375).
+
+ -- Daniel Baumann <daniel@debian.org>  Sun, 30 Sep 2012 10:07:09 +0200
+
+live-boot (3.0~b4-1) unstable; urgency=low
+
+  * Switching to final name for the persistence configuration file
+    'persistence.conf' in line with boot parameter.
+  * Moving remaining stuff from /live to /lib/live to avoid further
+    namespace pollution.
+
+ -- Daniel Baumann <daniel@debian.org>  Thu, 27 Sep 2012 13:23:33 +0200
+
+live-boot (3.0~b3-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Always move live filesystem mounts to /root within initramfs,
+    regardless if mountpoint already exists or not (Closes: #688782).
+
+  [ Gaudenz Steinlin ]
+  * Removing mountpoint if no persistence layer is found on a device.
+
+  [ Daniel Baumann ]
+  * Exposing rofs and persistence mounts under /live in the live
+    systems, not just initramfs only (Closes: #687099).
+  * Updating code for exposing of overlay mounts under /live too.
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 26 Sep 2012 14:40:32 +0200
+
+live-boot (3.0~b2-1) unstable; urgency=low
+
+  * Recreating /etc/live/boot in postinst.
+  * Removing /etc/live/boot if empty on purge in postrm.
+  * Regenerating initramfs on remove.
+
+ -- Daniel Baumann <daniel@debian.org>  Fri, 24 Aug 2012 12:37:23 +0200
+
+live-boot (3.0~b1-1) unstable; urgency=low
+
+  [ chals ]
+  * Fixing build error in 'es' man pages caused by a newline conflict.
+
+  [ Daniel Baumann ]
+  * Removing live-new-uuid, a rewritten one goes to live-tools.
+  * Adding slightly modified patch from Steven Shiau
+    <steven@nchc.org.tw> to transition to /run for network interface
+    definition files which fixes resolv.conf creation for netboot.
+
+  [ Steven Shiau ]
+  * Reading /conf/param.conf after Select_eth_device in main function to
+    fix network booting (Closes: #683240).
+
+  [ Daniel Baumann ]
+  * Moving reading of initramfs-tools functions to initramfs-tools
+    script.
+  * Consistently using case instead of if for conditionals in script
+    boilerplate.
+  * Laying tmpfs on /live/overlay only during initramfs stage, fixes
+    boot failure with plain filesystems (Closes: #681579).
+  * Correcting DNS inclusion in initramfs-tools hook, thanks to Steven
+    Shiau <steven@nchc.org.tw> for reporting.
+  * Simplifying usage of copy_exec function from hooks-function in
+    initramfs-tools hook.
+  * Using /etc/live/boot/*.conf instead of /etc/live/boot.d/*.conf and
+    /live/image/live/boot/*.conf instead of
+    /live/image/live/boot.d/*.conf for consistency reasons.
+  * Reading configuration file from filesystem and live-media at runtime
+    too.
+  * Reading configuration files in initramfs-tools hook too.
+
+  [ Steven Shiau ]
+  * Adding support for nameserver in ip= boot parameter.
+
+  [ Daniel Baumann ]
+  * Making nameserver assignment from ip= bootparameter work with
+    persistence.
+  * Correcting permissions of /tmp which apparently somehow get mixed up
+    along the way.
+  * Updating scripts readme about transition to plugin based
+    architecture.
+
+ -- Daniel Baumann <daniel@debian.org>  Thu, 16 Aug 2012 12:21:04 +0200
+
+live-boot (3.0~a38-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Extending verify-checksums parameters to allow specifying custom
+    list of digests.
+  * Harmonizing GPL boilerplate texts.
+
+  [ Richard Nelson ]
+  * Correct left over references to old initramfs-tools.sh (Closes:
+    #682504).
+
+ -- Daniel Baumann <daniel@debian.org>  Fri, 27 Jul 2012 00:20:39 +0200
+
+live-boot (3.0~a37-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Cleaning up initramfs-tools hook.
+
+  [ Tails developers ]
+  * Fixing persistence backward-compatibility mode (Closes: #681176).
+
+  [ Daniel Baumann ]
+  * Making swap function self contained.
+  * Making read-only function self contained.
+  * Making verify-checksums function self contained.
+  * Factoring out debug into an own function.
+  * Extending read-only parameters to allow specifying custom list of
+    devices.
+  * Avoid re-access /proc/cmdline in select-eth-device function and use
+    internal variable instead.
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 25 Jul 2012 17:18:06 +0200
+
+live-boot (3.0~a36-1) unstable; urgency=low
+
+  * Adding temporary notes in a readme file.
+  * Renaming boot scripts for refactoring them into numbered plugins.
+  * Renaming mountroot function to main to provide a generic live-boot
+    entry point for initramfs generators.
+  * Adding temporary redirection layer for dracut initramfs generator.
+  * Adding redirection layer for initramfs-tools initramfs generator.
+  * Splitting out already reviewed cmdline parsing script.
+  * Splitting out already reviewed read-only script.
+  * Splitting out already reviewed swapon script.
+  * Splitting out already reviewed verify-checksums script.
+  * Adding support for defining one or more explicit swap partitions to
+    be used.
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 18 Jul 2012 23:56:06 +0200
+
+live-boot (3.0~a35-1) unstable; urgency=low
+
+  * Correcting typo in fstab function call in mountroot, thanks to
+    Baurzhan Muftakhidinov <baurthefirst@gmail.com>.
+
+ -- Daniel Baumann <daniel@debian.org>  Thu, 28 Jun 2012 14:30:46 +0200
+
+live-boot (3.0~a34-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Renaming persistent-subtext option into persistent-label and making
+    it define the complete label instead of a custom suffix only.
+  * Updating coding style in a first bunch of locations.
+  * Updating location for live-boot files in initramfs-tools hook,
+    thanks to Baurzhan Muftakhidinov <baurthefirst@gmail.com>.
+  * Making live-boot-initramfs-tools.postinst more error safe.
+  * Removing pre-wheezy dpkg trigger for update-initramfs.
+  * Removing superfluous directory in initramfs-tools hook.
+  * Sourcing individual live-boot scripts rather than executing them.
+
+  [ Ben Armstrong ]
+  * Fix creation of /var/log/live in correct location.
+
+  [ Daniel Baumann ]
+  * Switching to xz compression in source and binary packages.
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 27 Jun 2012 14:14:19 +0200
+
+live-boot (3.0~a33-1) unstable; urgency=low
+
+  [ chals ]
+  * Updating Spanish translation of man pages.
+
+  [ Daniel Baumann ]
+  * Removing some more dead parameters from cmdline function.
+  * Removing double author entries in Spanish po files.
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 13 Jun 2012 13:26:49 +0200
+
+live-boot (3.0~a32-1) experimental; urgency=low
+
+  * Dropping snapshot functionality, superseeded by awesome custom mount
+    persistence.
+  * Setting persistence label for live-* 3.x persistency to
+    'persistence', we're not making any difference between full-ov and
+    custom-ov anymore on the filesystem and partition label (it's
+    determined by the contents of live-persistence.conf).
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 06 Jun 2012 19:04:01 +0200
+
+live-boot (3.0~a31-1) experimental; urgency=low
+
+  [ Daniel Baumann ]
+  * Renaming etc directory to their actual name, examples, within source
+    tree.
+  * Simplyfing scripts declaration in Makefile.
+
+  [ chals ]
+  * Fixing fuzzy strings in Spanish translation of man pages.
+
+  [ Daniel Baumann ]
+  * Removing live-reconfigure, not used anymore.
+  * Removing live-preseed, not used anymore.
+  * Unbreaking cmdline parsing after variable rename.
+  * Moving off remaining functions from main boot script to subscript
+    for later cleanup.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 05 Jun 2012 21:44:44 +0200
+
+live-boot (3.0~a30-1) experimental; urgency=low
+
+  * Removing dead lang2locale function and associated files, not used
+    anywhere.
+  * Converting select_eth_device initramfs-tools pre-mount script into
+    regular live-boot script.
+  * Consistenly using 'true' instead of 'Yes' or 'yes' when using
+    booleans.
+  * Removing some dead boot parameters.
+  * Splitting out integrity-check function to subscript.
+  * Rewriting live-media checksum verification to work with any SHA and
+    MD5 digests.
+  * Updating read-only handling to new parameter handling.
+  * Updating internal cmdline handling.
+  * Updating swapon handling to new parameter handling.
+  * Also allowing /dev/vd* to be used as swap devices and drop /dev/hd*.
+  * Splitting out swap handling and rewriting to a live-boot subscript.
+  * Moving validateroot bottom script into main boot script itself.
+  * Removing exporting of variables for reviewed options in the cmdline
+    function, not required.
+  * Removing fastboot handling, the normal system handles this via
+    'fastboot' bootparameter already.
+  * Transforming persistence_excludes bottom script into normal live-
+    boot script.
+  * Transforming fstab bottom script into normal live-boot script.
+  * Transforming networking bottom script into normal live-boot script.
+  * Simplyfing initramfs-tools specific files within the source tree.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 05 Jun 2012 19:37:54 +0200
+
+live-boot (3.0~a29-1) experimental; urgency=low
+
+  * Automatically translate date formats in po files.
+  * Starting initramfs-tools specific subdirectory within the source-
+    tree.
+  * Replacing live initramfs-tools script with empty stub that calls the
+    real, in future being initramfs-tools independent, script from
+    /lib/live.
+  * Splitting out a first bunch of functions out to /live/live/boot/.
+  * Moving out live-helpers from initramfs-tools specifics.
+  * Adding commented 'set -e' explicitly in all subscripts to avoid
+    running it with 'set -e' until we've made sure it's properly
+    working.
+  * Moving out live-functions from initramfs-tools specifics.
+  * Removing live-premount modules script, not needed anymore.
+  * Converting read-only initramfs-tools pre-mount script into regular
+    live-boot script.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 05 Jun 2012 16:00:59 +0200
+
+live-boot (3.0~a28-1) experimental; urgency=low
+
+  [ Tails developers ]
+  * Improving robustness of findiso cleanup process.
+  * Using fromiso in most places where isofrom was used, thanks to
+    adrian15 <adrian15sgd@gmail.com>.
+  * Mounting fromiso filesystem on /live/fromiso instead of /fromiso,
+    thanks to adrian15 <adrian15sgd@gmail.com>.
+  * Improving robustness of fromiso cleanup process with is_mountpoint
+    (Closes: #668100).
+
+  [ Daniel Baumann ]
+  * Using boot.log and /var/log/live/boot.log respectively for overall
+    consistency within all debian-live tools.
+
+  [ Ian Reinhart Geiser ]
+  * Fix to allow for multiple rof when exposed roots is disabled.
+
+  [ Tails developers ]
+  * Implement and make use of robust list functions.
+
+  [ chals ]
+  * Fixing several typos in man pages.
+  * Adding initial Spanish translation of man pages.
+
+  [ Evgeni Golov ]
+  * Fixing two typos and a wrong word in comments.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 04 Jun 2012 17:31:32 +0200
+
 live-boot (3.0~a27-1+grml.7) grml-testing; urgency=low
 
   * [a488db6] Enable write-mode for persistency related devices in
@@ -68,6 +373,179 @@ live-boot (3.0~a27-1+grml.1) grml-testing; urgency=low
 
  -- Michael Prokop <mika@grml.org>  Wed, 09 May 2012 14:10:37 +0200
 
+live-boot (3.0~a27-1) experimental; urgency=low
+
+  [ Daniel Baumann ]
+  * Only looking at boot.d files if they have the .conf suffix to allow
+    putting other files into these places that do not necessarily need
+    to be used by live-boot (e.g. documentation).
+  * Removing preseed bottom-script, a newly written one is now in live-
+    config where this sort of things belong.
+  * Removing header in fstab, not required.
+  * Removing outdated and broken accessibility script, this will be
+    redone in live-config properly.
+  * Replacing 'illegal' with better fitting 'invalid' for wrongly
+    crafted input examples in live.persist manpage.
+  * Consistently using ext4 in all examples, not a mix of ext2 and ext3.
+  * Removing user and userfullname variables in scripts/live, they are
+    not used here sind live-config anymore.
+  * Renaming /live/cow to /live/overlay in anticipation of overlayfs.
+  * Using 'persistence' (noun) rather than 'persistent'
+    (adjective/adverb) everywhere.
+  * Making extraction of the manpage section in manpages/Makefile work
+    with multiple dots in the filename.
+  * Renaming live.persist to live-persistence.conf.
+
+  [ Tails developers ]
+  * Adding support for the findiso boot parameter (Closes: #656135).
+  * Fixing findiso argument parsing place to match the existing
+    ordering.
+  * Removing overkill double-checking of return code in is_mountpoint
+    predicate.
+  * Fixing brace alignment to follow common code style.
+  * Removing leftover directory after unmounting.
+
+  [ Daniel Baumann ]
+  * Removing old docs.
+  * Merging old changelog into current changelog.
+  * Updating toplevel Makefile to work with manpages having multiple
+    dots in its filename.
+  * Renamling linkfiles option when using persistence to simply link.
+
+  [ Tails developers ]
+  * Allow using / as destination in custom mounts.
+  * Supress warnings when probing media for persistence.
+  * Do not probe the device mounted on /live/image for persistence.
+  * Fix typo to make home-sn snapshots work again.
+  * Only try copying snapshots if we actually found any.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 09 Apr 2012 18:58:06 +0200
+
+live-boot (3.0~a26-1) experimental; urgency=low
+
+  [ Daniel Baumann ]
+  * Updating year in copyright.
+  * Updating copyright file machine-readable format version 1.0.
+  * Updating to standards version 3.9.3.
+  * Quoting noprompt variable in initscript to avoid syntax errors,
+    thanks to Philip Newborough <corenominal@corenominal.org>.
+  * Correcting log_end_msg usages in connection with verbosity checks in
+    live-boot initscript, thanks to Pablo Barbachano
+    <pablobarbachano@yahoo.es> (Closes: #665689).
+  * Replacing live-boot initscript with a stub and moving the actual
+    code to /lib/live/boot.sh to allow different initsystem support in
+    future.
+  * Removing some of the now useless sysvinit specifics from
+    bin/boot.sh.
+
+  [ Tails developers ]
+  * Adding initial work on a custom mounts system.
+
+  [ Daniel Baumann ]
+  * Correcting indenting initial work on a custom mounts system to
+    ensure consistency.
+  * Avoid calling rm without -f in initial work on a custom mounts
+    system to ensure non-interactivity.
+  * Avoid '==' bashism in initial work on a custom mounts system to
+    ensure posix compatiblity.
+
+  [ Tails developers ]
+  * Prevent custom mounting in /live.
+  * Optionally symlink files from persistent source instead of mount it.
+  * Separate overlay labels for full and custom persistence.
+  * Remove some temporary custom mount related files after they're used.
+
+  [ Daniel Baumann ]
+  * Calling rm without -f when removing some temporary custom mount
+    related files to ensure non-interactivity.
+
+  [ Tails developers ]
+  * Handle custom mounts options a bit more beautifully.
+  * Continue the correct for-loop so incorrect custom mount is skipped.
+  * Refactor union mounting into its own function.
+  * Workaround busybox's inability to detect symlinks with [ -e ].
+  * Make union mounting more sensible and robust.
+  * Ignore empty lines in live.persist.
+  * Remove the correct file.
+  * Optionally mount custom mounts as unions.
+  * Fix mask usage in links_files().
+
+  [ Daniel Baumann ]
+  * Correcting syntax when using if constructs in links_files().
+
+  [ Tails developers ]
+  * Refactor persistent custom mounting from live into live-helpers.
+  * Accept using several persistent media with custom-ov label.
+  * Use same device backing path as used in other places.
+  * Close unused LUKS devices in all cases.
+
+  [ Daniel Baumann ]
+  * Adjusting mount calls when using nfs options (Closes: #667435).
+
+  [ Tails developers ]
+  * Refactor live-boot argument parser from live into live-helpers.
+  * Refactor some global variables from live into live-helpers.
+  * Refactor find_persistent_media().
+  * Add support for probing partitions' GPT name just like filesystem
+    labels.
+  * Some minor cleanups.
+  * Handle already mounted devices and closing of unused luks devices
+    better.
+  * Add backwards compatibility for old labels: live-{rw,sn} and home-
+    rw.
+  * We don't black list storage devices any more.
+  * Check if luks device is already open before trying to open it.
+  * Fixup some style issues.
+  * Refactor mounting of persistent storage media.
+  * Cleanup.
+  * Remove two FIXME:s that are not really relevant.
+  * Don't allow . or .. in live.persist paths.
+  * Use trim_path when we compare paths.
+  * Make handling of LUKS encrypted GPT partitions more sane.
+  * Handle list arguments better in get_custom_mounts().
+  * Copy ownership/perms from source to rw-branch in read-only mode.
+  * Change live.persist syntax to "SOURCE [DEST [OPTIONS...]]".
+  * Refactor closing of persistent devices upon failure.
+  * Create the source dir for custom mounts using the 'linkfiles'
+    option.
+  * Fix ownership/perms for created union/linkfiles source dirs.
+  * Do not allow mutually exclusive custom mount options.
+  * Add a note about a potential, future code simplification.
+  * Greatly simplify live.persist syntax to "DIR [OPTIONS...]".
+  * Make trim_path() handle "/", and arbitrarily many consecutive /:es.
+  * Make two custom mounts with nested source directories illegal.
+  * Improve error message.
+  * Remove cow dir contents that are in the way for custom mounts.
+  * Also create parents when creating union/linkfiles source
+    directories.
+  * Update live-boot(7) man page and add new one for live.persist(5).
+  * Delete existing files in the destination's path when creating it.
+  * Adding functions equivalent to chmod/chown --reference.
+  * Fix ownership for links created for linkfiles custom mounts.
+  * Add 'bind' option for the default behaviour of custom mounts (bind-
+    mount).
+  * Use trim_path() instead of custom sed stanza to trim /:es from
+    paths.
+  * Copy perms/ownership from source when creating linkfiles dest dirs.
+  * Make cases for all different custom mounting situations more
+    explicit.
+
+  [ Daniel Baumann ]
+  * Correcting left-over in author section of live.persist manpage.
+  * Moving initscript to live-config.
+
+ -- Daniel Baumann <daniel@debian.org>  Thu, 05 Apr 2012 08:14:51 +0200
+
+live-boot (3.0~a25-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Updating to debhelper version 9.
+
+  [ Michal Suchanek ]
+  * Add overlayfs support (Closes: #658265).
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 06 Feb 2012 23:27:38 +0100
+
 live-boot (3.0~a24-1+grml.2) grml-testing; urgency=low
 
   [ Ulrich Dangel ]
@@ -873,3 +1351,1171 @@ live-boot (2.0~a1-1) experimental; urgency=low
   * Initial release.
 
  -- Daniel Baumann <daniel@debian.org>  Mon, 24 May 2010 10:46:39 +0200
+
+live-initramfs (1.236.2-1) unstable; urgency=medium
+
+  * Removing spurious '+' when making debconf db read-only (Closes:
+    #581808).
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 18 May 2010 06:51:31 +0200
+
+live-initramfs (1.236.1-1) unstable; urgency=low
+
+  * Merging casper 1.216.
+  * Merging casper 1.217.
+  * Merging casper 1.218.
+  * Merging casper 1.219.
+  * Merging casper 1.220.
+  * Merging casper 1.221.
+  * Merging casper 1.222.
+  * Merging casper 1.223.
+  * Merging casper 1.224.
+  * Merging casper 1.225.
+  * Merging casper 1.226.
+  * Merging casper 1.227.
+  * Merging casper 1.228.
+  * Merging casper 1.229.
+  * Merging casper 1.230.
+  * Merging casper 1.231.
+  * Merging casper 1.232.
+  * Merging casper 1.233.
+  * Merging casper 1.234.
+  * Merging casper 1.235.
+  * Merging casper 1.236.
+
+ -- Daniel Baumann <daniel@debian.org>  Sun, 16 May 2010 06:03:01 +0200
+
+live-initramfs (1.215.1-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Merging casper 1.200.
+  * Merging casper 1.201.
+  * Merging casper 1.202.
+  * Merging casper 1.203.
+  * Merging casper 1.204.
+  * Merging casper 1.205.
+  * Merging casper 1.206.
+  * Merging casper 1.207.
+  * Merging casper 1.208.
+  * Merging casper 1.209.
+  * Merging casper 1.210.
+  * Merging casper 1.211.
+  * Merging casper 1.212.
+  * Merging casper 1.213.
+  * Merging casper 1.214.
+  * Merging casper 1.215.
+
+  [ Steven Shiau ]
+  * No timeout as running ipconfig for network booting.
+
+ -- Daniel Baumann <daniel@debian.org>  Sun, 02 May 2010 15:52:01 +0200
+
+live-initramfs (1.199.1-1) unstable; urgency=low
+
+  * Updating maintainer field.
+  * Merging casper 1.178.
+  * Merging casper 1.179.
+  * Merging casper 1.180.
+  * Merging casper 1.181.
+  * Merging casper 1.182.
+  * Merging casper 1.183.
+  * Merging casper 1.184.
+  * Merging casper 1.185.
+  * Merging casper 1.186.
+  * Merging casper 1.187.
+  * Merging casper 1.188.
+  * Merging casper 1.189.
+  * Merging casper 1.190.
+  * Merging casper 1.191.
+  * Merging casper 1.192.
+  * Merging casper 1.193.
+  * Move dummy start target in initscript.
+  * Merging casper 1.194.
+  * Merging casper 1.195.
+  * Merging casper 1.196.
+  * Merging casper 1.197.
+  * Merging casper 1.198.
+  * Merging casper 1.199.
+
+ -- Daniel Baumann <daniel@debian.org>  Fri, 30 Apr 2010 19:19:23 +0200
+
+live-initramfs (1.177.2-1) unstable; urgency=low
+
+  [ Marco Amadori ]
+  * Do not specify 'noxino' between directories.
+
+  [ Michael Prokop ]
+  * Support bootoptions ethdevice and ethdevice-timeout for specifying
+    from which device you want to boot from and using which timeout
+    (being 30 seconds if unconfigured), if ethdevice is not specified
+    try to get a working network configuration for each existing network
+    device.
+  * Prefer removable devices over non-removable devices, so scan them
+    first.
+  * Support unusual device names like /dev/cciss/c0d0p1 in isofrom
+    bootoption.
+  * Do not leak modprobe options to avoid booting errors with kernel
+    options like libata.dma=0.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 05 Apr 2010 10:07:12 +0200
+
+live-initramfs (1.177.1-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Removing etch compatibility.
+  * Merging casper 1.174.
+  * Adding proper code comments about vol_id removal.
+  * Merging casper 1.175.
+
+  [ Steven Shiau ]
+  * Making select_eth_device work with 2nd NIC linked only and FETCH
+    assigned.
+  * Moving select_eth_device from init-premount to live-premount where
+    "udevadm" commands are not required.
+
+  [ Daniel Baumann ]
+  * Merging casper 1.176.
+  * Merging casper 1.177.
+  * Adding message to notify users when live-initramfs is falling back
+    to unionfs-fuse.
+  * Manually loading fuse when required.
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 17 Mar 2010 20:29:01 +0100
+
+live-initramfs (1.173.5-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Updating contact information in copyright file.
+  * Simplyfing initramfs triggers (Closes: #521129, #545842).
+  * Wrapping fields in control file.
+  * Using minimized rules file.
+  * Simplifying wording in bug-presubj file.
+
+  [ Andreas Teuchert ]
+  * Calling udevadm settle in scripts/init-premount/select_eth_device
+    (Closes: #570100).
+
+  [ Tanguy Ortolo ]
+  * Also respecting persistent-path parameter for snapshots (Closes:
+    #570162).
+
+ -- Daniel Baumann <daniel@debian.org>  Sun, 14 Mar 2010 23:27:57 +0100
+
+live-initramfs (1.173.4-1) unstable; urgency=low
+
+  * Only disabling kpersonalizer when using kde3, kde4 doesn't need that
+    hack.
+  * Correcting path in previous commit.
+  * Disabling kaboom (Closes: #556368).
+
+ -- Daniel Baumann <daniel@debian.127011.localhost>  Fri, 12 Mar 2010 18:21:00 +0100
+
+live-initramfs (1.173.3-1) unstable; urgency=low
+
+  * Using noxino instead of xino, as the latter is not supported by
+    aufs2 as we need to use it.
+
+ -- Daniel Baumann <daniel@debian.org>  Sat, 20 Feb 2010 16:16:46 +0100
+
+live-initramfs (1.173.2-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Updating homepage field in control.
+
+  [ amnesia ]
+  * Correcting live-media=removeable{,-usb} behaviour to match the
+    documented one.
+
+  [ Daniel Baumann ]
+  * Removing unionfs workaround for kernel versions << 2.6.22, not
+    usefull anymore.
+  * Mounting aufs layer with detached inode index, this solves the
+    'leaving unclean filesystem when using persistency' problem.
+  * Removing unused syncs in initscript.
+
+  [ Luigi Capriotti ]
+  * Skip loading usb modules when quickusbmodules parameter is
+    specified.
+
+ -- Daniel Baumann <daniel@debian.org>  Sat, 20 Feb 2010 11:55:41 +0100
+
+live-initramfs (1.173.1-1) unstable; urgency=medium
+
+  [ intrigeri ]
+  * Taking noprompt into account for USB flash drives as well.
+  * Restoring opt-in behavior for local swap partitions.
+
+  [ Daniel Baumann ]
+  * Updating package to debhelper 7.
+  * Updating package to standards 3.8.3.
+  * Don't use dh_clean in favour of dh_prep.
+
+  [ Luigi Capriotti ]
+  * Also allowing hook= to specify files inside the image through
+    file:// prefix.
+
+  [ Daniel Baumann ]
+  * Forwardporting and extending usage of rsync when booting with toram
+    based on a patch from Michael Prokop <mika@grml.org>.
+
+  [ Michael Prokop ]
+  * Adding support for isofrom/fromiso bootoption.
+
+  [ Daniel Baumann ]
+  * Adapting a patch from Michael Prokop <mika@grml.org> to set all
+    harddisk devices to read-only mode for forensics investigations.
+
+  [ Michael Prokop ]
+  * Adding support for ethdevice bootoption.
+
+  [ Daniel Baumann ]
+  * Merging casper 1.158.
+  * Merging casper 1.159.
+  * Merging casper 1.160.
+  * Merging casper 1.161.
+  * Merging casper 1.162.
+  * Merging casper 1.163.
+  * Merging casper 1.164.
+  * Merging casper 1.165.
+  * Merging casper 1.166.
+  * Merging casper 1.167.
+  * Merging casper 1.168.
+  * Merging casper 1.169.
+  * Merging casper 1.170.
+  * Merging casper 1.171.
+  * Merging casper 1.172.
+  * Merging casper 1.173.
+  * Adding skipconfig parameter to disable most customization.
+
+  [ Marco Amadori ]
+  * cpio snapshots: eval commands fix.
+
+  [ Daniel Baumann ]
+  * Updating defaults file of console-setup for squeeze, thanks to Jun
+    NOGATA <nogajun@gmail.com> (Closes: #560187).
+  * Adding explicit debian source version 1.0 until switch to 3.0.
+  * Adding select_eth_device script from Frederic Boiteux
+    <fboiteux@calistel.com>.
+  * Including rsync conditionally.
+  * Updating year in copyright file.
+  * Don't panic with persistency when we can't correctly mount the
+    filesystem (Closes: #565456).
+
+  [ Ben Armstrong ]
+  * Correcting keyboard handling for squeeze.
+  * Only edit usplash init script if it exists.
+  * Use klayout= for layout instead of kbd=.
+
+  [ Daniel Baumann ]
+  * Updating to standards version 3.8.4.
+
+ -- Daniel Baumann <daniel@debian.org>  Sun, 31 Jan 2010 16:44:08 +0100
+
+live-initramfs (1.157.4-2) unstable; urgency=high
+
+  [ Michael Prokop ]
+  * Avoid the use of fstype in a running live system, as it's
+    a executable and not a shell function and causes problems
+    for example within live-snapshot.
+  * Switch from vol_id to blkid if using udev >=146-1 (Closes: #555529).
+
+  [ Tzafrir Cohen ]
+  * Adjusting grep call in is_nice_device to match new output of vol_id.
+
+ -- Daniel Baumann <daniel@debian.org>  Sat, 21 Nov 2009 19:07:41 +0100
+
+live-initramfs (1.157.4-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * Forcing run of dexconf when booting with xdriver=dexconf.
+  * Adding (experimental) forcepersistentfsck bootoption to force fsck
+    on root persistency device.
+  * Adding presubj for reportbug.
+  * Removing unused sed call in update target of Makefile.
+  * Updating included languagelist from d-i.
+  * Correcting install calls for reportbug files in rules.
+  * Including d-i languagelist in initrd in order evaluate l10n
+    settings.
+  * Updating lang2locale(); to match new d-i langualgelist format.
+  * Adding additional two sync calls before powerof happens in order to
+    deal with 'does not cleanly unmount' problem when using root
+    persistency.
+  * Updating vcs fields.
+  * Adding auto value for xvideomode where we ensure that no
+    configuration from the persistency layer is respected.
+
+  [ Marco Amadori ]
+  * Fixed FIXME sections in manpages.
+
+  [ Daniel Baumann ]
+  * Including udev binaries in initramfs manually for squeeze and newer
+    (Closes: #547149).
+  * Applying patch from Holger Brunn <holger.brunn@web.de> to live-
+    media-path when toram is used (Closes: #534878).
+  * Simplyfing and correcting udev inclusion in initramfs hook.
+
+ -- Daniel Baumann <daniel@debian.org>  Sun, 18 Oct 2009 20:29:31 +0200
+
+live-initramfs (1.157.3-1) unstable; urgency=low
+
+  [ Daniel Baumann ]
+  * Initial commit for having support for swapfiles.
+  * Initial commit for having support for persistency on luks.
+
+  [ Marco Amadori ]
+  * Partition snapshots works again.
+  * Added "whole partition" snapshot resync type.
+  * Two return code consistency fix.
+  * Improved an useful debug string.
+  * Cleaned a bit the snapshot feature.
+
+  [ Steven Shiau ]
+  * Making fetch to work with file on sub dir on tftp server.
+
+  [ Daniel Baumann ]
+  * Avoiding echo bashism in live-initramfs.init by using printf instead
+    (Closes: #530128).
+  * Correcting wrong path when disabling anacron in 25configure_init,
+    thanks to Rui Bernardo <rui.bernardo.pt@gmail.com> (Closes:
+    #533046).
+  * Removing disabling of postfix in 25configure_init, it's not
+    appropriate for debian to do this by default. Thanks to Rui Bernardo
+    <rui.bernardo.pt@gmail.com>.
+  * Correcting typo in description of the ip boot parameter in live-
+    initramfs manpage, thanks to Philippe Leledy <debian@leledy.fr>
+    (Closes: #532471).
+
+  [ Marco Amadori ]
+  * Removed two bashisms on live-snapshot.
+
+  [ Daniel Baumann ]
+  * Correcting wrong abort logic in 21xdriver, thanks to Luigi Capriotti
+    <l.capriotti@xbmc.org>.
+
+  [ Luigi Capriotti ]
+  * Fixing possible invalid results from function where_is_mounted by
+    returning more than one line inwhere_is_mounted();.
+  * Fixing relaxed permissions of / in the live filesystem.
+  * Fixing invalid mangling of /etc/event.d/tty.
+  * Fixing typo in snapshot file list.
+
+  [ Daniel Baumann ]
+  * Correcting cryptsetup calls for persistency on luks.
+  * Copy live-installer-launcher desktop icon on users desktop.
+  * Also updating USB device detection in initramfs script for linux
+    2.6.29 and newer.
+  * Adding missing pipe in cryptsetup call for persistency on luks
+    partitions.
+  * Making plainroot work (Closes: #523120).
+
+  [ Marco Amadori ]
+  * persistent=nofiles fix (Closes: 522383).
+
+  [ Daniel Baumann ]
+  * Looking for persistency partitions on luks devices only if we boot
+    with persistent=cryptsetup.
+  * Fail early in gnome-panel-data bottom script if gnome-panel-data is
+    not installed.
+  * Optimizing gnome-panel-data bottom script by leaving out the stupid
+    things.
+
+  [ Richard Nelson ]
+  * Allow for multiple but unique persistent media.
+
+ -- Daniel Baumann <daniel@debian.org>  Fri, 04 Sep 2009 13:37:57 +0200
+
+live-initramfs (1.157.2-1) unstable; urgency=medium
+
+  * Correcting fstab handling to not always append entries forever when using
+    persistency.
+  * Correcting kdm live-autologin handling to not always append entries forever
+    when using persistency.
+  * Correcting handling of locale default and environment handling to not always
+    append entries forever when using persistency.
+  * Correcting swap partition handling in fstab to not always append entries
+    forever when using persistency.
+  * Applying patch from Michael Prokop <mika@grml.org> to support udev >= 0.140.
+  * Merging swap live-bottom script into fstab script; there is no other sane
+    possibility to prevent appending again and again in persistent mode.
+  * Making sure that old swap entries are removed before new ones are added.
+  * Adding cryptsetup to recommends, it's used for encrypted persistent
+    partitions.
+  * Restoring previous behaviour of ejecting the cd when being in non-persistent
+    mode, thanks to Julien Cristau <jcristau@debian.org>.
+  * Updating eject prevention for USB devices in initscripts for linux 2.6.29
+    and newer.
+
+ -- Daniel Baumann <daniel@debian.org>  Thu, 14 May 2009 10:00:00 +0200
+
+live-initramfs (1.157.1-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * Only snapshotting in initscript when we actually run with persistence.
+
+  [ Rene Mayrhofer ]
+  * Checking if /var/log is writable before trying to copy live.log to the newly
+    mounted root filesystem (Closes: #516914).
+
+  [ Daniel Baumann ]
+  * Improving check in 21xdriver when we don't do anything.
+  * Adding hack to remove live specific filesystems from umounfs initscript
+    (Closes: #506410, #515718).
+  * Adding comsetic line wrapping for output of local-gen messages during boot.
+  * Merging casper 1.157.
+  * Only calling install-keymap if it's actually installed, which is always but
+    in minimal images the case though (Closes: #517153).
+  * Adding silent boot parameter.
+  * Respecting media timeout even when specificing media device manually.
+  * Also allowing to use the removable keyword for specifying a live media.
+  * Correcting accidental syntax error in one of the previous commits in
+    19keyboard bottom script.
+  * Adding removable-usb keyword to further restrict live media selection.
+  * Correcting check for usb when using removable-usb keyword.
+  * Correcting typo in locale bottom script.
+
+ -- Daniel Baumann <daniel@debian.org>  Sat, 21 Mar 2009 14:00:00 +0100
+
+live-initramfs (1.156.1-1) unstable; urgency=high
+
+  [ Daniel Baumann ]
+  * Revert using debhelper 7 command in rules.
+  * Updating copyright file.
+  * Prefixing debhelper files with package name.
+  * Updating bug script.
+  * Removing bashism in initscript.
+  * Usage of dialog in initscript is not actually a todo.
+  * Correcting medium eject message in initscript.
+  * Making medium removal message working again with usplash.
+  * Rewrapping init script.
+  * Reordering rules file.
+  * Merging casper 1.155.
+  * Adding ext4 support.
+  * Merging casper 1.156.
+  * Correct eject login in initscript.
+  * Updating parameters.txt.
+
+  [ Ronny Standtke ]
+  * Do not eject USB flash drives (Closes: #457070).
+
+ -- Daniel Baumann <daniel@debian.org>  Sun,  8 Feb 2009 15:00:00 +0100
+
+live-initramfs (1.154.8-1) unstable; urgency=high
+
+  [ Kai Hendry ]
+  * Adding basic xrandr support for lenny to enforce a particular
+    resolution through bootparameter.
+
+ -- Daniel Baumann <daniel@debian.org>  Fri, 30 Jan 2009 00:00:00 +0100
+
+live-initramfs (1.154.7-1) unstable; urgency=medium
+
+  * Adding note about URL limitations in live-initramfs manpage when
+    using fetch parameter.
+  * Removing wc from hook again, that's an ubuntu only problem they have
+    to care about.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 27 Jan 2009 18:00:00 +0100
+
+live-initramfs (1.154.6-1) unstable; urgency=medium
+
+  * Replacing casper with live in live-new-uuid.
+  * Including wc in initramfs (Closes: #512413).
+  * Added missing variable quoting that lead to broken root persistence, thanks
+    to Thierry Walrant <debian.tgc@walrant.net> (Closes: #512656).
+  * Adding patch from Thierry Walrant <debian.tgc@walrant.net> to allow setting
+    a path for the persistence files through persistent-path boot parameter
+    (Closes: #512661).
+  * Adding persistent-path to parameter list and manpage.
+  * Actually building/cleaning manpages through targets in Makefile.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 26 Jan 2009 02:00:00 +0100
+
+live-initramfs (1.154.5-1) unstable; urgency=low
+
+  * Also checking for wicd in 23networking, thanks to Ben Armstrong
+    <synrg@debian.org>.
+  * Don't redirect output of fstype detection to standard out, thanks to Ronny
+    Standtke <Ronny.Standtke@gmx.net>.
+  * Silencing grep call on /etc/passwd.
+  * Silencing xorg reconfiguration, thanks to Ronny Standtke
+    <Ronny.Standtke@gmx.net>.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 12 Jan 2009 13:00:00 -0500
+
+live-initramfs (1.154.4-1) unstable; urgency=low
+
+  [ Rene Mayrhofer ]
+  * Support further checks on loopback image and support skipping union
+    mounts (Closes: #509446).
+
+ -- Daniel Baumann <daniel@debian.org>  Fri, 26 Dec 2008 09:00:00 +0100
+
+live-initramfs (1.154.3-1) unstable; urgency=medium
+
+  * Sourcing live.vars in 21xdriver and 21xvidemode in order to be able
+    to set variables in previous bottom scripts.
+
+ -- Daniel Baumann <daniel@debian.org>  Sat, 20 Dec 2008 15:00:00 +0100
+
+live-initramfs (1.154.2-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * Updating authors file.
+
+  [ Marco Amadori ]
+  * Reworked integrity-check (Closes: #507477).
+  * Cleaned the boot log a bit.
+
+ -- Daniel Baumann <daniel@debian.org>  Thu, 11 Dec 2008 06:00:00 +0100
+
+live-initramfs (1.154.1-1) unstable; urgency=low
+
+  * Merging casper 1.140-1.154.
+  * Add a warning message when no image can be found.
+  * Adding a panic message when we netboot and have no supported network
+    device (Closes: #496684).
+  * Turning 'no supported filesystem images found' into a panic message,
+    rather than a warning.
+  * Also adding ralink to network device check.
+  * Removing spurious 'livefs_root' in copy_live_to();.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 25 Nov 2008 12:00:00 +0100
+
+live-initramfs (1.139.1-4) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Remove (accidental?) debian/changelog entry.
+  * Use "grep -qs" over "grep -q" for compatibility (see grep(1))
+  * Use "test -s" instead of testing file availability and size.
+  * Be consistent in using 0/1 for True/False values instead of English
+    representations.
+  * Reflow some grammar in comments and in live-initramfs(7).
+  * Reflow long 'tr'-based pipelines for readability.
+  * Don't "cat |" to grep.
+
+  [ Daniel Baumann ]
+  * Replacing obsolete dh_clean -k with dh_prep.
+
+  [ Marco Amadori ]
+  * Changed HOSTNAME and /etc/hosts handling.
+  * Conditional creation of /etc/fstab.
+  * live-snapshot: fixed include-list handling.
+  * Reordered persistence lookups and boundaries (Closes: #500672).
+  * Search for partition labels only (Closes: #486469).
+  * Implemented a snapshot exclude list.
+  * Implemented a persistence exclude list.
+  * Manpage clarifications on "nofiles".
+  * Do not pollute the logs when looking for swap partitions.
+  * Removed all "cat | grep", with grep, awk and sed.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 11 Nov 2008 13:00:00 +0100
+
+live-initramfs (1.139.1-3) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Remove local overiddes of log_*_msg - #494257 is now fixed in testing.
+
+  [ Daniel Baumann ]
+  * Removing currently unused Upstream-Depends field in control.
+  * Updating vcs fields in control file.
+  * Sourcing live.vars in 15autologin directly, rather than to inherit
+    from live-functions.
+
+  [ Marco Amadori ]
+  * Removed some useless spaces.
+  * Fix default user handling.
+  * Added a pretty vital mount debug string.
+  * Create /etc/mtab on the initramfs ASAP.
+  * Removed mount -n option, since mtab is there.
+  * Re-enable "break=live-premount" debug.
+  * Skipped some runtime duplicated execution.
+  * Add real cpio to initramfs for snapshot's uses.
+  * Fixed try_snap() umounting on error.
+  * Override maybe_break from initramfs-tools.
+  * Forces use of initramfs cpio over busybox's one.
+  * Fixed a wrong trial to copy an unexistant snapshot.
+  * Check for files and umount only if you can mount it first.
+  * Included more debug and comments on persistence code.
+  * Set -u in live-snapshot only in debug mode.
+
+  [ Michael Prokop ]
+  * Ignore errors from fstype.
+
+ -- Daniel Baumann <daniel@debian.org>  Fri, 19 Sep 2008 14:00:00 +0200
+
+live-initramfs (1.139.1-2) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * If the filesystem type of the rootfs cannot be automatically detected, we
+    try to assume it from the extension of the imagefile we have found. Thanks
+    to Jordi Pujol <jordi_pujol@telefonica.net> (Closes: #460456).
+  * Setting project email address to the new debian-live@lists.debian.org.
+  * Disabling default usage of local swap partitions. Can be enabled with the
+    'swapon' boot parameter. Thanks to Joseph Rawson <umeboshi3@gmail.com> for
+    bringing it up.
+
+  [ Michal Suchanek ]
+  * Enabling the "remove CD" prompt in splashy.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  1 Sep 2008 00:00:00 +0200
+
+live-initramfs (1.139.1-1) unstable; urgency=medium
+
+  [ Ben Voui ]
+  * Adding support for Virtio vd[a-z] drives.
+
+  [ Chris Lamb ]
+  * Move loop-aes-tools to Suggests; live-helper should install them if
+    required.
+  * Remove unnecessary indentation level.
+  * Modify hiding of harmless X.org reconfiguring messages.
+  * Revert to using uid 1000 as PAM bug seems to have disappeared
+    (Closes: #433076)
+  * Hide error from attempting to "mount --move"
+  * Rework ugly `echo "debug:..` message to use log_{begin,end}_msg.
+  * Don't configure X.org if it's not installed.
+  * Fix check for X.org.
+  * Add an /etc/fstab to the initramfs to silence harmless "empty fstab"
+    warnings.
+  * Silence another "script-not-executable" message for a sourced library.
+  * Add missing pipe. Thanks to Andreas Bombe.
+  * Shamefully adding myself to CREDITS
+  * Tidy "Disabling update-initramfs" message.
+  * Re-order some commands so we don't call log_begin_msg without calling
+    log_end_msg.
+  * Don't configure X when /usr/bin/X does not exist.
+  * Silence 'script-not-executable' lintian warning - live-functions script is
+    always sourced.
+  * Fix spacing in swirl.
+  * Override log_*_msg to print nicer status text (until #494257 is merged).
+  * Hide "overwriting possibly-customised configuration file" in X.org setup
+    output.
+  * Hide "Shadow passwords are now on" status message on bootup.
+  * Remove a number of "${quiet}" checks - they are repeated in the log_*_msg
+    functions.
+  * Rework locale handling
+  * Print friendly error message on live-initramfs panic.
+  * Fix path issue with live-preseed causing noisy errors when booting.
+  * Silence a number of annoying and distracting bootup messages.
+  * Add missing "log_end_msg" to live-bottom/21xdriver.
+  * Set different log messages for live-bottom/21{xdriver,xvidemode}.
+  * Remove trailing "..." from calls to log_begin_msg - they get added anyway.
+  * Move some arch-indep helper utilities to Build-Depends-Indep.
+  * Set default cow_mountopt where the other defaults are used.
+  * Don't use /sbin/losetup to test for '-r' option when the scripts just use
+    "lostup"
+
+  [ Daniel Baumann ]
+  * Updating authors file.
+  * Merging casper 1.139.
+  * Not going over the top with exclamation marks in the panic message.
+  * Updating credits file.
+  * Slightely adjusting to the more widespread used ascii swirl.
+  * Merging casper 1.138.
+  * Merging casper 1.137.
+
+  [ Marco Amadori ]
+  * Added "-n" option to all mount commands, thanks to Peter Holik
+    <peter@holik.at> for pointing this out.
+  * Be sure that the discovered filesystem is not null.
+  * The list of supported filesytems goes dynamic.
+  * Added ntfs filesystem to the initramfs.
+
+  [ Michael Prokop ]
+  * Move sourcing of live-functions in 38disable_restricted_manager to correct
+    place.
+
+  [ Steven Shiau ]
+  * Adding support for using tftp in fetch= parameter.
+  * Another fix about using udevsettle or "udevadm settle".
+
+ -- Daniel Baumann <daniel@debian.org>  Sun, 24 Aug 2008 00:00:00 +0200
+
+live-initramfs (1.136.3-1) unstable; urgency=medium
+
+  [ Michael Prokop ]
+  * Make sure mounting /cow-tmpfs provides mount options.
+
+ -- Daniel Baumann <daniel@debian.org>  Fri, 18 Jul 2008 00:00:00 +0200
+
+live-initramfs (1.136.2-1) unstable; urgency=medium
+
+  * Replacing previous imperfect changes for udevadm with check for
+    udevadm and using old commands when beeing on etch. Also handling
+    udevtrigger with udevadm if available.
+  * Correcting httpfs2 inclusion in hook.
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 16 Jul 2008 00:00:00 +0200
+
+live-initramfs (1.136.1-1) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Fix call to log_warning_msg. Thanks to Bradley Smith
+    <brad@brad-smith.co.uk>.
+  * Expand glob for kernels in post{inst,rm} to include "vmlinux"-prefixed
+    kernels on powerpc.
+  * Check losetup capabilities before specifying to mount as read-only.
+  * Modprobe 'esp' SCSI driver for the benefit of sparc.
+  * Quieten call to modprobe ide-generic.
+  * Move local-top/live to live-premount/modules so it gets called before
+    find_livefs.
+  * Sync bug script "dpkg -l" calls with debian/control
+
+  [ Daniel Baumann ]
+  * Defaulting now to aufs if no union= parameter is given.
+  * Merging casper version 1.136.
+  * Merging casper version 1.135.
+  * Merging casper version 1.134.
+  * Merging casper version 1.133.
+  * Converting udev depends into a versioned depends in order to reflect udevadm
+    introduction.
+  * Updating live-snapshot to GPL-3+.
+  * Updating to standards 3.8.0.
+  * Renaming forgotton uuid file to live-uuid.
+
+  [ Marco Amadori ]
+  * udevtrigger replacement.
+  * live-snapshot: fixed the remount helper.
+  * live-snapshot: now supports a static keep file list.
+  * Try to bind /cow to /live/cow if unable to move.
+  * live-snapshot: cleaned some wordings.
+  * live-snapshot: included vital informations on exit.
+  * live-snapshot: new "--refresh" option.
+  * live-snapshot: cleaned and sorted used command line defaults.
+  * live-snapshot: nicer default auto unmount logic.
+  * live-snapshot: honour "-o|--output FILE".
+  * live-snapshot: removed a useless mkdir.
+  * live-snapshot: removed an unused and useless function.
+  * live-snapshot: fixes snapshotting from resync string.
+
+  [ Michal Suchanek ]
+  * Add support for httpfs= and ftpfs= parameters.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 14 Jul 2008 00:00:00 +0200
+
+live-initramfs (1.132.1-1) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Don't escape asterisks in languagelist update code
+
+  [ Daniel Baumann ]
+  * Updating copyright header in live-snapshot.
+  * Removing useless whitespaces and empty lines.
+  * Correcting grammatical errors in live-snapshot description.
+  * Removing live-snapshot version as this component is always released
+    within live-initramfs itself.
+  * Adding Michal Suchanek <hramrach@centrum.cz> to credits file.
+  * Merging casper 1.132.
+  * Merging casper 1.131.
+  * Ignoring floppy devices for live filesystem as well as live
+    persistency.
+  * Adding patch from Michal Suchanek <hramrach@centrum.cz> to tail
+    live.log and show its messages during boot (Closes: #440238).
+  * Updating vcs fields in control file.
+  * Handling conflicting klibc includes with initramfs-hooks of other
+    packages (Closes: 475783).
+
+  [ Marco Amadori ]
+  * Fixes "live-snapshot on reboot could not find a writable '/tmp' or
+    '/mnt'" bug.
+  * Calling live-snapshot now produces an output file.
+
+  [ Michal Suchanek ]
+  * Workaround loop-aes-utils losetup incompatibility
+  * Fix toram (change mount --move to mount -o move)
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 02 Jun 2008 00:00:00 +0200
+
+live-initramfs (1.130.1-3) unstable; urgency=high
+
+  * Handle non-existing klibc includes in live hook (Closes: #475783).
+  * Adding loop-aes-utils to recommends.
+
+ -- Daniel Baumann <daniel@debian.org>  Sat, 26 Apr 2008 16:00:00 +0200
+
+live-initramfs (1.130.1-2) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Remove bogus dependency on Ubuntu "localechooser-data" package
+
+ -- Daniel Baumann <daniel@debian.org>  Thu, 17 Apr 2008 06:00:00 +0200
+
+live-initramfs (1.130.1-1) unstable; urgency=medium
+
+  [ Chris Lamb ]
+  * Use triggers when calling update-initramfs in postinst and postrm
+
+  [ Daniel Baumann ]
+  * Sorting some lines in live hook.
+  * Merging casper 1.130.
+  * Merging casper 1.129.
+  * Adjusting code formating in maintainer scripts.
+  * Restricting counting of installed kernels based on /boot/vmlinuz-*
+    instead of /boot/vmlinuz*.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 14 Apr 2008 00:00:00 +0200
+
+live-initramfs (1.128.1-1) unstable; urgency=medium
+
+  [ Marco Amadori ]
+  * Fixed a misleading debug message.
+  * Added /cow mounting debug messages.
+  * Fixed /cow mounting.
+  * Klibc: added some libraries to the intramfs.
+
+  [ Daniel Baumann ]
+  * Merging casper 1.128.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  7 Apr 2008 00:00:00 +0200
+
+live-initramfs (1.127.1-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * Merging casper 1.127.
+  * Merging casper 1.126.
+  * Removing too early recommends to live-initscripts in control to make
+    some people happy (Closes: #431000).
+
+  [ Chris Lamb ]
+  * hooks/live, scripts/live: Add USB modules, workaround udevtrigger
+    (?) bug
+  * scripts/live-helpers: Don't search ram block devices
+  * scripts/live-helpers: Search / use case
+  * scripts/live-helpers: Fixes for set -e
+  * bin/live-snapshot: Vastly rework script
+  * bin/live-snapshot: Fix argument handling (Closes: #461595)
+  * scripts/live: Make 'nopersistent' parameter actually disable
+    persistence
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 31 Mar 2008 00:00:00 +0200
+
+live-initramfs (1.125.1-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * Merging casper 1.125.
+
+  [ Chris Lamb ]
+  * scripts/live-helpers: Cosmetic changes to loop-aes passphrase prompt
+  * Rename 18hostname -> 06hostname
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 24 Mar 2008 00:00:00 +0100
+
+live-initramfs (1.124.1-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * Adjusting live-snapshot to live-initramfs.
+  * Merging casper 1.124.
+  * Adjusting 44pk_allow to live-initramfs.
+  * Merging casper 1.123.
+  * Merging casper 1.122.
+  * Merging casper 1.121.
+  * Merging casper 1.120.
+
+  [ Chris Lamb ]
+  * 99hook: Download hook script from inside target filesystem
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 17 Mar 2008 00:00:00 +0100
+
+live-initramfs (1.119.1-1) unstable; urgency=medium
+
+  * Creating resolv.conf when netbooting not just when there's no
+    resolv.conf, but also when it is empty.
+  * Making hooks executable after fetching them.
+  * Removing disabling of kwallet.
+  * Merging casper 1.119.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 10 Mar 2008 00:00:00 +0100
+
+live-initramfs (1.118.2-1) unstable; urgency=medium
+
+  [ Andrey Asadchev ]
+  * Explicitly set Xorg video driver.
+  * Patch to use cryptsetup volumes for persistent storage.
+
+  [ Daniel Baumann ]
+  * New upstream release.
+  * Fixing wrong email address in changelog (was bug in git-dch config).
+  * Bumping package to policy 3.7.3.
+  * Rewriting copyright in machine-interpretable format.
+  * Adding hook parameter to execute custom scripts.
+  * Adding plainroot.
+
+  [ Marco Amadori ]
+  * Now it includes lzma kernel module dependencies.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  3 Mar 2008 00:00:00 +0100
+
+live-initramfs (1.118.1-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * New upstream release.
+  * Adding direct depends to udev, thanks to Anton Lundin
+    <glance@acc.umu.se> (Closes: #452448).
+  * Merging casper 1.111.
+  * Bumping version to 1.110.1-1.
+  * Merging casper 1.112.
+  * Merging casper 1.113.
+  * Adjusting to live-initramfs.
+  * Bumping version to 1.113.1-1.
+  * Merging casper 1.114.
+  * Merging casper 1.115.
+  * Merging casper 1.116.
+  * Merging casper 1.117.
+  * Merging casper 1.118.
+  * Bumping version to 1.118.1-1.
+
+  [ Otavio Salvador ]
+  * debian: add mtd-tools as suggestion since it's required for jffs2
+    support
+  * hooks: include jffs2 kernel module on initramfs image
+  * live-snapshot: add support to use jffs2 images
+  * live: add support for jffs2 images and snapshots
+  * live-helpers: add jffs2 as a valid image
+  * live-snapshot.en.1: add ext3 and jffs2 images as valid options
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 26 Feb 2008 13:35:00 +0100
+
+live-initramfs (1.110.7-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Fixing fstab handling.
+  * Fixing regression from mounting the ow device on a nfs volume,
+    thanks to An-Cheng Huang <ancheng@vyatta.com>.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 19 Nov 2007 00:00:00 +0100
+
+live-initramfs (1.110.6-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Preparing live-initramfs 1.110.6-1.
+  * Adding custom reportbug script.
+  * Fixed a few bashisms, thanks to Trent W. Buck <trentbuck@gmail.com>.
+  * Adding checkbashsms call to test target of the Makefile as suggested
+    by Trent W. Buck <trentbuck@gmail.com>.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 12 Nov 2007 00:00:00 +0100
+
+live-initramfs (1.110.5-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Preparing live-initramfs 1.110.5-1.
+  * Using kdm initscript autologin overrides, thanks to Kel Modderman
+    <kel@otaku42.de>.
+  * Setting the kdm language, thanks to Jordi Pujol
+    <jordi_pujol@telefonica.net>.
+  * Adding files to the live filesystem according to the MAC number,
+    thanks to Jordi Pujol <jordi_pujol@telefonica.net>.
+  * Fixing some coding style issues.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  5 Nov 2007 00:00:00 +0100
+
+live-initramfs (1.110.4-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * New upstream release.
+  * Preparing live-initramfs 1.110.3-1.
+  * Correcting homepage field.
+  * Correcting vcs fields.
+
+  [ Jesse Hathaway ]
+  * add support for mounting the cow device on an nfs volume
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 29 Oct 2007 00:00:00 +0100
+
+live-initramfs (1.110.3-1) unstable; urgency=medium
+
+  [ Daniel Baumann ]
+  * New upstream release.
+  * Preparing live-initramfs 1.110.3-1.
+  * Removing ubuntu support.
+
+  [ Alex Owen ]
+  * Fix typo to get serial console to work
+
+  [ Jesse Hathaway ]
+  * add support for exposedroot option for live-helper
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 22 Oct 2007 00:00:00 +0200
+
+live-initramfs (1.110.2-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Preparing live-initramfs 1.110.2-1.
+  * Fixing typing error.
+  * Removing nodiratime as it is already included in noatime, thanks to Kel
+    Modderman <kel@otaku42.de>.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 15 Oct 2007 00:00:00 +0200
+
+live-initramfs (1.110.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Preparing live-initramfs 1.107.2-1.
+  * Also using nodiratime, not just noatime.
+  * Merging casper 1.108.
+  * Adjusting to live-initramfs.
+  * Merging casper 1.109.
+  * Adjusting to live-initramfs.
+  * Merging casper 1.110.
+  * Adjusting to live-initramfs.
+  * Bumping version to 1.110.1-1.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  8 Oct 2007 00:00:00 +0200
+
+live-initramfs (1.107.1-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Preparing live-initramfs 1.102.4-2.
+  * Replacing backticks with POSIX expression.
+  * Consistently using curly brackets for variables.
+  * Fixing bashism.
+  * Merging casper 1.105.
+  * Adjusting to live-initramfs.
+  * Bumping version to 1.105.1-1.
+  * Applied patch from Jesse W. Hathaway <jesse@mbuki-mvuki.org> to move
+    cow mount rather than binding it on /live/cow. This prevents the
+    /cow mount showing up in /proc/mounts.
+  * Merging casper 1.106.
+  * Adjusting to live-initramfs.
+  * Bumping version to 1.106.1-1.
+  * Fixing wrong homepage field.
+  * Fixing typing error.
+  * Merging casper 1.107.
+  * Bumping version to 1.107.1-1.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  1 Oct 2007 00:00:00 +0200
+
+live-initramfs (1.104.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 24 Sep 2007 00:00:00 +0200
+
+live-initramfs (1.102.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 17 Sep 2007 00:00:00 +0200
+
+live-initramfs (1.99.2-1) unstable; urgency=medium
+
+  * New upstream release:
+    - Contains patch from Jim Paris <jim@jtan.com> to fix wrong ipconfig usage
+      (Closes: #440235).
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 10 Sep 2007 00:00:00 +0200
+
+live-initramfs (1.99.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  3 Sep 2007 00:00:00 +0200
+
+live-initramfs (1.96.2-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 27 Aug 2007 00:00:00 +0200
+
+live-initramfs (1.96.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 20 Aug 2007 00:00:00 +0200
+
+live-initramfs (1.95.3-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 13 Aug 2007 00:00:00 +0200
+
+live-initramfs (1.95.2-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  6 Aug 2007 00:00:00 +0200
+
+live-initramfs (1.95.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 30 Jul 2007 00:00:00 +0200
+
+live-initramfs (1.91.6-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 23 Jul 2007 00:00:00 +0200
+
+live-initramfs (1.91.5-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 16 Jul 2007 00:00:00 +0200
+
+live-initramfs (1.91.4-1) unstable; urgency=medium
+
+  * New upstream release:
+    - Dropping transitional package, not needed anymore.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  9 Jul 2007 00:00:00 +0200
+
+live-initramfs (1.91.3-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  2 Jul 2007 00:00:00 +0200
+
+live-initramfs (1.91.2-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 25 Jun 2007 00:00:00 +0200
+
+live-initramfs (1.91.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 18 Jun 2007 00:00:00 +0200
+
+live-initramfs (1.90.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 11 Jun 2007 00:00:00 +0200
+
+live-initramfs (1.87.6-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  4 Jun 2007 00:00:00 +0200
+
+live-initramfs (1.87.5-1) unstable; urgency=medium
+
+  * New upstream release, replacing casper.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 28 May 2007 00:00:00 +0200
+
+live-initramfs (1.87.4-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 21 May 2007 00:00:00 +0200
+
+live-initramfs (1.87.3-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 14 May 2007 00:00:00 +0200
+
+live-initramfs (1.87.2-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon,  7 May 2007 00:00:00 +0200
+
+live-initramfs (1.87.1-1) unstable; urgency=low
+
+  * Initial release, forking casper.
+
+ -- Daniel Baumann <daniel@debian.org>  Mon, 30 Apr 2007 00:00:00 +0200
diff --git a/debian/changelog.old b/debian/changelog.old
deleted file mode 100644 (file)
index 508db1d..0000000
+++ /dev/null
@@ -1,1167 +0,0 @@
-live-initramfs (1.236.2-1) unstable; urgency=medium
-
-  * Removing spurious '+' when making debconf db read-only (Closes:
-    #581808).
-
- -- Daniel Baumann <daniel@debian.org>  Tue, 18 May 2010 06:51:31 +0200
-
-live-initramfs (1.236.1-1) unstable; urgency=low
-
-  * Merging casper 1.216.
-  * Merging casper 1.217.
-  * Merging casper 1.218.
-  * Merging casper 1.219.
-  * Merging casper 1.220.
-  * Merging casper 1.221.
-  * Merging casper 1.222.
-  * Merging casper 1.223.
-  * Merging casper 1.224.
-  * Merging casper 1.225.
-  * Merging casper 1.226.
-  * Merging casper 1.227.
-  * Merging casper 1.228.
-  * Merging casper 1.229.
-  * Merging casper 1.230.
-  * Merging casper 1.231.
-  * Merging casper 1.232.
-  * Merging casper 1.233.
-  * Merging casper 1.234.
-  * Merging casper 1.235.
-  * Merging casper 1.236.
-
- -- Daniel Baumann <daniel@debian.org>  Sun, 16 May 2010 06:03:01 +0200
-
-live-initramfs (1.215.1-1) unstable; urgency=low
-
-  [ Daniel Baumann ]
-  * Merging casper 1.200.
-  * Merging casper 1.201.
-  * Merging casper 1.202.
-  * Merging casper 1.203.
-  * Merging casper 1.204.
-  * Merging casper 1.205.
-  * Merging casper 1.206.
-  * Merging casper 1.207.
-  * Merging casper 1.208.
-  * Merging casper 1.209.
-  * Merging casper 1.210.
-  * Merging casper 1.211.
-  * Merging casper 1.212.
-  * Merging casper 1.213.
-  * Merging casper 1.214.
-  * Merging casper 1.215.
-
-  [ Steven Shiau ]
-  * No timeout as running ipconfig for network booting.
-
- -- Daniel Baumann <daniel@debian.org>  Sun, 02 May 2010 15:52:01 +0200
-
-live-initramfs (1.199.1-1) unstable; urgency=low
-
-  * Updating maintainer field.
-  * Merging casper 1.178.
-  * Merging casper 1.179.
-  * Merging casper 1.180.
-  * Merging casper 1.181.
-  * Merging casper 1.182.
-  * Merging casper 1.183.
-  * Merging casper 1.184.
-  * Merging casper 1.185.
-  * Merging casper 1.186.
-  * Merging casper 1.187.
-  * Merging casper 1.188.
-  * Merging casper 1.189.
-  * Merging casper 1.190.
-  * Merging casper 1.191.
-  * Merging casper 1.192.
-  * Merging casper 1.193.
-  * Move dummy start target in initscript.
-  * Merging casper 1.194.
-  * Merging casper 1.195.
-  * Merging casper 1.196.
-  * Merging casper 1.197.
-  * Merging casper 1.198.
-  * Merging casper 1.199.
-
- -- Daniel Baumann <daniel@debian.org>  Fri, 30 Apr 2010 19:19:23 +0200
-
-live-initramfs (1.177.2-1) unstable; urgency=low
-
-  [ Marco Amadori ]
-  * Do not specify 'noxino' between directories.
-
-  [ Michael Prokop ]
-  * Support bootoptions ethdevice and ethdevice-timeout for specifying
-    from which device you want to boot from and using which timeout
-    (being 30 seconds if unconfigured), if ethdevice is not specified
-    try to get a working network configuration for each existing network
-    device.
-  * Prefer removable devices over non-removable devices, so scan them
-    first.
-  * Support unusual device names like /dev/cciss/c0d0p1 in isofrom
-    bootoption.
-  * Do not leak modprobe options to avoid booting errors with kernel
-    options like libata.dma=0.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 05 Apr 2010 10:07:12 +0200
-
-live-initramfs (1.177.1-1) unstable; urgency=low
-
-  [ Daniel Baumann ]
-  * Removing etch compatibility.
-  * Merging casper 1.174.
-  * Adding proper code comments about vol_id removal.
-  * Merging casper 1.175.
-
-  [ Steven Shiau ]
-  * Making select_eth_device work with 2nd NIC linked only and FETCH
-    assigned.
-  * Moving select_eth_device from init-premount to live-premount where
-    "udevadm" commands are not required.
-
-  [ Daniel Baumann ]
-  * Merging casper 1.176.
-  * Merging casper 1.177.
-  * Adding message to notify users when live-initramfs is falling back
-    to unionfs-fuse.
-  * Manually loading fuse when required.
-
- -- Daniel Baumann <daniel@debian.org>  Wed, 17 Mar 2010 20:29:01 +0100
-
-live-initramfs (1.173.5-1) unstable; urgency=low
-
-  [ Daniel Baumann ]
-  * Updating contact information in copyright file.
-  * Simplyfing initramfs triggers (Closes: #521129, #545842).
-  * Wrapping fields in control file.
-  * Using minimized rules file.
-  * Simplifying wording in bug-presubj file.
-
-  [ Andreas Teuchert ]
-  * Calling udevadm settle in scripts/init-premount/select_eth_device
-    (Closes: #570100).
-
-  [ Tanguy Ortolo ]
-  * Also respecting persistent-path parameter for snapshots (Closes:
-    #570162).
-
- -- Daniel Baumann <daniel@debian.org>  Sun, 14 Mar 2010 23:27:57 +0100
-
-live-initramfs (1.173.4-1) unstable; urgency=low
-
-  * Only disabling kpersonalizer when using kde3, kde4 doesn't need that
-    hack.
-  * Correcting path in previous commit.
-  * Disabling kaboom (Closes: #556368).
-
- -- Daniel Baumann <daniel@debian.127011.localhost>  Fri, 12 Mar 2010 18:21:00 +0100
-
-live-initramfs (1.173.3-1) unstable; urgency=low
-
-  * Using noxino instead of xino, as the latter is not supported by
-    aufs2 as we need to use it.
-
- -- Daniel Baumann <daniel@debian.org>  Sat, 20 Feb 2010 16:16:46 +0100
-
-live-initramfs (1.173.2-1) unstable; urgency=low
-
-  [ Daniel Baumann ]
-  * Updating homepage field in control.
-
-  [ amnesia ]
-  * Correcting live-media=removeable{,-usb} behaviour to match the
-    documented one.
-
-  [ Daniel Baumann ]
-  * Removing unionfs workaround for kernel versions << 2.6.22, not
-    usefull anymore.
-  * Mounting aufs layer with detached inode index, this solves the
-    'leaving unclean filesystem when using persistency' problem.
-  * Removing unused syncs in initscript.
-
-  [ Luigi Capriotti ]
-  * Skip loading usb modules when quickusbmodules parameter is
-    specified.
-
- -- Daniel Baumann <daniel@debian.org>  Sat, 20 Feb 2010 11:55:41 +0100
-
-live-initramfs (1.173.1-1) unstable; urgency=medium
-
-  [ intrigeri ]
-  * Taking noprompt into account for USB flash drives as well.
-  * Restoring opt-in behavior for local swap partitions.
-
-  [ Daniel Baumann ]
-  * Updating package to debhelper 7.
-  * Updating package to standards 3.8.3.
-  * Don't use dh_clean in favour of dh_prep.
-
-  [ Luigi Capriotti ]
-  * Also allowing hook= to specify files inside the image through
-    file:// prefix.
-
-  [ Daniel Baumann ]
-  * Forwardporting and extending usage of rsync when booting with toram
-    based on a patch from Michael Prokop <mika@grml.org>.
-
-  [ Michael Prokop ]
-  * Adding support for isofrom/fromiso bootoption.
-
-  [ Daniel Baumann ]
-  * Adapting a patch from Michael Prokop <mika@grml.org> to set all
-    harddisk devices to read-only mode for forensics investigations.
-
-  [ Michael Prokop ]
-  * Adding support for ethdevice bootoption.
-
-  [ Daniel Baumann ]
-  * Merging casper 1.158.
-  * Merging casper 1.159.
-  * Merging casper 1.160.
-  * Merging casper 1.161.
-  * Merging casper 1.162.
-  * Merging casper 1.163.
-  * Merging casper 1.164.
-  * Merging casper 1.165.
-  * Merging casper 1.166.
-  * Merging casper 1.167.
-  * Merging casper 1.168.
-  * Merging casper 1.169.
-  * Merging casper 1.170.
-  * Merging casper 1.171.
-  * Merging casper 1.172.
-  * Merging casper 1.173.
-  * Adding skipconfig parameter to disable most customization.
-
-  [ Marco Amadori ]
-  * cpio snapshots: eval commands fix.
-
-  [ Daniel Baumann ]
-  * Updating defaults file of console-setup for squeeze, thanks to Jun
-    NOGATA <nogajun@gmail.com> (Closes: #560187).
-  * Adding explicit debian source version 1.0 until switch to 3.0.
-  * Adding select_eth_device script from Frederic Boiteux
-    <fboiteux@calistel.com>.
-  * Including rsync conditionally.
-  * Updating year in copyright file.
-  * Don't panic with persistency when we can't correctly mount the
-    filesystem (Closes: #565456).
-
-  [ Ben Armstrong ]
-  * Correcting keyboard handling for squeeze.
-  * Only edit usplash init script if it exists.
-  * Use klayout= for layout instead of kbd=.
-
-  [ Daniel Baumann ]
-  * Updating to standards version 3.8.4.
-
- -- Daniel Baumann <daniel@debian.org>  Sun, 31 Jan 2010 16:44:08 +0100
-
-live-initramfs (1.157.4-2) unstable; urgency=high
-
-  [ Michael Prokop ]
-  * Avoid the use of fstype in a running live system, as it's
-    a executable and not a shell function and causes problems
-    for example within live-snapshot.
-  * Switch from vol_id to blkid if using udev >=146-1 (Closes: #555529).
-
-  [ Tzafrir Cohen ]
-  * Adjusting grep call in is_nice_device to match new output of vol_id.
-
- -- Daniel Baumann <daniel@debian.org>  Sat, 21 Nov 2009 19:07:41 +0100
-
-live-initramfs (1.157.4-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * Forcing run of dexconf when booting with xdriver=dexconf.
-  * Adding (experimental) forcepersistentfsck bootoption to force fsck
-    on root persistency device.
-  * Adding presubj for reportbug.
-  * Removing unused sed call in update target of Makefile.
-  * Updating included languagelist from d-i.
-  * Correcting install calls for reportbug files in rules.
-  * Including d-i languagelist in initrd in order evaluate l10n
-    settings.
-  * Updating lang2locale(); to match new d-i langualgelist format.
-  * Adding additional two sync calls before powerof happens in order to
-    deal with 'does not cleanly unmount' problem when using root
-    persistency.
-  * Updating vcs fields.
-  * Adding auto value for xvideomode where we ensure that no
-    configuration from the persistency layer is respected.
-
-  [ Marco Amadori ]
-  * Fixed FIXME sections in manpages.
-
-  [ Daniel Baumann ]
-  * Including udev binaries in initramfs manually for squeeze and newer
-    (Closes: #547149).
-  * Applying patch from Holger Brunn <holger.brunn@web.de> to live-
-    media-path when toram is used (Closes: #534878).
-  * Simplyfing and correcting udev inclusion in initramfs hook.
-
- -- Daniel Baumann <daniel@debian.org>  Sun, 18 Oct 2009 20:29:31 +0200
-
-live-initramfs (1.157.3-1) unstable; urgency=low
-
-  [ Daniel Baumann ]
-  * Initial commit for having support for swapfiles.
-  * Initial commit for having support for persistency on luks.
-
-  [ Marco Amadori ]
-  * Partition snapshots works again.
-  * Added "whole partition" snapshot resync type.
-  * Two return code consistency fix.
-  * Improved an useful debug string.
-  * Cleaned a bit the snapshot feature.
-
-  [ Steven Shiau ]
-  * Making fetch to work with file on sub dir on tftp server.
-
-  [ Daniel Baumann ]
-  * Avoiding echo bashism in live-initramfs.init by using printf instead
-    (Closes: #530128).
-  * Correcting wrong path when disabling anacron in 25configure_init,
-    thanks to Rui Bernardo <rui.bernardo.pt@gmail.com> (Closes:
-    #533046).
-  * Removing disabling of postfix in 25configure_init, it's not
-    appropriate for debian to do this by default. Thanks to Rui Bernardo
-    <rui.bernardo.pt@gmail.com>.
-  * Correcting typo in description of the ip boot parameter in live-
-    initramfs manpage, thanks to Philippe Leledy <debian@leledy.fr>
-    (Closes: #532471).
-
-  [ Marco Amadori ]
-  * Removed two bashisms on live-snapshot.
-
-  [ Daniel Baumann ]
-  * Correcting wrong abort logic in 21xdriver, thanks to Luigi Capriotti
-    <l.capriotti@xbmc.org>.
-
-  [ Luigi Capriotti ]
-  * Fixing possible invalid results from function where_is_mounted by
-    returning more than one line inwhere_is_mounted();.
-  * Fixing relaxed permissions of / in the live filesystem.
-  * Fixing invalid mangling of /etc/event.d/tty.
-  * Fixing typo in snapshot file list.
-
-  [ Daniel Baumann ]
-  * Correcting cryptsetup calls for persistency on luks.
-  * Copy live-installer-launcher desktop icon on users desktop.
-  * Also updating USB device detection in initramfs script for linux
-    2.6.29 and newer.
-  * Adding missing pipe in cryptsetup call for persistency on luks
-    partitions.
-  * Making plainroot work (Closes: #523120).
-
-  [ Marco Amadori ]
-  * persistent=nofiles fix (Closes: 522383).
-
-  [ Daniel Baumann ]
-  * Looking for persistency partitions on luks devices only if we boot
-    with persistent=cryptsetup.
-  * Fail early in gnome-panel-data bottom script if gnome-panel-data is
-    not installed.
-  * Optimizing gnome-panel-data bottom script by leaving out the stupid
-    things.
-
-  [ Richard Nelson ]
-  * Allow for multiple but unique persistent media.
-
- -- Daniel Baumann <daniel@debian.org>  Fri, 04 Sep 2009 13:37:57 +0200
-
-live-initramfs (1.157.2-1) unstable; urgency=medium
-
-  * Correcting fstab handling to not always append entries forever when using
-    persistency.
-  * Correcting kdm live-autologin handling to not always append entries forever
-    when using persistency.
-  * Correcting handling of locale default and environment handling to not always
-    append entries forever when using persistency.
-  * Correcting swap partition handling in fstab to not always append entries
-    forever when using persistency.
-  * Applying patch from Michael Prokop <mika@grml.org> to support udev >= 0.140.
-  * Merging swap live-bottom script into fstab script; there is no other sane
-    possibility to prevent appending again and again in persistent mode.
-  * Making sure that old swap entries are removed before new ones are added.
-  * Adding cryptsetup to recommends, it's used for encrypted persistent
-    partitions.
-  * Restoring previous behaviour of ejecting the cd when being in non-persistent
-    mode, thanks to Julien Cristau <jcristau@debian.org>.
-  * Updating eject prevention for USB devices in initscripts for linux 2.6.29
-    and newer.
-
- -- Daniel Baumann <daniel@debian.org>  Thu, 14 May 2009 10:00:00 +0200
-
-live-initramfs (1.157.1-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * Only snapshotting in initscript when we actually run with persistence.
-
-  [ Rene Mayrhofer ]
-  * Checking if /var/log is writable before trying to copy live.log to the newly
-    mounted root filesystem (Closes: #516914).
-
-  [ Daniel Baumann ]
-  * Improving check in 21xdriver when we don't do anything.
-  * Adding hack to remove live specific filesystems from umounfs initscript
-    (Closes: #506410, #515718).
-  * Adding comsetic line wrapping for output of local-gen messages during boot.
-  * Merging casper 1.157.
-  * Only calling install-keymap if it's actually installed, which is always but
-    in minimal images the case though (Closes: #517153).
-  * Adding silent boot parameter.
-  * Respecting media timeout even when specificing media device manually.
-  * Also allowing to use the removable keyword for specifying a live media.
-  * Correcting accidental syntax error in one of the previous commits in
-    19keyboard bottom script.
-  * Adding removable-usb keyword to further restrict live media selection.
-  * Correcting check for usb when using removable-usb keyword.
-  * Correcting typo in locale bottom script.
-
- -- Daniel Baumann <daniel@debian.org>  Sat, 21 Mar 2009 14:00:00 +0100
-
-live-initramfs (1.156.1-1) unstable; urgency=high
-
-  [ Daniel Baumann ]
-  * Revert using debhelper 7 command in rules.
-  * Updating copyright file.
-  * Prefixing debhelper files with package name.
-  * Updating bug script.
-  * Removing bashism in initscript.
-  * Usage of dialog in initscript is not actually a todo.
-  * Correcting medium eject message in initscript.
-  * Making medium removal message working again with usplash.
-  * Rewrapping init script.
-  * Reordering rules file.
-  * Merging casper 1.155.
-  * Adding ext4 support.
-  * Merging casper 1.156.
-  * Correct eject login in initscript.
-  * Updating parameters.txt.
-
-  [ Ronny Standtke ]
-  * Do not eject USB flash drives (Closes: #457070).
-
- -- Daniel Baumann <daniel@debian.org>  Sun,  8 Feb 2009 15:00:00 +0100
-
-live-initramfs (1.154.8-1) unstable; urgency=high
-
-  [ Kai Hendry ]
-  * Adding basic xrandr support for lenny to enforce a particular
-    resolution through bootparameter.
-
- -- Daniel Baumann <daniel@debian.org>  Fri, 30 Jan 2009 00:00:00 +0100
-
-live-initramfs (1.154.7-1) unstable; urgency=medium
-
-  * Adding note about URL limitations in live-initramfs manpage when
-    using fetch parameter.
-  * Removing wc from hook again, that's an ubuntu only problem they have
-    to care about.
-
- -- Daniel Baumann <daniel@debian.org>  Tue, 27 Jan 2009 18:00:00 +0100
-
-live-initramfs (1.154.6-1) unstable; urgency=medium
-
-  * Replacing casper with live in live-new-uuid.
-  * Including wc in initramfs (Closes: #512413).
-  * Added missing variable quoting that lead to broken root persistence, thanks
-    to Thierry Walrant <debian.tgc@walrant.net> (Closes: #512656).
-  * Adding patch from Thierry Walrant <debian.tgc@walrant.net> to allow setting
-    a path for the persistence files through persistent-path boot parameter
-    (Closes: #512661).
-  * Adding persistent-path to parameter list and manpage.
-  * Actually building/cleaning manpages through targets in Makefile.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 26 Jan 2009 02:00:00 +0100
-
-live-initramfs (1.154.5-1) unstable; urgency=low
-
-  * Also checking for wicd in 23networking, thanks to Ben Armstrong
-    <synrg@debian.org>.
-  * Don't redirect output of fstype detection to standard out, thanks to Ronny
-    Standtke <Ronny.Standtke@gmx.net>.
-  * Silencing grep call on /etc/passwd.
-  * Silencing xorg reconfiguration, thanks to Ronny Standtke
-    <Ronny.Standtke@gmx.net>.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 12 Jan 2009 13:00:00 -0500
-
-live-initramfs (1.154.4-1) unstable; urgency=low
-
-  [ Rene Mayrhofer ]
-  * Support further checks on loopback image and support skipping union
-    mounts (Closes: #509446).
-
- -- Daniel Baumann <daniel@debian.org>  Fri, 26 Dec 2008 09:00:00 +0100
-
-live-initramfs (1.154.3-1) unstable; urgency=medium
-
-  * Sourcing live.vars in 21xdriver and 21xvidemode in order to be able
-    to set variables in previous bottom scripts.
-
- -- Daniel Baumann <daniel@debian.org>  Sat, 20 Dec 2008 15:00:00 +0100
-
-live-initramfs (1.154.2-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * Updating authors file.
-
-  [ Marco Amadori ]
-  * Reworked integrity-check (Closes: #507477).
-  * Cleaned the boot log a bit.
-
- -- Daniel Baumann <daniel@debian.org>  Thu, 11 Dec 2008 06:00:00 +0100
-
-live-initramfs (1.154.1-1) unstable; urgency=low
-
-  * Merging casper 1.140-1.154.
-  * Add a warning message when no image can be found.
-  * Adding a panic message when we netboot and have no supported network
-    device (Closes: #496684).
-  * Turning 'no supported filesystem images found' into a panic message,
-    rather than a warning.
-  * Also adding ralink to network device check.
-  * Removing spurious 'livefs_root' in copy_live_to();.
-
- -- Daniel Baumann <daniel@debian.org>  Tue, 25 Nov 2008 12:00:00 +0100
-
-live-initramfs (1.139.1-4) unstable; urgency=medium
-
-  [ Chris Lamb ]
-  * Remove (accidental?) debian/changelog entry.
-  * Use "grep -qs" over "grep -q" for compatibility (see grep(1))
-  * Use "test -s" instead of testing file availability and size.
-  * Be consistent in using 0/1 for True/False values instead of English
-    representations.
-  * Reflow some grammar in comments and in live-initramfs(7).
-  * Reflow long 'tr'-based pipelines for readability.
-  * Don't "cat |" to grep.
-
-  [ Daniel Baumann ]
-  * Replacing obsolete dh_clean -k with dh_prep.
-
-  [ Marco Amadori ]
-  * Changed HOSTNAME and /etc/hosts handling.
-  * Conditional creation of /etc/fstab.
-  * live-snapshot: fixed include-list handling.
-  * Reordered persistence lookups and boundaries (Closes: #500672).
-  * Search for partition labels only (Closes: #486469).
-  * Implemented a snapshot exclude list.
-  * Implemented a persistence exclude list.
-  * Manpage clarifications on "nofiles".
-  * Do not pollute the logs when looking for swap partitions.
-  * Removed all "cat | grep", with grep, awk and sed.
-
- -- Daniel Baumann <daniel@debian.org>  Tue, 11 Nov 2008 13:00:00 +0100
-
-live-initramfs (1.139.1-3) unstable; urgency=medium
-
-  [ Chris Lamb ]
-  * Remove local overiddes of log_*_msg - #494257 is now fixed in testing.
-
-  [ Daniel Baumann ]
-  * Removing currently unused Upstream-Depends field in control.
-  * Updating vcs fields in control file.
-  * Sourcing live.vars in 15autologin directly, rather than to inherit
-    from live-functions.
-
-  [ Marco Amadori ]
-  * Removed some useless spaces.
-  * Fix default user handling.
-  * Added a pretty vital mount debug string.
-  * Create /etc/mtab on the initramfs ASAP.
-  * Removed mount -n option, since mtab is there.
-  * Re-enable "break=live-premount" debug.
-  * Skipped some runtime duplicated execution.
-  * Add real cpio to initramfs for snapshot's uses.
-  * Fixed try_snap() umounting on error.
-  * Override maybe_break from initramfs-tools.
-  * Forces use of initramfs cpio over busybox's one.
-  * Fixed a wrong trial to copy an unexistant snapshot.
-  * Check for files and umount only if you can mount it first.
-  * Included more debug and comments on persistence code.
-  * Set -u in live-snapshot only in debug mode.
-
-  [ Michael Prokop ]
-  * Ignore errors from fstype.
-
- -- Daniel Baumann <daniel@debian.org>  Fri, 19 Sep 2008 14:00:00 +0200
-
-live-initramfs (1.139.1-2) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * If the filesystem type of the rootfs cannot be automatically detected, we
-    try to assume it from the extension of the imagefile we have found. Thanks
-    to Jordi Pujol <jordi_pujol@telefonica.net> (Closes: #460456).
-  * Setting project email address to the new debian-live@lists.debian.org.
-  * Disabling default usage of local swap partitions. Can be enabled with the
-    'swapon' boot parameter. Thanks to Joseph Rawson <umeboshi3@gmail.com> for
-    bringing it up.
-
-  [ Michal Suchanek ]
-  * Enabling the "remove CD" prompt in splashy.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  1 Sep 2008 00:00:00 +0200
-
-live-initramfs (1.139.1-1) unstable; urgency=medium
-
-  [ Ben Voui ]
-  * Adding support for Virtio vd[a-z] drives.
-
-  [ Chris Lamb ]
-  * Move loop-aes-tools to Suggests; live-helper should install them if
-    required.
-  * Remove unnecessary indentation level.
-  * Modify hiding of harmless X.org reconfiguring messages.
-  * Revert to using uid 1000 as PAM bug seems to have disappeared
-    (Closes: #433076)
-  * Hide error from attempting to "mount --move"
-  * Rework ugly `echo "debug:..` message to use log_{begin,end}_msg.
-  * Don't configure X.org if it's not installed.
-  * Fix check for X.org.
-  * Add an /etc/fstab to the initramfs to silence harmless "empty fstab"
-    warnings.
-  * Silence another "script-not-executable" message for a sourced library.
-  * Add missing pipe. Thanks to Andreas Bombe.
-  * Shamefully adding myself to CREDITS
-  * Tidy "Disabling update-initramfs" message.
-  * Re-order some commands so we don't call log_begin_msg without calling
-    log_end_msg.
-  * Don't configure X when /usr/bin/X does not exist.
-  * Silence 'script-not-executable' lintian warning - live-functions script is
-    always sourced.
-  * Fix spacing in swirl.
-  * Override log_*_msg to print nicer status text (until #494257 is merged).
-  * Hide "overwriting possibly-customised configuration file" in X.org setup
-    output.
-  * Hide "Shadow passwords are now on" status message on bootup.
-  * Remove a number of "${quiet}" checks - they are repeated in the log_*_msg
-    functions.
-  * Rework locale handling
-  * Print friendly error message on live-initramfs panic.
-  * Fix path issue with live-preseed causing noisy errors when booting.
-  * Silence a number of annoying and distracting bootup messages.
-  * Add missing "log_end_msg" to live-bottom/21xdriver.
-  * Set different log messages for live-bottom/21{xdriver,xvidemode}.
-  * Remove trailing "..." from calls to log_begin_msg - they get added anyway.
-  * Move some arch-indep helper utilities to Build-Depends-Indep.
-  * Set default cow_mountopt where the other defaults are used.
-  * Don't use /sbin/losetup to test for '-r' option when the scripts just use
-    "lostup"
-
-  [ Daniel Baumann ]
-  * Updating authors file.
-  * Merging casper 1.139.
-  * Not going over the top with exclamation marks in the panic message.
-  * Updating credits file.
-  * Slightely adjusting to the more widespread used ascii swirl.
-  * Merging casper 1.138.
-  * Merging casper 1.137.
-
-  [ Marco Amadori ]
-  * Added "-n" option to all mount commands, thanks to Peter Holik
-    <peter@holik.at> for pointing this out.
-  * Be sure that the discovered filesystem is not null.
-  * The list of supported filesytems goes dynamic.
-  * Added ntfs filesystem to the initramfs.
-
-  [ Michael Prokop ]
-  * Move sourcing of live-functions in 38disable_restricted_manager to correct
-    place.
-
-  [ Steven Shiau ]
-  * Adding support for using tftp in fetch= parameter.
-  * Another fix about using udevsettle or "udevadm settle".
-
- -- Daniel Baumann <daniel@debian.org>  Sun, 24 Aug 2008 00:00:00 +0200
-
-live-initramfs (1.136.3-1) unstable; urgency=medium
-
-  [ Michael Prokop ]
-  * Make sure mounting /cow-tmpfs provides mount options.
-
- -- Daniel Baumann <daniel@debian.org>  Fri, 18 Jul 2008 00:00:00 +0200
-
-live-initramfs (1.136.2-1) unstable; urgency=medium
-
-  * Replacing previous imperfect changes for udevadm with check for
-    udevadm and using old commands when beeing on etch. Also handling
-    udevtrigger with udevadm if available.
-  * Correcting httpfs2 inclusion in hook.
-
- -- Daniel Baumann <daniel@debian.org>  Wed, 16 Jul 2008 00:00:00 +0200
-
-live-initramfs (1.136.1-1) unstable; urgency=medium
-
-  [ Chris Lamb ]
-  * Fix call to log_warning_msg. Thanks to Bradley Smith
-    <brad@brad-smith.co.uk>.
-  * Expand glob for kernels in post{inst,rm} to include "vmlinux"-prefixed
-    kernels on powerpc.
-  * Check losetup capabilities before specifying to mount as read-only.
-  * Modprobe 'esp' SCSI driver for the benefit of sparc.
-  * Quieten call to modprobe ide-generic.
-  * Move local-top/live to live-premount/modules so it gets called before
-    find_livefs.
-  * Sync bug script "dpkg -l" calls with debian/control
-
-  [ Daniel Baumann ]
-  * Defaulting now to aufs if no union= parameter is given.
-  * Merging casper version 1.136.
-  * Merging casper version 1.135.
-  * Merging casper version 1.134.
-  * Merging casper version 1.133.
-  * Converting udev depends into a versioned depends in order to reflect udevadm
-    introduction.
-  * Updating live-snapshot to GPL-3+.
-  * Updating to standards 3.8.0.
-  * Renaming forgotton uuid file to live-uuid.
-
-  [ Marco Amadori ]
-  * udevtrigger replacement.
-  * live-snapshot: fixed the remount helper.
-  * live-snapshot: now supports a static keep file list.
-  * Try to bind /cow to /live/cow if unable to move.
-  * live-snapshot: cleaned some wordings.
-  * live-snapshot: included vital informations on exit.
-  * live-snapshot: new "--refresh" option.
-  * live-snapshot: cleaned and sorted used command line defaults.
-  * live-snapshot: nicer default auto unmount logic.
-  * live-snapshot: honour "-o|--output FILE".
-  * live-snapshot: removed a useless mkdir.
-  * live-snapshot: removed an unused and useless function.
-  * live-snapshot: fixes snapshotting from resync string.
-
-  [ Michal Suchanek ]
-  * Add support for httpfs= and ftpfs= parameters.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 14 Jul 2008 00:00:00 +0200
-
-live-initramfs (1.132.1-1) unstable; urgency=medium
-
-  [ Chris Lamb ]
-  * Don't escape asterisks in languagelist update code
-
-  [ Daniel Baumann ]
-  * Updating copyright header in live-snapshot.
-  * Removing useless whitespaces and empty lines.
-  * Correcting grammatical errors in live-snapshot description.
-  * Removing live-snapshot version as this component is always released
-    within live-initramfs itself.
-  * Adding Michal Suchanek <hramrach@centrum.cz> to credits file.
-  * Merging casper 1.132.
-  * Merging casper 1.131.
-  * Ignoring floppy devices for live filesystem as well as live
-    persistency.
-  * Adding patch from Michal Suchanek <hramrach@centrum.cz> to tail
-    live.log and show its messages during boot (Closes: #440238).
-  * Updating vcs fields in control file.
-  * Handling conflicting klibc includes with initramfs-hooks of other
-    packages (Closes: 475783).
-
-  [ Marco Amadori ]
-  * Fixes "live-snapshot on reboot could not find a writable '/tmp' or
-    '/mnt'" bug.
-  * Calling live-snapshot now produces an output file.
-
-  [ Michal Suchanek ]
-  * Workaround loop-aes-utils losetup incompatibility
-  * Fix toram (change mount --move to mount -o move)
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 02 Jun 2008 00:00:00 +0200
-
-live-initramfs (1.130.1-3) unstable; urgency=high
-
-  * Handle non-existing klibc includes in live hook (Closes: #475783).
-  * Adding loop-aes-utils to recommends.
-
- -- Daniel Baumann <daniel@debian.org>  Sat, 26 Apr 2008 16:00:00 +0200
-
-live-initramfs (1.130.1-2) unstable; urgency=medium
-
-  [ Chris Lamb ]
-  * Remove bogus dependency on Ubuntu "localechooser-data" package
-
- -- Daniel Baumann <daniel@debian.org>  Thu, 17 Apr 2008 06:00:00 +0200
-
-live-initramfs (1.130.1-1) unstable; urgency=medium
-
-  [ Chris Lamb ]
-  * Use triggers when calling update-initramfs in postinst and postrm
-
-  [ Daniel Baumann ]
-  * Sorting some lines in live hook.
-  * Merging casper 1.130.
-  * Merging casper 1.129.
-  * Adjusting code formating in maintainer scripts.
-  * Restricting counting of installed kernels based on /boot/vmlinuz-*
-    instead of /boot/vmlinuz*.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 14 Apr 2008 00:00:00 +0200
-
-live-initramfs (1.128.1-1) unstable; urgency=medium
-
-  [ Marco Amadori ]
-  * Fixed a misleading debug message.
-  * Added /cow mounting debug messages.
-  * Fixed /cow mounting.
-  * Klibc: added some libraries to the intramfs.
-
-  [ Daniel Baumann ]
-  * Merging casper 1.128.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  7 Apr 2008 00:00:00 +0200
-
-live-initramfs (1.127.1-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * Merging casper 1.127.
-  * Merging casper 1.126.
-  * Removing too early recommends to live-initscripts in control to make
-    some people happy (Closes: #431000).
-
-  [ Chris Lamb ]
-  * hooks/live, scripts/live: Add USB modules, workaround udevtrigger
-    (?) bug
-  * scripts/live-helpers: Don't search ram block devices
-  * scripts/live-helpers: Search / use case
-  * scripts/live-helpers: Fixes for set -e
-  * bin/live-snapshot: Vastly rework script
-  * bin/live-snapshot: Fix argument handling (Closes: #461595)
-  * scripts/live: Make 'nopersistent' parameter actually disable
-    persistence
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 31 Mar 2008 00:00:00 +0200
-
-live-initramfs (1.125.1-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * Merging casper 1.125.
-
-  [ Chris Lamb ]
-  * scripts/live-helpers: Cosmetic changes to loop-aes passphrase prompt
-  * Rename 18hostname -> 06hostname
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 24 Mar 2008 00:00:00 +0100
-
-live-initramfs (1.124.1-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * Adjusting live-snapshot to live-initramfs.
-  * Merging casper 1.124.
-  * Adjusting 44pk_allow to live-initramfs.
-  * Merging casper 1.123.
-  * Merging casper 1.122.
-  * Merging casper 1.121.
-  * Merging casper 1.120.
-
-  [ Chris Lamb ]
-  * 99hook: Download hook script from inside target filesystem
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 17 Mar 2008 00:00:00 +0100
-
-live-initramfs (1.119.1-1) unstable; urgency=medium
-
-  * Creating resolv.conf when netbooting not just when there's no
-    resolv.conf, but also when it is empty.
-  * Making hooks executable after fetching them.
-  * Removing disabling of kwallet.
-  * Merging casper 1.119.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 10 Mar 2008 00:00:00 +0100
-
-live-initramfs (1.118.2-1) unstable; urgency=medium
-
-  [ Andrey Asadchev ]
-  * Explicitly set Xorg video driver.
-  * Patch to use cryptsetup volumes for persistent storage.
-
-  [ Daniel Baumann ]
-  * New upstream release.
-  * Fixing wrong email address in changelog (was bug in git-dch config).
-  * Bumping package to policy 3.7.3.
-  * Rewriting copyright in machine-interpretable format.
-  * Adding hook parameter to execute custom scripts.
-  * Adding plainroot.
-
-  [ Marco Amadori ]
-  * Now it includes lzma kernel module dependencies.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  3 Mar 2008 00:00:00 +0100
-
-live-initramfs (1.118.1-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * New upstream release.
-  * Adding direct depends to udev, thanks to Anton Lundin
-    <glance@acc.umu.se> (Closes: #452448).
-  * Merging casper 1.111.
-  * Bumping version to 1.110.1-1.
-  * Merging casper 1.112.
-  * Merging casper 1.113.
-  * Adjusting to live-initramfs.
-  * Bumping version to 1.113.1-1.
-  * Merging casper 1.114.
-  * Merging casper 1.115.
-  * Merging casper 1.116.
-  * Merging casper 1.117.
-  * Merging casper 1.118.
-  * Bumping version to 1.118.1-1.
-
-  [ Otavio Salvador ]
-  * debian: add mtd-tools as suggestion since it's required for jffs2
-    support
-  * hooks: include jffs2 kernel module on initramfs image
-  * live-snapshot: add support to use jffs2 images
-  * live: add support for jffs2 images and snapshots
-  * live-helpers: add jffs2 as a valid image
-  * live-snapshot.en.1: add ext3 and jffs2 images as valid options
-
- -- Daniel Baumann <daniel@debian.org>  Tue, 26 Feb 2008 13:35:00 +0100
-
-live-initramfs (1.110.7-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Fixing fstab handling.
-  * Fixing regression from mounting the ow device on a nfs volume,
-    thanks to An-Cheng Huang <ancheng@vyatta.com>.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 19 Nov 2007 00:00:00 +0100
-
-live-initramfs (1.110.6-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Preparing live-initramfs 1.110.6-1.
-  * Adding custom reportbug script.
-  * Fixed a few bashisms, thanks to Trent W. Buck <trentbuck@gmail.com>.
-  * Adding checkbashsms call to test target of the Makefile as suggested
-    by Trent W. Buck <trentbuck@gmail.com>.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 12 Nov 2007 00:00:00 +0100
-
-live-initramfs (1.110.5-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Preparing live-initramfs 1.110.5-1.
-  * Using kdm initscript autologin overrides, thanks to Kel Modderman
-    <kel@otaku42.de>.
-  * Setting the kdm language, thanks to Jordi Pujol
-    <jordi_pujol@telefonica.net>.
-  * Adding files to the live filesystem according to the MAC number,
-    thanks to Jordi Pujol <jordi_pujol@telefonica.net>.
-  * Fixing some coding style issues.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  5 Nov 2007 00:00:00 +0100
-
-live-initramfs (1.110.4-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * New upstream release.
-  * Preparing live-initramfs 1.110.3-1.
-  * Correcting homepage field.
-  * Correcting vcs fields.
-
-  [ Jesse Hathaway ]
-  * add support for mounting the cow device on an nfs volume
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 29 Oct 2007 00:00:00 +0100
-
-live-initramfs (1.110.3-1) unstable; urgency=medium
-
-  [ Daniel Baumann ]
-  * New upstream release.
-  * Preparing live-initramfs 1.110.3-1.
-  * Removing ubuntu support.
-
-  [ Alex Owen ]
-  * Fix typo to get serial console to work
-
-  [ Jesse Hathaway ]
-  * add support for exposedroot option for live-helper
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 22 Oct 2007 00:00:00 +0200
-
-live-initramfs (1.110.2-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Preparing live-initramfs 1.110.2-1.
-  * Fixing typing error.
-  * Removing nodiratime as it is already included in noatime, thanks to Kel
-    Modderman <kel@otaku42.de>.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 15 Oct 2007 00:00:00 +0200
-
-live-initramfs (1.110.1-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Preparing live-initramfs 1.107.2-1.
-  * Also using nodiratime, not just noatime.
-  * Merging casper 1.108.
-  * Adjusting to live-initramfs.
-  * Merging casper 1.109.
-  * Adjusting to live-initramfs.
-  * Merging casper 1.110.
-  * Adjusting to live-initramfs.
-  * Bumping version to 1.110.1-1.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  8 Oct 2007 00:00:00 +0200
-
-live-initramfs (1.107.1-1) unstable; urgency=medium
-
-  * New upstream release.
-  * Preparing live-initramfs 1.102.4-2.
-  * Replacing backticks with POSIX expression.
-  * Consistently using curly brackets for variables.
-  * Fixing bashism.
-  * Merging casper 1.105.
-  * Adjusting to live-initramfs.
-  * Bumping version to 1.105.1-1.
-  * Applied patch from Jesse W. Hathaway <jesse@mbuki-mvuki.org> to move
-    cow mount rather than binding it on /live/cow. This prevents the
-    /cow mount showing up in /proc/mounts.
-  * Merging casper 1.106.
-  * Adjusting to live-initramfs.
-  * Bumping version to 1.106.1-1.
-  * Fixing wrong homepage field.
-  * Fixing typing error.
-  * Merging casper 1.107.
-  * Bumping version to 1.107.1-1.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  1 Oct 2007 00:00:00 +0200
-
-live-initramfs (1.104.1-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 24 Sep 2007 00:00:00 +0200
-
-live-initramfs (1.102.1-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 17 Sep 2007 00:00:00 +0200
-
-live-initramfs (1.99.2-1) unstable; urgency=medium
-
-  * New upstream release:
-    - Contains patch from Jim Paris <jim@jtan.com> to fix wrong ipconfig usage
-      (Closes: #440235).
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 10 Sep 2007 00:00:00 +0200
-
-live-initramfs (1.99.1-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  3 Sep 2007 00:00:00 +0200
-
-live-initramfs (1.96.2-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 27 Aug 2007 00:00:00 +0200
-
-live-initramfs (1.96.1-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 20 Aug 2007 00:00:00 +0200
-
-live-initramfs (1.95.3-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 13 Aug 2007 00:00:00 +0200
-
-live-initramfs (1.95.2-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  6 Aug 2007 00:00:00 +0200
-
-live-initramfs (1.95.1-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 30 Jul 2007 00:00:00 +0200
-
-live-initramfs (1.91.6-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 23 Jul 2007 00:00:00 +0200
-
-live-initramfs (1.91.5-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 16 Jul 2007 00:00:00 +0200
-
-live-initramfs (1.91.4-1) unstable; urgency=medium
-
-  * New upstream release:
-    - Dropping transitional package, not needed anymore.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  9 Jul 2007 00:00:00 +0200
-
-live-initramfs (1.91.3-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  2 Jul 2007 00:00:00 +0200
-
-live-initramfs (1.91.2-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 25 Jun 2007 00:00:00 +0200
-
-live-initramfs (1.91.1-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 18 Jun 2007 00:00:00 +0200
-
-live-initramfs (1.90.1-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 11 Jun 2007 00:00:00 +0200
-
-live-initramfs (1.87.6-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  4 Jun 2007 00:00:00 +0200
-
-live-initramfs (1.87.5-1) unstable; urgency=medium
-
-  * New upstream release, replacing casper.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 28 May 2007 00:00:00 +0200
-
-live-initramfs (1.87.4-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 21 May 2007 00:00:00 +0200
-
-live-initramfs (1.87.3-1) unstable; urgency=medium
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 14 May 2007 00:00:00 +0200
-
-live-initramfs (1.87.2-1) unstable; urgency=low
-
-  * New upstream release.
-
- -- Daniel Baumann <daniel@debian.org>  Mon,  7 May 2007 00:00:00 +0200
-
-live-initramfs (1.87.1-1) unstable; urgency=low
-
-  * Initial release, forking casper.
-
- -- Daniel Baumann <daniel@debian.org>  Mon, 30 Apr 2007 00:00:00 +0200
index 3450a50..d60958b 100644 (file)
@@ -3,7 +3,7 @@ Section: misc
 Priority: optional
 Maintainer: Grml Team <team@grml.org>
 Build-Depends: debhelper (>= 9), quilt (>= 0.46-7~)
-Standards-Version: 3.9.3
+Standards-Version: 3.9.4
 Homepage: http://live.debian.net/devel/live-boot/
 Vcs-Browser: http://git.grml.org/?p=live-boot-grml.git
 Vcs-Git: git://git.grml.org/live-boot-grml.git
index 5b5eee8..9687245 100644 (file)
@@ -8,7 +8,6 @@ Copyright: 2006-2012 Daniel Baumann <daniel@debian.org>
            2005-2008 Canonical Ltd. <http://www.cannonical.com/>
            2008 Chris Lamb <chris@debian.org>
            2006-2007 Marco Amadori <marco.amadori@gmail.com>
-           2008 Dell Inc. <http://www.dell.com/>
 License: GPL-3+
 
 License: GPL-3+
index 2bae8ae..d11c8d9 100644 (file)
@@ -4,7 +4,7 @@ set -e
 
 case "${1}" in
        configure)
-               if [ -x /usr/sbin/update-initramfs ]
+               if [ -x /usr/sbin/update-initramfs ] && [ -e /etc/initramfs-tools/initramfs.conf ]
                then
                        update-initramfs -u
                fi
diff --git a/debian/live-boot-initramfs-tools.postrm b/debian/live-boot-initramfs-tools.postrm
new file mode 100644 (file)
index 0000000..370b6c3
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+       remove)
+               if [ -x /usr/sbin/update-initramfs ] && [ -e /etc/initramfs-tools/initramfs.conf ]
+               then
+                       update-initramfs -u
+               fi
+               ;;
+
+       purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+
+               ;;
+
+       *)
+               echo "postrm called with unknown argument \`${1}'" >&2
+               exit 1
+               ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/live-boot.postinst b/debian/live-boot.postinst
new file mode 100644 (file)
index 0000000..0f0f4ad
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+       configure)
+               mkdir -p /etc/live/boot
+               ;;
+
+       abort-upgrade|abort-remove|abort-deconfigure)
+
+               ;;
+
+       *)
+               echo "postinst called with unknown argument \`${1}'" >&2
+               exit 1
+               ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/live-boot.postrm b/debian/live-boot.postrm
new file mode 100644 (file)
index 0000000..1a7fc90
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+case "${1}" in
+       purge)
+               rmdir --ignore-fail-on-non-empty /etc/live/boot > /dev/null 2>&1 || true
+               rmdir --ignore-fail-on-non-empty /etc/live > /dev/null 2>&1 || true
+               ;;
+
+       remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+
+               ;;
+
+       *)
+               echo "postrm called with unknown argument \`${1}'" >&2
+               exit 1
+               ;;
+esac
+
+#DEBHELPER#
+
+exit 0
index e84a4b9..ac466aa 100755 (executable)
@@ -12,11 +12,7 @@ override_dh_auto_install:
 
        # Removing useless files
        rm -f debian/tmp/usr/share/doc/live-boot-grml/COPYING
-       # Some more useless files
-       rm -f debian/tmp/usr/share/initramfs-tools/scripts/live-bottom/12fstab
-       rm -f debian/tmp/usr/share/initramfs-tools/scripts/live-bottom/23networking
-       rm -f debian/tmp/usr/share/initramfs-tools/scripts/live-bottom/24preseed
-       rm -f debian/tmp/usr/share/initramfs-tools/scripts/live-bottom/30accessibility
+       rm -f debian/lib/live/boot/FIXME
 
        # live-boot-initramfs-tools
        mkdir -p debian/live-boot-grml-initramfs-tools/usr/share
@@ -29,7 +25,7 @@ override_dh_auto_install:
        chmod a+rx debian/live-boot-grml-initramfs-tools/usr/share/initramfs-tools/hooks/*
 
 override_dh_builddeb:
-       dh_builddeb -- -Zgzip -z9
+       dh_builddeb -- -Zxz -z9
 
 override_dh_install:
        dh_install --fail-missing
index d053b65..22a4de9 100644 (file)
@@ -1,2 +1,2 @@
-compression = gzip
+compression = xz
 compression-level = 9
diff --git a/etc/live-persistence.binds b/etc/live-persistence.binds
deleted file mode 100644 (file)
index b2c3833..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# /etc/live-persistence.binds example
-#
-# If this file is present in the proper path, each uncommented not empty line
-# will be treated as a directory which should not be made persistent and
-# which it's content should be volatile.
-#
-# This is achieved by bind mounting on it a tmpfs clone of the directory specified
-
-# Exclude some standard temporary paths
-/tmp
-/var/log
-/var/cache
-
-# Firefox profiles are not always useful to remember
-/root/.mozilla
diff --git a/etc/live-snapshot.exclude_list b/etc/live-snapshot.exclude_list
deleted file mode 100644 (file)
index 82972e3..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# /etc/live-snapshot.exclude_list example
-#
-# If this file is present in the proper path, each uncommented not empty line
-# will be excluded in the target snapshot when live-snapshot is run.
-#
-# The syntax for the line is just a full file or directory pathname.
-
-# Each line is treated like a plain match string for "grep -F -v",
-# so be careful: e.g. "/tmp" will exclude also "/var/tmp" !
-
-# Exclude some standard temporary paths
-/tmp
-/var/log
-/var/cache
-
-# Firefox profiles are not always useful to remember
-/root/.mozilla
diff --git a/etc/live-snapshot.list b/etc/live-snapshot.list
deleted file mode 100644 (file)
index db05733..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# /etc/live-snapshot resync list example
-#
-# If this file is present, each uncommented not empty line will be parsed when
-# running live-snapshot and included in target snapshot.
-#
-# The syntax for the line is just a full file or directory pathname.
-# Those files and directories, and only those will be included on automatic persistence handling.
-#
-# Note that in home-sn snapshot all those paths are treated as relative to /home
-
-# Include itself for reuse
-/etc/live-snapshot.list
-
-# Include networking setups
-/etc/network/interfaces
-/etc/resolv.conf
-/etc/hosts
-
-# Include the whole Desktop directory of the default user
-/home/user/Desktop
diff --git a/local/languagelist b/local/languagelist
deleted file mode 100644 (file)
index cd973ed..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-#
-# This is the complete list of languages (locales) to choose from.
-# langcode;language (en);language (orig);supported_environments;countrycode;fallbacklocale;langlist;console-setup
-sq;Albanian;Shqip;2;AL;sq_AL.UTF-8;;console-setup
-am;Amharic;አማርኛ;4;ET;am_ET;;
-ar;Arabic;عربي;3;EG;ar_EG.UTF-8;;console-setup
-ast;Asturian;Asturianu;2;ES;ast_ES.UTF-8;;console-setup
-eu;Basque;Euskara;1;ES;eu_ES.UTF-8;;console-setup
-be;Belarusian;Беларуская;2;BY;be_BY.UTF-8;;console-setup
-bn;Bengali;বাংলা;4;BD;bn_BD;;
-bs;Bosnian;Bosanski;2;BA;bs_BA.UTF-8;;console-setup
-#X br;Breton;Brezhoneg;2;FR;br_FR.UTF-8;;console-setup
-bg;Bulgarian;Български;2;BG;bg_BG.UTF-8;;console-setup
-# For C locale, set language to 'en' to make sure questions are "translated"
-# to English instead of showing codes.
-C;C;No localization;0;;C;en;
-ca;Catalan;Català;1;ES;ca_ES.UTF-8;;console-setup
-# Special case for Chinese as the two flavours share the same ISO 639 code
-# Both will trigger countrychooser. Each will be the backup for the other
-# one
-zh_CN;Chinese (Simplified);中文(简体);3;CN;zh_CN.UTF-8;zh_CN:zh;
-zh_TW;Chinese (Traditional);中文(繁體);3;TW;zh_TW.UTF-8;zh_TW:zh;
-hr;Croatian;Hrvatski;2;HR;hr_HR.UTF-8;;console-setup
-cs;Czech;Čeština;2;CZ;cs_CZ.UTF-8;;console-setup
-da;Danish;Dansk;1;DK;da_DK.UTF-8;;console-setup
-nl;Dutch;Nederlands;1;NL;nl_NL.UTF-8;;console-setup
-dz;Dzongkha;རྫོང་ཁ།;4;BT;dz_BT;;
-en;English;English;0;US;en_US.UTF-8;;console-setup
-# The Esperanto locale is eo.UTF-8
-# so no country on purpose. The default country is Antarctica because...
-# ...why not..:-)
-eo;Esperanto;Esperanto;2;AQ;eo.UTF-8;;console-setup
-et;Estonian;Eesti;2;EE;et_EE.UTF-8;;console-setup
-fi;Finnish;Suomi;1;FI;fi_FI.UTF-8;;console-setup
-fr;French;Français;1;FR;fr_FR.UTF-8;;console-setup
-gl;Galician;Galego;1;ES;gl_ES.UTF-8;;console-setup
-ka;Georgian;ქართული;4;GE;ka_GE.UTF-8;;console-setup
-de;German;Deutsch;1;DE;de_DE.UTF-8;;console-setup
-el;Greek;Ελληνικά;2;GR;el_GR.UTF-8;;console-setup
-gu;Gujarati;ગુજરાતી;4;IN;gu_IN;;
-he;Hebrew;עברית;3;IL;he_IL.UTF-8;;console-setup
-hi;Hindi;हिन्दी ;4;IN;hi_IN;;
-hu;Hungarian;Magyar;2;HU;hu_HU.UTF-8;;console-setup
-#X is;Icelandic;Íslenska;1;IS;is_IS.UTF-8;;console-setup
-id;Indonesian;Bahasa Indonesia;1;ID;id_ID.UTF-8;;console-setup
-ga;Irish;Gaeilge;1;IE;ga_IE.UTF-8;;console-setup
-it;Italian;Italiano;1;IT;it_IT.UTF-8;;console-setup
-ja;Japanese;日本語;3;JP;ja_JP.UTF-8;;
-#X kn;Kannada;ಕನ್ನಡ;4;IN;kn_IN;;
-#X ks;Kashmiri;कोशुर;4;IN;ks_IN;;
-kk;Kazakh;Қазақ;2;KZ;kk_KZ.UTF-8;;console-setup
-km;Khmer;ខ្មែរ;4;KH;km_KH;;
-kn;Kannada;ಕನ್ನಡ;4;IN;kn_IN;;
-ko;Korean;한국어;3;KR;ko_KR.UTF-8;;
-ku;Kurdish;Kurdî;2;TR;ku_TR.UTF-8;;console-setup
-#X ky;Kirghiz;Кыргызча;2;KG;ky_KG;;console-setup
-#X lo;Lao;ລາວ;4;LA;lo_LA;;console-setup
-lv;Latvian;Latviski;2;LV;lv_LV.UTF-8;;console-setup
-lt;Lithuanian;Lietuviškai;2;LT;lt_LT.UTF-8;;console-setup
-#X mg;Malagasy;Malagasy;1;MG;mg_MG.UTF-8;mg_MG:fr_FR:fr:en;console-setup
-#X ms;Malay;Bahasa Malaysia;1;MY;ms_MY.UTF-8;;console-setup
-ml;Malayalam;മലയാളം;4;IN;ml_IN;;
-mr;Marathi;मराठी;4;IN;mr_IN;;
-mk;Macedonian;Македонски;2;MK;mk_MK.UTF-8;;console-setup
-ne;Nepali;नेपाली ;4;NP;ne_NP;;
-# The Sami translation is really incomplete. We however keep Sami on request
-# of Skolelinux as a kind of reward to them..:-). They need to be able to
-# choose Sami as an option so that the Sami locale is set as default
-se_NO;Northern Sami;Sámegillii;1;NO;se_NO.UTF-8;se_NO:nb_NO:nb:no_NO:no:nn_NO:nn:da:sv:en;console-setup
-nb_NO;Norwegian Bokmaal;Norsk bokmål;1;NO;nb_NO.UTF-8;nb_NO:nb:no_NO:no:nn_NO:nn:da:sv:en;console-setup
-nn_NO;Norwegian Nynorsk;Norsk nynorsk;1;NO;nn_NO.UTF-8;nn_NO:nn:no_NO:no:nb_NO:nb:da:sv:en;console-setup
-fa;Persian;فارسی;3;IR;fa_IR;;console-setup
-pl;Polish;Polski;2;PL;pl_PL.UTF-8;;console-setup
-pt;Portuguese;Português;1;PT;pt_PT.UTF-8;pt:pt_BR:en;console-setup
-pt_BR;Portuguese (Brazil);Português do Brasil;1;BR;pt_BR.UTF-8;pt_BR:pt:en;console-setup
-pa;Punjabi (Gurmukhi);ਪੰਜਾਬੀ;4;IN;pa_IN;;
-ro;Romanian;Română;2;RO;ro_RO.UTF-8;;console-setup
-ru;Russian;Русский;2;RU;ru_RU.UTF-8;;console-setup
-#X sa;Sanskrit;संस्कृत;4;IN;sa_IN;;
-#X si;Sinhala;සිංහල;4;IN;si_IN;;
-sr;Serbian (Cyrillic);Српски;2;RS;sr_RS;;console-setup
-sr@latin;Serbian (Latin);Srpski;2;RS;sr_RS@latin;;console-setup
-sk;Slovak;Slovenčina;2;SK;sk_SK.UTF-8;;console-setup
-sl;Slovenian;Slovenščina;2;SI;sl_SI.UTF-8;;console-setup
-es;Spanish;Español;1;ES;es_ES.UTF-8;;console-setup
-sv;Swedish;Svenska;1;SE;sv_SE.UTF-8;;console-setup
-tl;Tagalog;Tagalog;1;PH;tl_PH.UTF-8;;console-setup
-ta;Tamil;தமிழ்;4;IN;ta_IN;;
-te;Telugu;తెలుగు;4;IN;te_IN;;
-th;Thai;ภาษาไทย;3;TH;th_TH.UTF-8;;console-setup
-tr;Turkish;Türkçe;2;TR;tr_TR.UTF-8;;console-setup
-uk;Ukrainian;Українська;2;UA;uk_UA.UTF-8;;console-setup
-#X ur;Urdu;اردو;3;PK;ur_PK.UTF-8;;console-setup
-#X ca@valencia;Valencian-Catalan;Valencià-Català;1;ES;ca_ES.UTF-8@valencia;;console-setup
-vi;Vietnamese;Tiếng Việt;3;VN;vi_VN;;console-setup
-#X cy;Welsh;Cymraeg;2;GB;cy_GB.UTF-8;;console-setup
-#X wo;Wolof;Wolof;2;SN;wo_SN;wo:fr:en;
-#X xh;Xhosa;Xhosa;2;ZA;xh_ZA.UTF-8;;console-setup
index 41c0ae1..6326ada 100755 (executable)
@@ -1,11 +1,24 @@
 #!/bin/sh
 
+## live-boot(7) - System Boot Scripts
+## Copyright (C) 2006-2012 Daniel Baumann <daniel@debian.org>
+##
+## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
+## This is free software, and you are welcome to redistribute it
+## under certain conditions; see COPYING for details.
+
+
 set -e
 
-DATE="$(LC_ALL=C date +%Y\\\\-%m\\\\-%d)"
 PROGRAM="LIVE\\\-BOOT"
 VERSION="$(cat ../VERSION)"
 
+DATE="$(LC_ALL=C date +%Y\\\\-%m\\\\-%d)"
+
+DAY="$(LC_ALL=C date +%d)"
+MONTH="$(LC_ALL=C date +%m)"
+YEAR="$(LC_ALL=C date +%Y)"
+
 echo "Updating version headers..."
 
 for MANPAGE in en/*
@@ -14,3 +27,24 @@ do
 
        sed -i -e "s|^.TH.*$|.TH ${PROGRAM} ${SECTION} ${DATE} ${VERSION} \"Debian Live Project\"|" ${MANPAGE}
 done
+
+# European date format
+for _LANGUAGE in de es fr it
+do
+       if ls po/${_LANGUAGE}/*.po > /dev/null 2>&1
+       then
+               for _FILE in po/${_LANGUAGE}/*.po
+               do
+                       sed -i -e "s|^msgstr .*.2012\"$|msgstr \"${DAY}.${MONTH}.${YEAR}\"|g" "${_FILE}"
+               done
+       fi
+done
+
+# Brazilian date format
+if ls po/pt_BR/*.po > /dev/null 2>&1
+then
+       for _FILE in po/pt_BR/*.po
+       do
+               sed -i -e "s|^msgstr .*-2012\"$|msgstr \"${DAY}-${MONTH}-${YEAR}\"|g" "${_FILE}"
+       done
+fi
index 2a4ff0e..8116112 100644 (file)
@@ -3,7 +3,7 @@
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH LIVE\-BOOT 7 2012\-04\-09 3.0~a27\-1 "Debian Live Project"
+.TH LIVE\-BOOT 7 02.10.2012 3.0~b6\-1 "Debian Live Project"
 
 .SH NAME
 \fBlive\-boot\fP \- System Boot Scripts
@@ -41,17 +41,17 @@ see below.
 .SS "Configuration Files"
 \fBlive\-boot\fP can be configured (but not activated) through configuration
 files. Those files can be placed either in the root filesystem itself
-(/etc/live/boot.conf, /etc/live/boot.d/*.conf), or on the live media
-(live/boot.conf, live/boot.d/*.conf).
+(/etc/live/boot.conf, /etc/live/boot/*), or on the live media
+(live/boot.conf, live/boot/*).
 
 .SH OPTIONS
 .\" FIXME
 \fBlive\-boot\fP currently features the following parameters.
 .IP \fBaccess\fP=\fIACCESS\fP 4
-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,
-v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties,
-m2=moderate motor difficulties.
+Set the accessibility level for physically or visually impaired
+users. ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual
+impairment, v2=moderate visual impairment, v3=blindness, m1=minor motor
+difficulties, m2=moderate motor difficulties.
 .IP \fBconsole\fP=\fITTY,SPEED\fP 4
 Set the default console to be used with the "live\-getty" option. Example:
 "console=ttyS0,115200"
@@ -71,7 +71,7 @@ correctly because it does not require networking afterwards and the system
 operates faster once booted because it does not require to contact the
 server anymore.
 .br
-Due to current limitations in busyboxs wget and DNS resolution, an URL can
+Due to current limitations in busybox's wget and DNS resolution, an URL can
 not contain a hostname but an IP only.
 .br
 Not working: http://example.com/path/to/your_filesystem.squashfs
@@ -106,7 +106,7 @@ live\-media.
 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
 LIVE_GENERATE_UUID=1 when building the initramfs.
-.IP \fBintegrity\-check\fP 4
+.IP \fBverify\-checksums\fP 4
 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
 live media.
@@ -178,16 +178,10 @@ option has no currently no effect when booting with toram.
 This parameter enables usage of local swap partitions.
 .IP \fBpersistence\fP 4
 live\-boot will probe devices for persistence media. These can be partitions
-(with the correct GPT name), filesystems (with the correct label) or
-image/archive files (with the correct file name). Overlays are labeled/named
-either "full\-ov", which will be mounted on /, or "custom\-ov", which can be
-completely customized (see \fIlive\-persistence.conf\fP(5)); snapshots are
-labeled/named either "live\-sn" or "home\-sn" and will be extracted into / or
-/home, respectively (see \fIlive\-snapshot\fP(1) for more information). The
-order these are handled are: full\-ov, custom\-ov, live\-sn, home\-sn. Overlay
-image files and snapshot archive files have extensions which determines
-their filesystem or archive type, e.g. "custom\-ov.ext4" and
-"\home\-sn.squashfs".
+(with the correct GPT name), filesystems (with the correct label) or image
+files (with the correct file name). Overlays are labeled/named "persistence"
+(see \fIpersistence.conf\fP(5)). Overlay image files have extensions which
+determines their filesystem, e.g. "persistence.ext4".
 .IP "\fBpersistence\-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 persistence media. If "none" is in the list, we
@@ -196,22 +190,20 @@ media. Whenever a device containing encrypted media is probed the user will
 be prompted for the passphrase. The default value is "none".
 .IP \fBpersistence\-media\fP={\fIremovable\fP|\fIremovable\-usb\fP} 4
 If you specify the keyword 'removable', live\-boot will try to find
-persistence 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.
+persistence 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 "\fBpersistence\-method\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4
 This option determines which types of persistence 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".
+"home\-rw"). The default is "overlay".
 .IP \fBpersistence\-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 \fBpersistence\-read\-only\fP 4
 Filesystem changes are not saved back to persistence media. In particular,
-overlays and netboot NFS mounts are mounted read\-only, and snapshots are not
-resynced on shutdown.
+overlays and netboot NFS mounts are mounted read\-only.
 .IP "\fBpersistence\-storage\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4
 This option determines which types of persistence storage to consider when
 probing for persistence media. If "filesystem" is in the list, filesystems
@@ -229,8 +221,8 @@ This option causes live\-boot to reboot without attempting to eject the media
 and without asking the user to remove the boot media.
 .IP \fBshowmounts\fP 4
 This parameter will make live\-boot to show on "/" the ro filesystems (mostly
-compressed) on "/live". This is not enabled by default because could lead to
-problems by applications like "mono" which store binary paths on
+compressed) on "/lib/live". This is not enabled by default because could
+lead to problems by applications like "mono" which store binary paths on
 installation.
 .IP \fBsilent\fP 4
 If you boot with the normal quiet parameter, live\-boot hides most messages
@@ -256,6 +248,7 @@ unionfs.
 Some variables can be configured via this config file (inside the live
 system).
 .IP \fBlive/filesystem.module\fP 4
+.\" FIXME
 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
 "/live" directory. If this file exists, only images listed here will be
@@ -264,29 +257,16 @@ here. The first entry in this file will be the "lowest" point in the aufs,
 and the last file in this list will be on the "top" of the aufs, directly
 below /overlay.  Without this file, any images in the "/live" directory are
 loaded in alphanumeric order.
-.IP \fB/etc/live\-persistence.binds\fP 4
-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. their content does not need to survive reboots when using the
-persistence features.
-.br
-.\" FIXME
-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
-regenerated each time. This is achieved by bind mounting each listed
-directory with a tmpfs on the original path.
 
 .SH FILES
 .IP \fB/etc/live/boot.conf\fP 4
-.IP \fB/etc/live/boot.d/*.conf\fP 4
+.IP \fB/etc/live/boot/*\fP 4
 .IP \fBlive/boot.conf\fP 4
-.IP \fBlive/boot.d/*.conf\fP 4
-.IP \fBlive\-persistence.conf\fP 4
+.IP \fBlive/boot/*\fP 4
+.IP \fBpersistence.conf\fP 4
 
 .SH "SEE ALSO"
-\fIlive\-snapshot\fP(1)
-.PP
-\fIlive\-persistence.conf\fP(5)
+\fIpersistence.conf\fP(5)
 .PP
 \fIlive\-build\fP(7)
 .PP
diff --git a/manpages/de/live-snapshot.de.1 b/manpages/de/live-snapshot.de.1
deleted file mode 100644 (file)
index 403cc8b..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.TH LIVE\-BOOT 1 2012\-04\-09 3.0~a27\-1 "Debian Live Project"
-
-.SH NAME
-\fBlive\-snapshot\fP \- simple script to ease persistence usage
-
-.SH SYNOPSIS
-\fBlive\-snapshot\fP [\-c|\-\-cow \fIDIRECTORY] [\-d|\-\-device DEVICE\fP]
-[\-e|\-\-exclude\-list \fIFILE\fP] [\-o|\-\-output \fIFILE\fP] [\-t|\-\-type \fITYPE\fP]
-.br
-\fBlive\-snapshot\fP [\-r|\-\-resync\-string STRING]
-.br
-\fBlive\-snapshot\fP [\-h|\-\-help]
-.br
-\fBlive\-snapshot\fP [\-u|\-\-usage]
-.br
-\fBlive\-snapshot\fP [\-v|\-\-version]
-
-.SH DESCRIPTION
-live\-snapshot is a script which can be used to build the right types of
-persistence image files supported by \fIlive\-boot\fP(7). It is also used on
-exit by the live\-boot init script to resync the boot\-found snapshots
-devices.
-
-.SH OPTIONS
-.IP "\-c, \-\-cow \fIDIRECTORY\fP" 4
-specifies the input directory to be cloned in the image file. Its default
-value "/live/overlay" should be right for most uses. However it could be
-handy to specify "/home" and type ext4 for the type to prepare an image file
-suited to be directly mounted by live\-boot as home.
-.IP "\-d, \-\-device \fIDEVICE\fP" 4
-sets the device where the media which the snapshot/persistence
-file/partition will be put. If it is not specified, a tmpfs will be used and
-linked to the user's desktop to move it where it is needed. If the device
-has no filesystem, an ext4 fs will be automatically created and labelled
-according to the values specified after the "\-\-output" value or with a sane
-default.
-.IP "\-e, \-\-exclude\-list \fIFILE\fP" 4
-a file containing a list of filenames/paths that should not be saved. This
-exclude list will be remebered on the target snapshot media for reuse.
-.IP "\-o, \-\-output \fIFILE\fP" 4
-the filename/label used for the output file/partition. If left blank,
-live\-snapshot will search for a proper file on the device or use the whole
-partition.
-.IP "\-r, \-\-resync\-string \fISTRING\fP" 4
-internally used on resyncs.
-.IP "\-f, \-\-refresh" 4
-try to do the same operation that should be done at reboot or halt,
-resyncing boot\-time auto discovered snapshots. Useful to prevent a crash or
-surge power\-off.
-.IP "\-t, \-\-type \fITYPE\fP" 4
-Type could be one of "cpio", "squashfs", "ext2", "ext3", "ext4", or "jffs2".
-.IP "\-h, \-\-help" 4
-display help and exit.
-.IP "\-u, \-\-usage" 4
-show usage and exit.
-.IP "\-v, \-\-version" 4
-output version information and exit.
-
-.SH FILES
-.IP \fB/etc/live.conf\fP 4
-Some variables can be configured via this config file (inside the live
-system).
-.IP \fBlive/filesystem.module\fP 4
-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
-"/live" directory. If this file exists, only images listed here will be
-merged into the root aufs, and they will be loaded in the order listed
-here. The first entry in this file will be the "lowest" point in the aufs,
-and the last file in this list will be on the "top" of the aufs, directly
-below /overlay.  Without this file, any images in the "/live" directory are
-loaded in alphanumeric order.
-.IP \fB/etc/live\-persistence.binds\fP 4
-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. their content does not need to survive reboots when using the
-persistence features.
-.br
-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
-regenerated each time. This is achieved by bind mounting each listed
-directory with a tmpfs on the original path.
-.IP \fB/etc/live\-snapshot.list\fP 4
-This optional file, if present changes the behaviour of live\-snapshot: only
-files and directories listed there are included (integrally) in the
-snapshot. Beware, it is an experimental feature that only works for cpio
-targets now.
-
-.SH "SEE ALSO"
-\fIlive\-boot\fP(1)
-.PP
-\fIlive\-build\fP(7)
-.PP
-\fIlive\-config\fP(7)
-.PP
-\fIlive\-tools\fP(7)
-
-.SH HOMEPAGE
-More information about live\-boot and the Debian Live project can be found on
-the homepage at <\fIhttp://live.debian.net/\fP> and in the manual at
-<\fIhttp://live.debian.net/manual/\fP>.
-
-.SH BUGS
-Bugs can be reported by submitting a bugreport for the live\-boot package in
-the Debian Bug Tracking System at <\fIhttp://bugs.debian.org/\fP> or by
-writing a mail to the Debian Live mailing list at
-<\fIdebian\-live@lists.debian.org\fP>.
-
-.SH AUTHOR
-live\-boot was written by Daniel Baumann <\fIdaniel@debian.org\fP> for
-the Debian project.
diff --git a/manpages/de/persistence.conf.de.5 b/manpages/de/persistence.conf.de.5
new file mode 100644 (file)
index 0000000..cbac9e9
--- /dev/null
@@ -0,0 +1,207 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH LIVE\-BOOT conf 02.10.2012 3.0~b6\-1 "Debian Live Project"
+
+.SH NAME
+\fBpersistence.conf\fP \- Configuration file for persistence media in live\-boot
+
+.SH DESCRIPTION
+If live\-boot probes a persistence volume with the label (or GPT name, or
+file name, but from now on we will just say "label") "persistence", that
+volume's persistence is fully customizable through the \fBpersistence.conf\fP
+file stored on the root of its file system. Any such labeled volume must
+have such a file, or it will be ignored.
+.PP
+The format of \fBpersistence.conf\fP allows empty lines and lines starting with
+a "#" (used for comments), both which will be ignored. A so called "custom
+mount" has the format:
+.PP
+.RS
+\fIDIR\fP [\fIOPTION\fP]...
+.RE
+.PP
+which roughly translates to "make \fIDIR\fP persistence in the way described by
+the list of \fIOPTION\fPs".
+.PP
+For each custom mount \fIDIR\fP must be an absolute path that cannot contain
+white spaces or the special . and .. path components, and cannot be /live
+(or any of its sub\-directories).  Once activated all changes (file deletion,
+creation and modification) to \fIDIR\fP on the live file system are stored
+persistently into a path equivalent to \fIDIR\fP on the persistence media,
+called the source directory. The default way to achieve persistence is to
+simply bind\-mount the corresponding source directory to \fIDIR\fP, but this can
+be changed through the use of \fIOPTION\fPs.
+.PP
+All custom mounts will be done in an order so that no two custom mounts can
+"hide" each other. For instance, if we have the two \fIDIR\fP:s /a and /a/b it
+would always be the case that /a is mounted first, then /a/b. This remains
+true no matter how the lines in \fBpersistence.conf\fP are ordered, or if
+several \fBpersistence.conf\fP files on different persistence media are used at
+the same time. However, it is forbidden for custom mounts to have their
+source directory inside the source directory of another custom mount, so the
+source directories that are auto\-created by live\-boot does not support
+"nested" mounts like /a and /a/b on the same media. In this case you must
+use the \fBsource\fP option (see below) to make sure that they are stored in
+different source directories.
+.PP
+When a source directory doesn't exist on the persistence media for a certain
+custom mount, it will be created automatically, and permissions and
+ownership will be optimistically set according to \fIDIR\fP. It will also be
+bootstrapped by copying the contents of the \fIDIR\fP into its source directory
+on the persistence media. The bootstrapping will not happen when the \fBlink\fP
+or \fBunion\fP options are used (see below).
+
+.SH OPTIONS
+Custom mounts defined in \fBpersistence.conf\fP accept the following options in
+a coma\-separated list:
+.IP \fBsource\fP=\fIPATH\fP 4
+When given, store the persistence changes into \fIPATH\fP on the persistence
+media. \fIPATH\fP must be a relative path (with respect to the persistence
+media root) that cannot contain white spaces or the special . or .. path
+components, with the exception that it can be just . which means the
+persistence media root. This option is mostly relevant if you want to nest
+custom mounts, which otherwise would cause errors, or if you want to make
+the whole media root available (similar to the now deprecated \fBhome\-rw\fP
+type of persistence).
+.PP
+The following options are mutually exclusive (only the last given one will
+be in effect):
+.IP \fBbind\fP 4
+Bind\-mount the source directory to \fIDIR\fP. This is the default.
+.IP \fBlink\fP 4
+Create the directory structure of the source directory on the persistence
+media in \fIDIR\fP and create symbolic links from the corresponding place in
+\fIDIR\fP to each file in the source directory.  Existing files or directories
+with the same name as any link will be overwritten. Note that deleting the
+links in \fIDIR\fP will only remove the link, not the corresponding file in the
+source; removed links will reappear after a reboot. To permanently add or
+delete a file one must do so directly in the source directory.
+.IP
+Effectively \fBlink\fP will make only files already in the source directory
+persistent, not any other files in \fIDIR\fP. These files must be manually
+added to the source directory to make use of this option, and they will
+appear in \fIDIR\fP in addition to files already there. This option is useful
+when only certain files need to be persistent, not the whole directory
+they're in, e.g. some configuration files in a user's home directory.
+.IP \fBunion\fP 4
+Save the rw branch of a union on the persistence media, so only the changes
+are stored persistently. This can potentially reduce disk usage compared to
+bind\-mounts, and will not hide files added to the read\-only media. One
+caveat is that the union will use \fIDIR\fP from the image's read\-only file
+system, not the real file system root, so files created after boot (e.g. by
+live\-config) will not appear in the union. This option will use the union
+file system specified by live\-boot's \fBunion\fP boot parameter, but is not
+supported with \fBunion=unionmount\fP.
+
+.SH DIRECTORIES
+.IP \fB/live/persistence\fP 4
+All persistence volumes will be mounted here (in a directory corresponding
+to the device name). The \fBpersistence.conf\fP file can easily be edited
+through this mount, as well as any source directories (which is especially
+practical for custom mounts using the \fBlink\fP option).
+
+.SH EXAMPLES
+
+Let's say we have a persistence volume \fIVOL\fP with the a \fBpersistence.conf\fP
+file containing the following four lines (numbered for ease of reference):
+.TP  7
+1.
+/home/user1 link,source=config\-files/user1
+.TP 
+2.
+/home/user2 link,source=config\-files/user2
+.TP 
+3.
+/home
+.TP 
+4.
+/usr union
+.PP
+The corresponding source directories are:
+.TP  7
+1.
+\fIVOL\fP/config\-files/user1 (but it would be \fIVOL\fP/home/user1 without the
+\fBsource\fP option)
+.TP 
+2.
+\fIVOL\fP/config\-files/user2 (but it would be \fIVOL\fP/home/user2 without the
+\fBsource\fP option)
+.TP 
+3.
+\fIVOL\fP/home
+.TP 
+4.
+\fIVOL\fP/usr
+.PP
+It was necessary to set the \fBsource\fP options for 1 and 2, since they
+otherwise would become nested with 3's source, which is invalid.
+.PP
+Line 3 will be taken care of before line 1 and 2 in order to prevent custom
+mounts 1 and 2 from being hidden by 3. When line 3 is handled, \fIVOL\fP/home
+is simply bind\-mounted on /home. To illustrate what happens for lines 1 and
+2, let's say that the following files exist:
+.TP  7
+a.
+\fIVOL\fP/config\-files/user1/.emacs
+.TP 
+b.
+\fIVOL\fP/config\-files/user2/.bashrc
+.TP 
+c.
+\fIVOL\fP/config\-files/user2/.ssh/config
+.PP
+Then the following links and directories will be created:
+.TP  7
+Link:
+/home/user1/.emacs \-> \fIVOL\fP/config\-files/user1/.emacs (from a)
+.TP 
+Link:
+/home/user2/.bashrc \-> \fIVOL\fP/config\-files/user2/.bashrc (from b)
+.TP 
+Dir:
+/homea/user2/.ssh (from c)
+.TP 
+Link:
+/home/user2/.ssh/config \-> \fIVOL\fP/config\-files/user2/.ssh/config (from
+c)
+.PP
+One could argue, though, that lines 1 and 2 in the example
+\fBpersistence.conf\fP file above are unnecessary since line 3 already would
+make all of /home persistent. The \fBlink\fP option is intended for situations
+where you don't want a complete directory to be persistent, only certain
+files in it or its sub\-directories.
+.PP
+Line 4 can be mounted at any time since its \fIDIR\fP (and source directory) is
+completely disjoint from all the other custom mounts. When mounted,
+\fIVOL\fP/usr will be the rw branch due to the \fBunion\fP option, and will only
+contain the difference compared to the underlying read\-only file
+system. Hence packages could be installed into /usr with great space\-wise
+efficiency compared to bind\-mounts, since in the latter case all of /usr
+would have to be copied into \fIVOL\fP/usr during the initial bootstrap.
+
+.SH "SEE ALSO"
+\fIlive\-boot\fP(7)
+.PP
+\fIlive\-build\fP(7)
+.PP
+\fIlive\-config\fP(7)
+.PP
+\fIlive\-tools\fP(7)
+
+.SH HOMEPAGE
+More information about live\-boot and the Debian Live project can be found on
+the homepage at <\fIhttp://live.debian.net/\fP> and in the manual at
+<\fIhttp://live.debian.net/manual/\fP>.
+
+.SH BUGS
+Bugs can be reported by submitting a bugreport for the live\-boot package in
+the Debian Bug Tracking System at <\fIhttp://bugs.debian.org/\fP> or by
+writing a mail to the Debian Live mailing list at
+<\fIdebian\-live@lists.debian.org\fP>.
+
+.SH AUTHOR
+persistence.conf was written by anonym <\fIanonym@lavabit.com\fP> for
+the Debian project.
index 75a6ad8..cebe297 100644 (file)
@@ -1,4 +1,4 @@
-.TH LIVE\-BOOT 7 2012\-04\-09 3.0~a27-1 "Debian Live Project"
+.TH LIVE\-BOOT 7 2012\-10\-02 3.0~b6-1 "Debian Live Project"
 
 .SH NAME
 \fBlive\-boot\fR \- System Boot Scripts
@@ -23,13 +23,13 @@ To configure the live\-boot parameters used by default in a live image, see the
 In addition, there are some more boot parameters to influence the behaviour, see below.
 
 .SS Configuration Files
-\fBlive\-boot\fR can be configured (but not activated) through configuration files. Those files can be placed either in the root filesystem itself (/etc/live/boot.conf, /etc/live/boot.d/*.conf), or on the live media (live/boot.conf, live/boot.d/*.conf).
+\fBlive\-boot\fR can be configured (but not activated) through configuration files. Those files can be placed either in the root filesystem itself (/etc/live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, live/boot/*).
 
 .SH OPTIONS
 \fBlive\-boot\fR currently features the following parameters.
 .\" FIXME
 .IP "\fBaccess\fR=\fIACCESS\fR" 4
-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, v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, m2=moderate motor difficulties.
+Set the accessibility level for physically or visually impaired users. ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, m2=moderate motor difficulties.
 .IP "\fBconsole\fR=\fITTY,SPEED\fR" 4
 Set the default console to be used with the "live\-getty" option. Example: "console=ttyS0,115200"
 .IP "\fBdebug\fR" 4
@@ -48,7 +48,7 @@ correctly because it does not require networking afterwards and the system
 operates faster once booted because it does not require to contact the server
 anymore.
 .br
-Due to current limitations in busyboxs wget and DNS resolution, an URL can not contain a hostname but an IP only.
+Due to current limitations in busybox's wget and DNS resolution, an URL can not contain a hostname but an IP only.
 .br
 Not working: http://example.com/path/to/your_filesystem.squashfs
 .br
@@ -72,7 +72,7 @@ Look for the specified ISO file on all disks where it usually looks for the .squ
 Allows to use a filesystem from within an iso image that's available on live-media.
 .IP "\fBignore_uuid\fR" 4
 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 LIVE_GENERATE_UUID=1 when building the initramfs.
-.IP "\fBintegrity\-check\fR" 4
+.IP "\fBverify\-checksums\fR" 4
 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 live media.
 .IP "\fBip\fR=[\fIDEVICE\fR]:[\fICLIENT_IP\fR]:[\fISERVER_IP\fR]:[\fIGATEWAY_IP\fR]:[\fINETMASK\fR]:[\fIHOSTNAME\fR]:[\fIAUTOCONF\fR] [,[\fIDEVICE\fR]:[\fICLIENT_IP\fR]:[\fISERVER_IP\fR]:[\fIGATEWAY_IP\fR]:[\fINETMASK\fR]:[\fIHOSTNAME\fR]:[\fIAUTOCONF\fR]]" 4
 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 (default). It will be changed in a future release to mimick official kernel boot param specification (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp).
@@ -109,17 +109,17 @@ This parameters allows to set a custom ramdisk size (it's the '\-o size' option
 .IP "\fBswapon\fR" 4
 This parameter enables usage of local swap partitions.
 .IP "\fBpersistence\fR" 4
-live\-boot will probe devices for persistence media. These can be partitions (with the correct GPT name), filesystems (with the correct label) or image/archive files (with the correct file name). Overlays are labeled/named either "full\-ov", which will be mounted on /, or "custom\-ov", which can be completely customized (see \fIlive-persistence.conf\fR(5)); snapshots are labeled/named either "live\-sn" or "home\-sn" and will be extracted into / or /home, respectively (see \fIlive\-snapshot\fR(1) for more information). The order these are handled are: full\-ov, custom\-ov, live-sn, home-sn. Overlay image files and snapshot archive files have extensions which determines their filesystem or archive type, e.g. "custom\-ov.ext4" and "\home\-sn.squashfs".
+live\-boot will probe devices for persistence media. These can be partitions (with the correct GPT name), filesystems (with the correct label) or image files (with the correct file name). Overlays are labeled/named "persistence" (see \fIpersistence.conf\fR(5)). Overlay image files have extensions which determines their filesystem, e.g. "persistence.ext4".
 .IP "\fBpersistence\-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 persistence 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 "\fBpersistence\-media\fR={\fIremovable\fR|\fIremovable\-usb\fR}" 4
-If you specify the keyword 'removable', live\-boot will try to find persistence 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.
+If you specify the keyword 'removable', live\-boot will try to find persistence 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 "\fBpersistence\-method\fR=\fITYPE1\fR,\fITYPE2\fR ... \fITYPEn\fR" 4
-This option determines which types of persistence 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".
+This option determines which types of persistence media we allow. If "overlay" is in the list, we consider overlays (i.e. "live\-rw" and "home\-rw"). The default is "overlay".
 .IP "\fBpersistence\-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 "\fBpersistence\-read\-only\fR" 4
-Filesystem changes are not saved back to persistence media. In particular, overlays and netboot NFS mounts are mounted read-only, and snapshots are not resynced on shutdown.
+Filesystem changes are not saved back to persistence media. In particular, overlays and netboot NFS mounts are mounted read-only.
 .IP "\fBpersistence\-storage\fR=\fITYPE1\fR,\fITYPE2\fR ... \fITYPEn\fR" 4
 This option determines which types of persistence storage to consider when probing for persistence 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 "\fBpersistence\-subtext\fR=\fISUFFIX\fR" 4
@@ -127,7 +127,7 @@ Add a suffix when searching for the image filenames or partition labels to use f
 .IP "\fBquickreboot\fR" 4
 This option causes live\-boot to reboot without attempting to eject the media and without asking the user to remove the boot media.
 .IP "\fBshowmounts\fR" 4
-This parameter will make live\-boot to show on "/" the ro filesystems (mostly compressed) on "/live". This is not enabled by default because could lead to problems by applications like "mono" which store binary paths on installation.
+This parameter will make live\-boot to show on "/" the ro filesystems (mostly compressed) on "/lib/live". This is not enabled by default because could lead to problems by applications like "mono" which store binary paths on installation.
 .IP "\fBsilent\fR" 4
 If you boot with the normal quiet parameter, live\-boot hides most messages of its own. When adding silent, it hides all.
 .IP "\fBtodisk\fR=\fIDEVICE\fR" 4
@@ -144,23 +144,17 @@ By default, live\-boot uses aufs. With this parameter, you can switch to unionfs
 Some variables can be configured via this config file (inside the live system).
 .IP "\fBlive/filesystem.module\fR" 4
 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 "/live" directory. If this file exists, only images listed here will be merged into the root aufs, and they will be loaded in the order listed here. The first entry in this file will be the "lowest" point in the aufs, and the last file in this list will be on the "top" of the aufs, directly below /overlay.  Without this file, any images in the "/live" directory are loaded in alphanumeric order.
-.IP "\fB/etc/live\-persistence.binds\fR" 4
-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. their content does not need to survive reboots when using the persistence features.
-.br
-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 regenerated each time. This is achieved by bind mounting each listed directory with a tmpfs on the original path.
 .\" FIXME
 
 .SH FILES
 .IP "\fB/etc/live/boot.conf\fR" 4
-.IP "\fB/etc/live/boot.d/*.conf\fR" 4
+.IP "\fB/etc/live/boot/*\fR" 4
 .IP "\fBlive/boot.conf\fR" 4
-.IP "\fBlive/boot.d/*.conf\fR" 4
-.IP "\fBlive-persistence.conf\fR" 4
+.IP "\fBlive/boot/*\fR" 4
+.IP "\fBpersistence.conf\fR" 4
 
 .SH SEE ALSO
-\fIlive\-snapshot\fR(1)
-.PP
-\fIlive-persistence.conf\fR(5)
+\fIpersistence.conf\fR(5)
 .PP
 \fIlive\-build\fR(7)
 .PP
diff --git a/manpages/en/live-snapshot.1 b/manpages/en/live-snapshot.1
deleted file mode 100644 (file)
index 2850a63..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-.TH LIVE\-BOOT 1 2012\-04\-09 3.0~a27-1 "Debian Live Project"
-
-.SH NAME
-\fBlive\-snapshot\fR \- simple script to ease persistence usage
-
-.SH SYNOPSIS
-\fBlive\-snapshot\fR [\-c|\-\-cow \fIDIRECTORY\fI] [\-d|\-\-device \fIDEVICE\fR] [\-e|\-\-exclude\-list \fIFILE\fR] [\-o|\-\-output \fIFILE\fR] [\-t|\-\-type \fITYPE\fR]
-.br
-\fBlive\-snapshot\fR [\-r|\-\-resync\-string \fRSTRING\fR]
-.br
-\fBlive\-snapshot\fR [\-h|\-\-help]
-.br
-\fBlive\-snapshot\fR [\-u|\-\-usage]
-.br
-\fBlive\-snapshot\fR [\-v|\-\-version]
-
-.SH DESCRIPTION
-live\-snapshot is a script which can be used to build the right types of persistence image files supported by \fIlive\-boot\fR(7). It is also used on exit by the live\-boot init script to resync the boot\-found snapshots devices.
-
-.SH OPTIONS
-.IP "\-c, \-\-cow \fIDIRECTORY\fR" 4
-specifies the input directory to be cloned in the image file. Its default value "/live/overlay" should be right for most uses. However it could be handy to specify "/home" and type ext4 for the type to prepare an image file suited to be directly mounted by live\-boot as home.
-.IP "\-d, \-\-device \fIDEVICE\fR" 4
-sets the device where the media which the snapshot/persistence file/partition will be put. If it is not specified, a tmpfs will be used and linked to the user's desktop to move it where it is needed. If the device has no filesystem, an ext4 fs will be automatically created and labelled according to the values specified after the "\-\-output" value or with a sane default.
-.IP "\-e, \-\-exclude\-list \fIFILE\fR" 4
-a file containing a list of filenames/paths that should not be saved. This exclude list will be remebered on the target snapshot media for reuse.
-.IP "\-o, \-\-output \fIFILE\fR" 4
-the filename/label used for the output file/partition. If left blank, live\-snapshot will search for a proper file on the device or use the whole partition.
-.IP "\-r, \-\-resync\-string \fISTRING\fR" 4
-internally used on resyncs.
-.IP "\-f, \-\-refresh" 4
-try to do the same operation that should be done at reboot or halt, resyncing boot\-time auto discovered snapshots. Useful to prevent a crash or surge power\-off.
-.IP "\-t, \-\-type \fITYPE\fR" 4
-Type could be one of "cpio", "squashfs", "ext2", "ext3", "ext4", or "jffs2".
-.IP "\-h, \-\-help" 4
-display help and exit.
-.IP "\-u, \-\-usage" 4
-show usage and exit.
-.IP "\-v, \-\-version" 4
-output version information and exit.
-
-.SH FILES
-.IP "\fB/etc/live.conf\fR" 4
-Some variables can be configured via this config file (inside the live system).
-.IP "\fBlive/filesystem.module\fR" 4
-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 "/live" directory. If this file exists, only images listed here will be merged into the root aufs, and they will be loaded in the order listed here. The first entry in this file will be the "lowest" point in the aufs, and the last file in this list will be on the "top" of the aufs, directly below /overlay.  Without this file, any images in the "/live" directory are loaded in alphanumeric order.
-.IP "\fB/etc/live\-persistence.binds\fR" 4
-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. their content does not need to survive reboots when using the persistence features.
-.br
-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 regenerated each time. This is achieved by bind mounting each listed directory with a tmpfs on the original path.
-.IP "\fB/etc/live\-snapshot.list\fR" 4
-This optional file, if present changes the behaviour of live\-snapshot: only files and directories listed there are included (integrally) in the snapshot. Beware, it is an experimental feature that only works for cpio targets now.
-
-.SH SEE ALSO
-\fIlive\-boot\fR(1)
-.PP
-\fIlive\-build\fR(7)
-.PP
-\fIlive\-config\fR(7)
-.PP
-\fIlive\-tools\fR(7)
-
-.SH HOMEPAGE
-More information about live\-boot and the Debian Live project can be found on the homepage at <\fIhttp://live.debian.net/\fR> and in the manual at <\fIhttp://live.debian.net/manual/\fR>.
-
-.SH BUGS
-Bugs can be reported by submitting a bugreport for the live\-boot package in the Debian Bug Tracking System at <\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Debian Live mailing list at <\fIdebian-live@lists.debian.org\fR>.
-
-.SH AUTHOR
-live\-boot was written by Daniel Baumann <\fIdaniel@debian.org\fR> for the Debian project.
diff --git a/manpages/en/persistence.conf.5 b/manpages/en/persistence.conf.5
new file mode 100644 (file)
index 0000000..83b022c
--- /dev/null
@@ -0,0 +1,213 @@
+.TH LIVE\-BOOT conf 2012\-10\-02 3.0~b6-1 "Debian Live Project"
+
+.SH NAME
+\fBpersistence.conf\fR \- Configuration file for persistence media in
+live\-boot
+
+.SH DESCRIPTION
+If live-boot probes a persistence volume with the label (or GPT name,
+or file name, but from now on we will just say "label") "persistence",
+that volume's persistence is fully customizable through the
+\fBpersistence.conf\fR file stored on the root of its file system. Any such
+labeled volume must have such a file, or it will be ignored.
+.PP
+The format of \fBpersistence.conf\fR allows empty lines and lines starting
+with a "#" (used for comments), both which will be ignored. A so
+called "custom mount" has the format:
+.PP
+.RS
+\fIDIR\fR [\fIOPTION\fR]...
+.RE
+.PP
+which roughly translates to "make \fIDIR\fR persistence in the way
+described by the list of \fIOPTION\fRs".
+.PP
+For each custom mount \fIDIR\fR must be an absolute path that cannot
+contain white spaces or the special . and .. path components, and
+cannot be /live (or any of its sub-directories).
+Once activated all changes (file
+deletion, creation and modification) to \fIDIR\fR on the live file
+system are stored persistently into a path equivalent to \fIDIR\fR on
+the persistence media, called the source directory. The default way to
+achieve persistence is to simply bind-mount the corresponding source
+directory to \fIDIR\fR, but this can be changed through the use of
+\fIOPTION\fRs.
+.PP
+All custom mounts will be done in an order so that no two custom
+mounts can "hide" each other. For instance, if we have the two
+\fIDIR\fR:s /a and /a/b it would always be the case that /a is mounted
+first, then /a/b. This remains true no matter how the lines in
+\fBpersistence.conf\fR are ordered, or if several \fBpersistence.conf\fR files
+on different persistence media are used at the same time. However, it
+is forbidden for custom mounts to have their source directory inside
+the source directory of another custom mount, so the source
+directories that are auto-created by live-boot does not support
+"nested" mounts like /a and /a/b on the same media. In this case you
+must use the \fBsource\fR option (see below) to make sure that they
+are stored in different source directories.
+.PP
+When a source directory doesn't exist on the persistence media for a
+certain custom mount, it will be created automatically, and
+permissions and ownership will be optimistically set according to
+\fIDIR\fR. It will also be bootstrapped by copying the contents of the
+\fIDIR\fR into its source directory on the persistence media. The
+bootstrapping will not happen when the \fBlink\fR or \fBunion\fR
+options are used (see below).
+
+.SH OPTIONS
+Custom mounts defined in \fBpersistence.conf\fR accept the following
+options in a coma-separated list:
+.IP "\fBsource\fR=\fIPATH\fR" 4
+When given, store the persistence changes into \fIPATH\fR on the
+persistence media. \fIPATH\fR must be a relative path (with respect to the
+persistence media root) that cannot contain white spaces or the
+special . or .. path components, with the exception that it can be
+just . which means the persistence media root. This option is mostly
+relevant if you want to nest custom mounts, which otherwise would
+cause errors, or if you want to make the whole media root available
+(similar to the now deprecated \fBhome-rw\fR type of persistence).
+.PP
+The following options are mutually exclusive (only the last given one
+will be in effect):
+.IP "\fBbind\fR" 4
+Bind-mount the source directory to \fIDIR\fR. This is the default.
+.IP "\fBlink\fR" 4
+Create the directory structure of the source directory on the
+persistence media in \fIDIR\fR and create symbolic links from the
+corresponding place in \fIDIR\fR to each file in the source directory.
+Existing files or directories with the same name as any link will be
+overwritten. Note that deleting the links in \fIDIR\fR will only
+remove the link, not the corresponding file in the source; removed
+links will reappear after a reboot. To permanently add or delete a
+file one must do so directly in the source directory.
+.IP
+Effectively \fBlink\fR will make only files already in the source
+directory persistent, not any other files in \fIDIR\fR. These files
+must be manually added to the source directory to make use of this
+option, and they will appear in \fIDIR\fR in addition to files already
+there. This option is useful when only certain files need to be
+persistent, not the whole directory they're in, e.g. some
+configuration files in a user's home directory.
+.IP "\fBunion\fR" 4
+Save the rw branch of a union on the persistence media, so only the
+changes are stored persistently. This can potentially reduce disk
+usage compared to bind-mounts, and will not hide files added to the
+read-only media. One caveat is that the union will use \fIDIR\fR from
+the image's read-only file system, not the real file system root, so
+files created after boot (e.g. by live-config) will not appear in the
+union. This option will use the union file system specified by
+live-boot's \fBunion\fR boot parameter, but is not supported with
+\fBunion=unionmount\fR.
+
+.SH DIRECTORIES
+.IP "\fB/live/persistence\fR" 4
+All persistence volumes will be mounted here (in a directory
+corresponding to the device name). The \fBpersistence.conf\fR file can
+easily be edited through this mount, as well as any source directories
+(which is especially practical for custom mounts using the
+\fBlink\fR option).
+
+.SH EXAMPLES
+
+Let's say we have a persistence volume \fIVOL\fR with the a
+\fBpersistence.conf\fR file containing the following four lines (numbered
+for ease of reference):
+.TP 7
+1.
+/home/user1 link,source=config-files/user1
+.TP
+2.
+/home/user2 link,source=config-files/user2
+.TP
+3.
+/home
+.TP
+4.
+/usr union
+.PP
+The corresponding source directories are:
+.TP 7
+1.
+\fIVOL\fR/config-files/user1 (but it would be \fIVOL\fR/home/user1
+without the \fBsource\fR option)
+.TP
+2.
+\fIVOL\fR/config-files/user2 (but it would be \fIVOL\fR/home/user2
+without the \fBsource\fR option)
+.TP
+3.
+\fIVOL\fR/home
+.TP
+4.
+\fIVOL\fR/usr
+.PP
+It was necessary to set the \fBsource\fR options for 1 and 2, since
+they otherwise would become nested with 3's source, which is invalid.
+.PP
+Line 3 will be taken care of before line 1 and 2 in order to prevent
+custom mounts 1 and 2 from being hidden by 3. When line 3 is handled,
+\fIVOL\fR/home is simply bind-mounted on /home. To illustrate what
+happens for lines 1 and 2, let's say that the following files exist:
+.TP 7
+a.
+\fIVOL\fR/config-files/user1/.emacs
+.TP
+b.
+\fIVOL\fR/config-files/user2/.bashrc
+.TP
+c.
+\fIVOL\fR/config-files/user2/.ssh/config
+.PP
+Then the following links and directories will be created:
+.TP 7
+Link:
+/home/user1/.emacs -> \fIVOL\fR/config-files/user1/.emacs (from a)
+.TP
+Link:
+/home/user2/.bashrc -> \fIVOL\fR/config-files/user2/.bashrc (from b)
+.TP
+Dir:
+/homea/user2/.ssh (from c)
+.TP
+Link:
+/home/user2/.ssh/config -> \fIVOL\fR/config-files/user2/.ssh/config
+(from c)
+.PP
+One could argue, though, that lines 1 and 2 in the example
+\fBpersistence.conf\fR file above are unnecessary since line 3 already
+would make all of /home persistent. The \fBlink\fR option is
+intended for situations where you don't want a complete directory to
+be persistent, only certain files in it or its sub-directories.
+.PP
+Line 4 can be mounted at any time since its \fIDIR\fR (and source
+directory) is completely disjoint from all the other custom
+mounts. When mounted, \fIVOL\fR/usr will be the rw branch due to the
+\fBunion\fR option, and will only contain the difference compared to
+the underlying read-only file system. Hence packages could be
+installed into /usr with great space-wise efficiency compared to
+bind-mounts, since in the latter case all of /usr would have to be
+copied into \fIVOL\fR/usr during the initial bootstrap.
+
+.SH SEE ALSO
+\fIlive\-boot\fR(7)
+.PP
+\fIlive\-build\fR(7)
+.PP
+\fIlive\-config\fR(7)
+.PP
+\fIlive\-tools\fR(7)
+
+.SH HOMEPAGE
+More information about live\-boot and the Debian Live project can be
+found on the homepage at <\fIhttp://live.debian.net/\fR> and in the
+manual at <\fIhttp://live.debian.net/manual/\fR>.
+
+.SH BUGS
+Bugs can be reported by submitting a bugreport for the live\-boot
+package in the Debian Bug Tracking System at
+<\fIhttp://bugs.debian.org/\fR> or by writing a mail to the Debian
+Live mailing list at <\fIdebian-live@lists.debian.org\fR>.
+
+.SH AUTHOR
+persistence.conf was written by anonym <\fIanonym@lavabit.com\fR> for the
+Debian project.
diff --git a/manpages/es/live-boot.es.7 b/manpages/es/live-boot.es.7
new file mode 100644 (file)
index 0000000..6af0f8e
--- /dev/null
@@ -0,0 +1,310 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH LIVE\-BOOT 7 02.10.2012 3.0~b6\-1 "Proyecto Debian Live"
+
+.SH NOMBRE
+\fBlive\-boot\fP \- Scripts de Arranque del Sistema
+
+.SH DESCRIPCIÓN
+\fBlive\-boot\fP contiene los scripts que configuran un sistema Debian Live
+durante el proceso de arranque (early userspace).
+.PP
+.\" FIXME
+live\-boot es un hook para initramfs\-tools, usado para generar un initramfs
+capaz de arrancar sistemas en vivo, tales como los creados por
+\fIlive\-helper\fP(7). Esto incluye las isos de Debian Live, netboot tarballs e
+imágenes para llaves usb.
+.PP
+.\" FIXME
+En el momento del arranque se buscará un dispositivo de sólo lectura que
+contenga un directorio "/live" dónde se almacena un sistema de ficheros raíz
+(a menudo se trata de una imagen comprimida de un sistema de ficheros como
+squashfs). Si live\-boot lo encuentra, creará un entorno de escritura, usando
+aufs, a partir del cual pueda arrancar un sistema Debian u otro similar.
+
+.SH CONFIGURACIÓN
+\fBlive\-boot\fP se puede configurar mediante un parámetro de arranque o un
+fichero de configuración.
+.PP
+Para configurar los parámetros de live\-boot utilizados por defecto en una
+imagen en vivo, ver la opción \-\-bootappend\-live en la página de manual
+\fIlb_config\fP(1)
+
+.SS "Parámetros del kernel"
+\fBlive\-boot\fP sólo se activa si se usa 'boot=live' como parámetro del kernel
+.PP
+Además, hay algunos otros parámetros de arranque que influyen en su
+comportamiento, ver más abajo.
+
+.SS "Ficheros de configuración"
+\fBlive\-boot\fP se puede configurar (pero no activar) mediante ficheros de
+configuración. Estos ficheros se pueden colocar en el sistema de ficheros
+raíz (/etc/live/boot.conf, /etc/live/boot/*), o en el medio en vivo
+(live/boot.conf, live/boot/*).
+
+.SH OPCIONES
+.\" FIXME
+\fBlive\-boot\fP incluye los siguientes parámetros.
+.IP \fBaccess\fP=\fIACCESS\fP 4
+Establece el nivel de accesibilidad para usuarios con minusvalías físicas o
+con discapacidad visual. ACCESS debe ser uno de los siguientes, v1, v2, v3,
+m1 o m2. v1=menor deterioro visual, v2=discapacidad visual moderada,
+v3=ceguera, m1=dificultades motoras menores, m2=dificultades motoras
+moderadas.
+.IP \fBconsole\fP=\fITTY,SPEED\fP 4
+Establece la consola que se utilizará por defecto con la opción
+"live\-getty". Ejemplo: "console=ttyS0,115200"
+.IP \fBdebug\fP 4
+Hace que el proceso de arranque de initramfs sea más detallado.
+.br
+Uso: debug=1
+.br
+Si no se asigna un valor a debug, puede que no se muestren los mensajes.
+.IP \fBfetch\fP=\fIURL\fP 4
+.IP \fBhttpfs\fP=\fIURL\fP 4
+Otra forma de arranque en red mediante la descarga de una imagen squashfs a
+partir de una URL determinada. El método «fetch» copia la imagen en la
+memoria RAM y el método httpfs utiliza fuse y httpfs2 para montar la imagen
+en su lugar. Copiar en la memoria RAM requiere más memoria y puede tardar
+mucho tiempo con imágenes de gran tamaño. Sin embargo, es más probable que
+funcione correctamente, ya que no requiere el uso de la red después y el
+sistema funciona más rápido una vez iniciado, debido a que ya no necesita
+más ponerse en contacto con el servidor.
+.br
+Debido a las limitaciones actuales de busybox, wget y la resolución de DNS,
+una dirección URL no puede contener un nombre de anfitrión, sino sólo una
+dirección IP.
+.br
+No funciona: http://ejemplo.com/ruta/al/sistema_de_ficheros.squashfs
+.br
+Funciona: http://ejemplo.com/ruta/al/sistema_de_ficheros.squashfs
+.br
+Tener en cuenta también que, por lo tanto, no es posible en la actualidad ir
+a buscar una imagen en un host virtual basado en nombre de un httpd si está
+compartiendo la ip con la instancia principal httpd.
+.br
+También se puede utilizar la imagen iso en vivo en lugar de la imagen
+squashfs.
+.IP \fBiscsi\fP=\fIserver\-ip[,server\-port];target\-name\fP 4
+Arranca desde un objetivo iSCSI que tiene una iso o una imagen disco en vivo
+como uno de sus LUNs. Se busca en el objetivo especificado un LUN que sea
+similar a un medio en vivo. Si se utiliza el software \fBiscsitarget\fP del
+objetivo iSCSI que se encuentra disponible en un paquete Debian la ietd.conf
+podría ser similar al siguiente:
+.br
+# El nombre de destino se especifica en el parámetro iscsi=
+.br
+Target <target\-name>
+  Lun 0 Path=<path\-to\-your\-live\-image.iso>,Type=fileio,IOMode=ro
+  # Si se desea arrancar varias máquinas, es posible que se desee afinar algunos parámetros como
+  # Wthreads o MaxConnections
+.IP \fBfindiso\fP=\fI/PATH/TO/IMAGE\fP 4
+Busca el fichero ISO especificado en todos los discos en los que por lo
+general se busca el fichero .squashfs (por lo que no se tiene que saber el
+nombre del dispositivo como en fromiso=....).
+.IP \fBfromiso\fP=\fI/PATH/TO/IMAGE\fP 4
+Permite utilizar un sistema de ficheros desde dentro de una imagen iso que
+está disponible en los medios en vivo.
+.IP \fBignore_uuid\fP 4
+No comprobar que cualquier UUID integrado en el initramfs coincida con el
+medio encontrado. Se puede especificar a live\-boot que genere un UUID
+configurando LIVE_GENERATE_UUID=1 en el momento de crear el initramfs.
+.IP \fBverify\-checksums\fP 4
+Si se especifica, se calcula una suma MD5 sobre los medios en vivo durante
+el arranque y se compara con el valor md5sum.txt que se encuentra en el
+directorio raíz de los medios en vivo.
+.IP "\fBip\fP=[\fIDEVICE\fP]:[\fICLIENT_IP\fP]:[\fISERVER_IP\fP]:[\fIGATEWAY_IP\fP]:[\fINETMASK\fP]:[\fIHOSTNAME\fP]:[\fIAUTOCONF\fP] [,[\fIDEVICE\fP]:[\fICLIENT_IP\fP]:[\fISERVER_IP\fP]:[\fIGATEWAY_IP\fP]:[\fINETMASK\fP]:[\fIHOSTNAME\fP]:[\fIAUTOCONF\fP]]" 4
+Permite especificar el nombre(s) y las opciones de la interfaz(ces) que se
+debe configurar en el arranque. No especificar esta opción si se desea
+utilizar DHCP (opción por defecto). Esto cambiará en una futura versión para
+utilizar la misma especificación de los parámetros de arranque que el kernel
+oficial (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp).
+.IP \fBip\fP=[\fIfrommedia\fP] 4
+Si se establece esta variable, no se configura la red ni por dhcp ni usando
+una dirección estática y se debe añadir un fichero preconfigurado
+/etc/network/interfaces que el sistema utilizará en su lugar.
+.IP {\fBlive\-media\fP|\fBbootfrom\fP}=\fIDEVICE\fP 4
+Si se especifica una de estas dos formas equivalentes, live\-boot en primer
+lugar tratará de encontrar este dispositivo buscando el directorio "/live"
+dónde debe estar la raíz del sistema de ficheros de sólo lectura. Si no
+encuentra nada que pueda utilizar, live\-boot escaneará los dispositivos
+restantes.
+.br
+En lugar de especificar el nombre de un dispositivo real, se puede utilizar
+la palabra clave 'removable'  para limitar la búsqueda solo en los medios en
+vivo de tipo extraíble. Tener en cuenta que si se desea restringir aún más
+los medios a sistemas de almacenamiento masivo USB se puede utilizar la
+palabra clave 'removable\-usb'
+.IP {\fBlive\-media\-encryption\fP|\fBencryption\fP}=\fITYPE\fP 4
+live\-boot montará el TYPE rotfs cifrado,  pidiendo la contraseña. Es útil
+para crear sistemas en vivo paranoicos :\-) Hasta el momento el TYPE
+soportado es "aes" para cifrado loop\-aes.
+.IP \fBlive\-media\-offset\fP=\fIBYTES\fP 4
+De esta manera se puede especificar a live\-boot que la imagen comienza en
+BYTES en el dispositivo anteriormente especificado, o auto\-descubierto, esto
+podría ser útil para esconder la iso o la imagen Debian Live dentro de otra
+iso o imagen, para crear imágenes "limpias".
+.IP \fBlive\-media\-path\fP=\fIPATH\fP 4
+Establece la ruta de acceso al sistema de ficheros en vivo en el medio. De
+forma predeterminada está en '/live' y no se debe cambiar a menos que se
+haya personalizado los medios de forma adecuada.
+.IP \fBlive\-media\-timeout\fP=\fISECONDS\fP 4
+Establece el tiempo de espera en segundos para que el dispositivo
+especificado por "live\-media=" esté preparado antes de desistir.
+.IP \fBmodule\fP=\fINAME\fP 4
+En lugar de utilizar el fichero opcional por defecto "filesystem.module"
+(ver más abajo) se podría especificar otro fichero sin la extensión
+".module"; se debe colocar en el directorio "/live" del medio en vivo.
+.IP \fBnetboot\fP[=nfs|cifs] 4
+Indica a live\-boot que debe hacer un montaje en red. El parámetro
+"nfsroot=" (con "nfsopts=" opcional), debe especificar dónde se encuentra el
+sistema de ficheros raíz. Sin argumentos, probará primero cifs, y entonces,
+si falla, nfs.
+.IP \fBnfsopts\fP= 4
+Permite especificar opciones nfs personalizadas.
+.IP \fBnofastboot\fP 4
+Este parámetro deshabilita la desactivación por defecto de la comprobación
+del sistema de ficheros en /etc/fstab. Si hay sistemas de ficheros estáticos
+en el disco duro y se desea comprobarlos en el momento del arranque,
+utilizar este parámetro, de lo contrario, se omite.
+.IP \fBnopersistence\fP 4
+desactiva la "persistencia", es útil si el gestor de arranque (como
+syslinux) se ha instalado con persistencia habilitada.
+.IP \fBnoprompt\fP 4
+No preguntar para expulsar el CD o extraer la unidad flash USB al reiniciar.
+.IP \fBnoprompt\fP=\fITYPE\fP 4
+Indica a live\-boot que no pregunte para expulsar el CD (usando noprompt=cd)
+o extraer la unidad flash USB (usando noprompt=usb) al reiniciar.
+.IP \fBramdisk\-size\fP 4
+Este parámetro permite establecer un tamaño de disco RAM personalizado (que
+es la opción '\-o size' del montaje tmpfs). No hay un tamaño de ramdisk
+predeterminado, por lo que se aplica el valor por defecto (actualmente el
+50% de la RAM disponible). Tener en cuenta que esta opción no tiene
+actualmente ningún efecto cuando se arranca con toram
+.IP \fBswapon\fP 4
+Este parámetro permite el uso de particiones swap locales.
+.IP \fBpersistence\fP 4
+live\-boot buscará dispositivos con "persistence". Estos pueden ser
+particiones (con el nombre GPT correcto), sistemas de ficheros (con la
+etiqueta correcta) o ficheros imagen (con el nombre de fichero
+correcto). Los overlays tienen la etiqueta/nombre "persistence" (ver
+\fIpersistence.conf\fP(5)). Los ficheros imagen overlay tienen extensiones que
+determinan su sistema de ficheros, por ejemplo, "persistence.ext4".
+.IP "\fBpersistence\-encryption\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4
+Esta opción determina qué tipo de cifrado se usa cuando se prueban los
+dispositivos de los medios con persistencia. Si se especifica "none" en la
+lista, no se permite cifrar el medio; si se especifica "luks" en la lista,
+se puede usar cifrado LUKS en los medios. Cada vez que se encuentra un
+dispositivo que contiene medios cifrados se pregunta al usuario una frase de
+contraseña. Por defecto es "none".
+.IP \fBpersistence\-media\fP={\fIremovable\fP|\fIremovable\-usb\fP} 4
+Si se especifica la palabra clave 'removable', live\-boot intentará encontrar
+particiones con persistencia únicamente en los medios extraíbles. Tener en
+cuenta que si se desea restringir aún más los medios a sistemas de
+almacenamiento masivo USB se puede utilizar la palabra clave 'removable\-usb'
+.IP "\fBpersistence\-method\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4
+Esta opción determina qué tipos de medios se permiten para la
+persistencia. Si se especifica "overlay" en la lista, se considera overlays
+(es decir "live\-rw" y "home\-rw"). Por defecto es "overlay".
+.IP \fBpersistence\-path\fP=\fIPATH\fP 4
+live\-boot buscará ficheros con persistencia en el directorio raíz de una
+partición, con este parámetro, la ruta se puede configurar de modo que se
+pueda tener varios directorios en la misma partición para almacenar ficheros
+con persistencia.
+.IP \fBpersistence\-read\-only\fP 4
+Los cambios en el sistema de ficheros no se guardan de nuevo en los medios
+con persistencia. En particular, los overlays y los montajes NFS de red son
+montados en sólo lectura.
+.IP "\fBpersistence\-storage\fP=\fITYPE1\fP,\fITYPE2\fP ... \fITYPEn\fP" 4
+Esta opción determina qué tipos de almacenamiento persistente hay que tener
+en cuenta cuando se comprueban los medios con persistencia. Si "filesystem"
+está en la lista, se usarán los sistemas de ficheros que tengan su etiqueta
+correspondiente; si "file" está en la lista, todos los sistemas de ficheros
+se probarán buscando ficheros y ficheros imagen con sus etiquetas
+correspondientes. Por defecto es "file,filesystem".
+.IP \fBpersistence\-subtext\fP=\fISUFFIX\fP 4
+Añadir un sufijo cuando se buscan los nombres de las imágenes o etiquetas de
+las particiones a utilizar para la función de la persistencia mencionada
+anteriormente, el SUFFIX se añadirá después de un guión (por ejemplo:
+"live\-sn" se transformaría en "live\-sn\-SUFFIX"). Esto es útil para probar
+múltiples sistemas en vivo basados en live\-boot con diferentes opciones de
+almacenamiento con persistencia.
+.IP \fBquickreboot\fP 4
+Esta opción hace que live\-boot reinicie sin tratar de expulsar los medios y
+sin pedirle al usuario que extraiga el dispositivo usado para arrancar.
+.IP \fBshowmounts\fP 4
+Este parámetro hará que live\-boot muestre en "/" los sistemas de ficheros ro
+(en su mayoría comprimidos) en "/lib/live". Esto no está activado por
+defecto, porque podría dar lugar a problemas con aplicaciones como "mono"
+que almacenan rutas binarias durante su instalación.
+.IP \fBsilent\fP 4
+Si arranca con el parámetro normal quiet, live\-boot esconde la mayoría de
+sus propios mensajes. Cuando se utiliza silent, los esconde todos.
+.IP \fBtodisk\fP=\fIDEVICE\fP 4
+Al añadir este parámetro, live\-boot tratará de copiar la totalidad de medios
+de sólo lectura en el dispositivo especificado antes de montar el sistema de
+ficheros raíz. Probablemente hace falta una gran cantidad de espacio
+libre. Los arranques posteriores deben saltar este paso y basta con
+especificar el parámetro de arranque "live\-media=DEVICE" con el mismo DEVICE
+que se ha utilizado esta vez.
+.IP \fBtoram\fP 4
+Al añadir este parámetro, live\-boot trata de copiar los medios de sólo
+lectura enteros en la memoria RAM del ordenador antes de montar el sistema
+de ficheros raíz. Para esto puede ser necesaria mucha memoria RAM, según el
+espacio utilizado por los medios de sólo lectura.
+.IP \fBunion\fP=aufs|unionfs 4
+.\" FIXME
+Por defecto, live\-boot usa aufs. Con este parámetro, se puede cambiar a
+unionfs.
+
+.\" FIXME
+.SH "FICHEROS (antiguos)"
+.IP \fB/etc/live.conf\fP 4
+Algunas variables pueden ser configuradas a través de este fichero de
+configuración (dentro del sistema en vivo).
+.IP \fBlive/filesystem.module\fP 4
+.\" FIXME
+Este fichero opcional (dentro del medio en vivo) contiene una lista de
+nombres de ficheros separados por espacios en blanco o retornos de carro que
+corresponden a imágenes de disco en el directorio "/live". Si este fichero
+existe, sólo las imágenes que figuran en esta lista se fusionarán en la raíz
+aufs, y se cargarán en el orden en que aparecen aquí. La primera entrada en
+este fichero será el punto "más bajo" en el aufs y el último fichero de esta
+lista estará en el punto "más alto" del aufs, justo debajo de /overlay. Sin
+este fichero, las imágenes en el directorio  "/live" se cargan en orden
+alfanumérico.
+
+.SH FICHEROS
+.IP \fB/etc/live/boot.conf\fP 4
+.IP \fB/etc/live/boot/*\fP 4
+.IP \fBlive/boot.conf\fP 4
+.IP \fBlive/boot.d/*\fP 4
+.IP \fBpersistence.conf\fP 4
+
+.SH "VER ADEMÁS"
+\fIpersistence.conf\fP(5)
+.PP
+\fIlive\-build\fP(7)
+.PP
+\fIlive\-config\fP(7)
+.PP
+\fIlive\-tools\fP(7)
+
+.SH "PÁGINA WEB"
+Se puede encontrar más información acerca de live\-boot y el proyecto Debian
+Live en la página web <\fIhttp://live.debian.net/\fP> y en el manual en
+<\fIhttp://live.debian.net/manual/\fP>.
+
+.SH ERRORES
+Se puede notificar los fallos enviando un informe de errores sobre el
+paquete live\-boot en el Debian Bug Tracking System en
+<\fIhttp://bugs.debian.org/\fP> o escribiendo un mensaje a la lista de
+correo de Debian Live a la dirección
+<\fIdebian\-live@lists.debian.org\fP>.
+
+.SH AUTOR
+live\-boot fue escrito por Daniel Baumann <\fIdaniel@debian.org\fP> para
+el proyecto Debian.
diff --git a/manpages/es/persistence.conf.es.5 b/manpages/es/persistence.conf.es.5
new file mode 100644 (file)
index 0000000..3f13b77
--- /dev/null
@@ -0,0 +1,225 @@
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH LIVE\-BOOT conf 02.10.2012 3.0~b6\-1 "Proyecto Debian Live"
+
+.SH NOMBRE
+\fBpersistence.conf\fP \- Fichero para configurar medios de almacenamiento con
+persistencia en live\-boot
+
+.SH DESCRIPCIÓN
+Si live\-boot prueba un volumen persistente con la etiqueta (o nombre GPT, o
+nombre de fichero, aunque a partir de este momento nos referiremos a él como
+simplemente "etiqueta") "persistence", la persistencia de ese volumen es
+completamente personalizable a través del fichero \fBpersistence.conf\fP
+almacenado en la raíz de su sistema de ficheros. Cualquier volumen esa
+etiqueta debe tener uno de esos ficheros, o si no será ignorado.
+.PP
+El formato de \fBpersistence.conf\fP permite añadir líneas vacias o líneas que
+comiencen por "#" (usado para los comentarios), ambos serán ignorados. Un
+"montaje personalizado" tiene el formato:
+.PP
+.RS
+\fIDIR\fP [\fIOPTION\fP]...
+.RE
+.PP
+lo que se traduce como "hacer \fIDIR\fP persistente en la forma descrita en la
+lista de \fIOPTION\fPs".
+.PP
+Para cada uno de los montajes personalizados \fIDIR\fP debe ser una ruta
+absoluta que no puede contener espacios en blanco ni los componentes
+especiales . y .. además no puede ser /live (o ninguno de sus
+sub\-directorios) ni /. Una vez activados, todos los cambios (creación,
+modificación y borrado de ficheros) en \fIDIR\fP en el sistema de ficheros en
+vivo, son guardados de forma persistente en una ruta equivalente a \fIDIR\fP en
+el medio persistente, llamado el directorio de origen. La manera de
+conseguir la persistencia por defecto es simplemente hacer un montaje
+enlazado (bind\-mount N.del T.) del directorio de origen al \fIDIR\fP, aunque
+esto se puede cambiar utilizando las opciones \fIOPTION\fPs.
+.PP
+Todos los montajes personalizados serán montados en orden de tal manera que
+dos montajes personalizados no se "escondan" uno al otro. Por ejemplo, si
+tenemos los dos \fIDIR\fP:s /a y /a/b siempre /a será montado en primer lugar,
+después /a/b. Esto siempre es así sin importar el orden en que aparezcan las
+líneas en \fBpersistence.conf\fP o incluso si se usan varios ficheros
+\fBpersistence.conf\fP en medios persistentes distintos al mismo tiempo. Sin
+embargo, no está permitido que un montaje personalizado tenga su directorio
+de origen en el interior del directorio de origen de otro montaje
+personalizado, ya que los directorios de origen que live\-boot crea
+automáticamente no tienen soporte para montajes "anidados" como /a y /a/b en
+el mismo medio. En este caso se debe usar la opción \fBsource\fP (ver debajo)
+para asegurarse de que se almacenan en directorios de origen diferentes.
+.PP
+Cuando un directorio de origen no existe en los medios con persistencia para
+un montaje personalizado en particular, se creará automáticamente, y los
+permisos y sus propietarios se establecen de forma óptima de acuerdo a
+\fIDIR\fP. También se realiza una preinstalación (bootstrap N. del T.) copiando
+los contenidos de \fIDIR\fP en su directorio de origen en el medio con
+persistencia. La preinstalación no se realiza cuando se utilizan las
+opciones \fBlink\fP o \fBunion\fP (ver debajo).
+
+.SH OPCIONES
+Los montajes personalizados definidos en \fBpersistence.conf\fP aceptan las
+siguientes opciones en una lista separada por comas:
+.IP \fBsource\fP=\fIPATH\fP 4
+Cuando se especifica, se guardan los cambios persistentes en \fIPATH\fP en los
+medios con persistencia. \fIPATH\fP debe ser una ruta relativa (respecto a la
+raíz del medio persistente) que no puede contener espacios en blanco o los
+componentes especiales . o .. con la excepción de que puede ser simplemente
+\&. lo que significa la raíz del medio persistente. Esta opción es relevante
+si se desea anidar montajes personalizados, lo que de otro modo produciría
+errores, o si se desea hacer que toda la raíz del medio esté disponible (de
+forma similar al ahora obsoleto tipo de persistencia \fBhome\-rw\fP)
+.PP
+Las siguientes opciones son mutuamente exclusivas (únicamente la última
+tendrá efecto):
+.IP \fBbind\fP 4
+Montar de forma enlazada el directorio de origen a \fIDIR\fP. Esto es así por
+defecto.
+.IP \fBlink\fP 4
+Crea la estructura de directorios del directorio de origen en el medio
+persistente en \fIDIR\fP y crea los enlaces simbólicos desde el lugar
+correspondiente en \fIDIR\fP a cada fichero en el directorio de origen. Si los
+directorios o ficheros contienen el mismo nombre, al igual que cualquier
+otro enlace, serán sobrescritos. Tener en cuenta que los enlaces en \fIDIR\fP
+sólo eliminan el enlace, no el fichero correspondiente en el directorio; los
+enlaces eliminados reaparecerán tras reiniciar. Para añadir o eliminar un
+fichero de forma permanente se debe hacer directamente en el directorio de
+origen.
+.IP
+\fBlink\fP tan sólo hará persistentes los ficheros que ya se encuentran en el
+directorio de origen, y no cualquier otro fichero en \fIDIR\fP. Estos ficheros
+deben ser añadidos manualmente en el directorio de origen pare utilizar esta
+opción y ellos aparecerán en \fIDIR\fP además de los ficheros que ya se
+encuentran allí. Esta opción es útil cuando sólo es necesario hacer
+persistentes ciertos ficheros y no todo el directorio en el que se
+encuentran, por ejemplo, algunos ficheros de configuración en el directorio
+home de un usuario.
+.IP \fBunion\fP 4
+Guardar la rama rw de una unión en un medio persistente, de modo que los
+cambios son guardados de forma persistente. Potencialmente esto puede
+reducir el uso del disco comparado con los montajes enlazados, y no
+esconderá los ficheros añadidos a los medios de sólo lectura. Un buen truco
+es que la unión utilizará el \fIDIR\fP del sistema de ficheros de sólo lectura
+de la imagen y no de la raíz del sistema de ficheros real, por eso los
+ficheros que se crean después del arranque (por ejemplo live\-config) no
+aparecerán en la unión. Esta opción utilizará el sistema de ficheros unión
+especificado por el parámetro de arranque \fBunion\fP de live\-boot pero no
+tiene soporte si se utiliza \fBunion=unionmount\fP.
+
+.SH DIRECTORIOS
+.IP \fB/live/persistence\fP 4
+Aquí se montarán todos los volumenes persistentes (en un directorio que
+corresponda con el nombre del dispositivo). El fichero \fBpersistence.conf\fP
+se puede editar fácilmente a través de este montaje, así como cualquier
+directorio de origen (esto resulta especialmente práctico para los montajes
+personalizados usando la opción \fBlink\fP).
+
+.SH EJEMPLOS
+
+Si tenemos un volumen con persistencia \fIVOL\fP con un fichero
+\fBpersistence.conf\fPque contiene las cuatro lineas siguientes (numeradas para
+una mejor referencia):
+.TP  7
+1.
+/home/user1 link,source=config\-files/user1
+.TP 
+2.
+/home/user2 link,source=config\-files/user2
+.TP 
+3.
+/home
+.TP 
+4.
+/usr union
+.PP
+Los directorios de origen correspondientes son:
+.TP  7
+1.
+\fIVOL\fP/config\-files/user1 (pero sería \fIVOL\fP/home/user1 sin la opción
+\fBsource\fP)
+.TP 
+2.
+\fIVOL\fP/config\-files/user2 (pero sería \fIVOL\fP/home/user2 sin la opción
+\fBsource\fP)
+.TP 
+3.
+\fIVOL\fP/home
+.TP 
+4.
+\fIVOL\fP/usr
+.PP
+Era necesario establecer las opciones \fBsource\fP para 1 y 2, ya que de otro
+modo resultarían anidados con el origen de 3, lo cual no es válido.
+.PP
+La línea 3 será tenida en cuenta antes que las líneas 1 y 3 para evitar que
+los montajes personalizados 1 y 2 resulten escondidos por 3. Cuando se
+procesa la línea 3, \fIVOL\fP/home es simplemente montado en unión a
+/home. Para ilustrar lo que sucede con las líneas 1 y 2, digamos que los
+siguientes ficheros existen:
+.TP  7
+a.
+\fIVOL\fP/config\-files/user1/.emacs
+.TP 
+b.
+\fIVOL\fP/config\-files/user2/.bashrc
+.TP 
+c.
+\fIVOL\fP/config\-files/user2/.ssh/config
+.PP
+Entonces se crearán los siguientes enlaces y directorios:
+.TP  7
+Enlace:
+/home/user1/.emacs \-> \fIVOL\fP/config\-files/user1/.emacs (de a)
+.TP 
+Enlace:
+/home/user2/.bashrc \-> \fIVOL\fP/config\-files/user2/.bashrc (de b)
+.TP 
+Directorio:
+/homea/user2/.ssh (de c)
+.TP 
+Enlace:
+/home/user2/.ssh/config \-> \fIVOL\fP/config\-files/user2/.ssh/config (de c)
+.PP
+Se podría decir, sin embargo, que las líneas 1 y 2 en el fichero de ejemplo
+\fBpersistence.conf\fP anterior son innecesarias ya que la línea 3 ya crearía
+el directorio /home persistente. La opción  \fBlink\fP se utiliza en
+situaciones en las que no se desea guardar de forma persistente un
+directorio completo, sino únicamente algunos ficheros o subdirectorios
+incluidos en él.
+.PP
+La línea 4 se puede montar en cualquier momento ya que su \fIDIR\fP (y su
+directorio de origen) es completamente independiente de todos los otros
+montajes personalizados. Cuando se monta, \fIVOL\fP/usr será la rama rw debido
+a la opción \fBunion\fP y tan sólo contendrá la diferencia en comparación con
+el sistema de ficheros subyacente de sólo lectura. Por eso los paquetes
+pueden ser instalados en /usr con gran eficiencia de espacio comparado con
+los montajes enlazados, ya que en este último caso el contenido de /usr
+tendría que ser copiado en \fIVOL\fP/usr durante la preinstalación inicial.
+
+.SH "VER ADEMÁS"
+\fIlive\-boot\fP(7)
+.PP
+\fIlive\-build\fP(7)
+.PP
+\fIlive\-config\fP(7)
+.PP
+\fIlive\-tools\fP(7)
+
+.SH "PÁGINA WEB"
+Se puede encontrar más información acerca de live\-boot y el proyecto Debian
+Live en la página web <\fIhttp://live.debian.net/\fP> y en el manual en
+<\fIhttp://live.debian.net/manual/\fP>.
+
+.SH ERRORES
+Se puede notificar los fallos enviando un informe de errores sobre el
+paquete live\-boot en el Debian Bug Tracking System en
+<\fIhttp://bugs.debian.org/\fP> o escribiendo un mensaje a la lista de
+correo de Debian Live a la dirección
+<\fIdebian\-live@lists.debian.org\fP>.
+
+.SH AUTOR
+persistence.conf fue escrito por anonym <\fIanonym@lavabit.com\fP> para
+el proyecto Debian.
index 21a13ac..d24cbed 100644 (file)
@@ -1,14 +1,13 @@
 # German translations for live-boot package
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright (C) 2006-2012 Daniel Baumann <daniel@debian.org>
 # This file is distributed under the same license as the live-boot package.
-# Automatically generated, 2012.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: live-boot VERSION\n"
-"POT-Creation-Date: 2012-04-09 18:57+0300\n"
+"Project-Id-Version: live-boot 3.0~b6-1\n"
+"POT-Creation-Date: 2012-10-02 10:38+0300\n"
 "PO-Revision-Date: 2012-04-08 22:48+0300\n"
-"Last-Translator: Automatically generated\n"
+"Last-Translator: Daniel Baumann <daniel@debian.org>\n"
 "Language-Team: none\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
@@ -17,31 +16,31 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
+#: en/live-boot.7:1 en/persistence.conf.5:1
 #, no-wrap
 msgid "LIVE-BOOT"
 msgstr ""
 
 #. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
+#: en/live-boot.7:1 en/persistence.conf.5:1
 #, no-wrap
-msgid "2012-04-09"
-msgstr ""
+msgid "2012-10-02"
+msgstr "02.10.2012"
 
 #. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
+#: en/live-boot.7:1 en/persistence.conf.5:1
 #, no-wrap
-msgid "3.0~a27-1"
-msgstr ""
+msgid "3.0~b6-1"
+msgstr "3.0~b6-1"
 
 #. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
+#: en/live-boot.7:1 en/persistence.conf.5:1
 #, no-wrap
 msgid "Debian Live Project"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:3 en/live-persistence.conf.5:3 en/live-snapshot.1:3
+#: en/live-boot.7:3 en/persistence.conf.5:3
 #, no-wrap
 msgid "NAME"
 msgstr ""
@@ -52,7 +51,7 @@ msgid "B<live-boot> - System Boot Scripts"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:6 en/live-persistence.conf.5:7 en/live-snapshot.1:17
+#: en/live-boot.7:6 en/persistence.conf.5:7
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr ""
@@ -133,12 +132,12 @@ msgstr ""
 msgid ""
 "B<live-boot> can be configured (but not activated) through configuration "
 "files. Those files can be placed either in the root filesystem itself (/etc/"
-"live/boot.conf, /etc/live/boot.d/*.conf), or on the live media (live/boot."
-"conf, live/boot.d/*.conf)."
+"live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, "
+"live/boot/*)."
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:28 en/live-persistence.conf.5:57 en/live-snapshot.1:20
+#: en/live-boot.7:28 en/persistence.conf.5:57
 #, no-wrap
 msgid "OPTIONS"
 msgstr ""
@@ -158,8 +157,8 @@ msgstr ""
 #. type: Plain text
 #: 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, "
+"Set the accessibility level for physically or visually impaired users. "
+"ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, "
 "v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, "
 "m2=moderate motor difficulties."
 msgstr ""
@@ -225,7 +224,7 @@ msgstr ""
 #. type: Plain text
 #: en/live-boot.7:52
 msgid ""
-"Due to current limitations in busyboxs wget and DNS resolution, an URL can "
+"Due to current limitations in busybox's wget and DNS resolution, an URL can "
 "not contain a hostname but an IP only."
 msgstr ""
 
@@ -325,7 +324,7 @@ msgstr ""
 #. type: IP
 #: en/live-boot.7:75
 #, no-wrap
-msgid "B<integrity-check>"
+msgid "B<verify-checksums>"
 msgstr ""
 
 #. type: Plain text
@@ -572,16 +571,10 @@ msgstr ""
 #: en/live-boot.7:113
 msgid ""
 "live-boot will probe devices for persistence media. These can be partitions "
-"(with the correct GPT name), filesystems (with the correct label) or image/"
-"archive files (with the correct file name). Overlays are labeled/named "
-"either \"full-ov\", which will be mounted on /, or \"custom-ov\", which can "
-"be completely customized (see I<live-persistence.conf>(5)); snapshots are "
-"labeled/named either \"live-sn\" or \"home-sn\" and will be extracted into / "
-"or /home, respectively (see I<live-snapshot>(1) for more information). The "
-"order these are handled are: full-ov, custom-ov, live-sn, home-sn. Overlay "
-"image files and snapshot archive files have extensions which determines "
-"their filesystem or archive type, e.g. \"custom-ov.ext4\" and \"\\home-sn."
-"squashfs\"."
+"(with the correct GPT name), filesystems (with the correct label) or image "
+"files (with the correct file name). Overlays are labeled/named \"persistence"
+"\" (see I<persistence.conf>(5)). Overlay image files have extensions which "
+"determines their filesystem, e.g. \"persistence.ext4\"."
 msgstr ""
 
 #. type: IP
@@ -610,9 +603,9 @@ msgstr ""
 #: en/live-boot.7:117
 msgid ""
 "If you specify the keyword 'removable', live-boot will try to find "
-"persistence 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."
+"persistence 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
@@ -626,8 +619,7 @@ msgstr ""
 msgid ""
 "This option determines which types of persistence 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\"."
+"\"home-rw\"). The default is \"overlay\"."
 msgstr ""
 
 #. type: IP
@@ -654,8 +646,7 @@ msgstr ""
 #: en/live-boot.7:123
 msgid ""
 "Filesystem changes are not saved back to persistence media. In particular, "
-"overlays and netboot NFS mounts are mounted read-only, and snapshots are not "
-"resynced on shutdown."
+"overlays and netboot NFS mounts are mounted read-only."
 msgstr ""
 
 #. type: IP
@@ -713,7 +704,7 @@ msgstr ""
 #: en/live-boot.7:131
 msgid ""
 "This parameter will make live-boot to show on \"/\" the ro filesystems "
-"(mostly compressed) on \"/live\". This is not enabled by default because "
+"(mostly compressed) on \"/lib/live\". This is not enabled by default because "
 "could lead to problems by applications like \"mono\" which store binary "
 "paths on installation."
 msgstr ""
@@ -783,26 +774,27 @@ msgid "FILES (old)"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:143 en/live-snapshot.1:43
+#: en/live-boot.7:143
 #, no-wrap
 msgid "B</etc/live.conf>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:145 en/live-snapshot.1:45
+#: en/live-boot.7:145
 msgid ""
 "Some variables can be configured via this config file (inside the live "
 "system)."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:145 en/live-snapshot.1:45
+#: en/live-boot.7:145
 #, no-wrap
 msgid "B<live/filesystem.module>"
 msgstr ""
 
+#.  FIXME
 #. type: Plain text
-#: en/live-boot.7:147 en/live-snapshot.1:47
+#: en/live-boot.7:148
 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 \"/"
@@ -814,105 +806,76 @@ msgid ""
 "are loaded in alphanumeric order."
 msgstr ""
 
-#. type: IP
-#: en/live-boot.7:147 en/live-snapshot.1:47
-#, no-wrap
-msgid "B</etc/live-persistence.binds>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:149 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. "
-"their content does not need to survive reboots when using the persistence "
-"features."
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:152 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 "
-"regenerated each time. This is achieved by bind mounting each listed "
-"directory with a tmpfs on the original path."
-msgstr ""
-
 #. type: SH
-#: en/live-boot.7:153 en/live-snapshot.1:42
+#: en/live-boot.7:149
 #, no-wrap
 msgid "FILES"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:154
+#: en/live-boot.7:150
 #, no-wrap
 msgid "B</etc/live/boot.conf>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:155
+#: en/live-boot.7:151
 #, no-wrap
-msgid "B</etc/live/boot.d/*.conf>"
+msgid "B</etc/live/boot/*>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:156
+#: en/live-boot.7:152
 #, no-wrap
 msgid "B<live/boot.conf>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:157
+#: en/live-boot.7:153
 #, no-wrap
-msgid "B<live/boot.d/*.conf>"
+msgid "B<live/boot/*>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:158
+#: en/live-boot.7:154
 #, no-wrap
-msgid "B<live-persistence.conf>"
+msgid "B<persistence.conf>"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:160 en/live-persistence.conf.5:191 en/live-snapshot.1:54
+#: en/live-boot.7:156 en/persistence.conf.5:191
 #, no-wrap
 msgid "SEE ALSO"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:162
-msgid "I<live-snapshot>(1)"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:164
-msgid "I<live-persistence.conf>(5)"
+#: en/live-boot.7:158
+msgid "I<persistence.conf>(5)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:166 en/live-persistence.conf.5:195 en/live-snapshot.1:58
+#: en/live-boot.7:160 en/persistence.conf.5:195
 msgid "I<live-build>(7)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:168 en/live-persistence.conf.5:197 en/live-snapshot.1:60
+#: en/live-boot.7:162 en/persistence.conf.5:197
 msgid "I<live-config>(7)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:170 en/live-persistence.conf.5:199 en/live-snapshot.1:62
+#: en/live-boot.7:164 en/persistence.conf.5:199
 msgid "I<live-tools>(7)"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:171 en/live-persistence.conf.5:200 en/live-snapshot.1:63
+#: en/live-boot.7:165 en/persistence.conf.5:200
 #, no-wrap
 msgid "HOMEPAGE"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:173 en/live-persistence.conf.5:204 en/live-snapshot.1:65
+#: en/live-boot.7:167 en/persistence.conf.5:204
 msgid ""
 "More information about live-boot and the Debian Live project can be found on "
 "the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
@@ -920,13 +883,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:174 en/live-persistence.conf.5:205 en/live-snapshot.1:66
+#: en/live-boot.7:168 en/persistence.conf.5:205
 #, no-wrap
 msgid "BUGS"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:176 en/live-persistence.conf.5:210 en/live-snapshot.1:68
+#: en/live-boot.7:170 en/persistence.conf.5:210
 msgid ""
 "Bugs can be reported by submitting a bugreport for the live-boot package in "
 "the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
@@ -935,13 +898,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:177 en/live-persistence.conf.5:211 en/live-snapshot.1:69
+#: en/live-boot.7:171 en/persistence.conf.5:211
 #, no-wrap
 msgid "AUTHOR"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:178 en/live-snapshot.1:70
+#: en/live-boot.7:172
 msgid ""
 "live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
 "the Debian project."
diff --git a/manpages/po/de/live-snapshot.1.po b/manpages/po/de/live-snapshot.1.po
deleted file mode 100644 (file)
index 10a592e..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-# German translations for live-boot package
-# Copyright (C) 2012 Free Software Foundation, Inc.
-# This file is distributed under the same license as the live-boot package.
-# Automatically generated, 2012.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: live-boot VERSION\n"
-"POT-Creation-Date: 2012-04-09 18:57+0300\n"
-"PO-Revision-Date: 2012-04-08 22:48+0300\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"Language: de\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ASCII\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
-#, no-wrap
-msgid "LIVE-BOOT"
-msgstr ""
-
-#. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
-#, no-wrap
-msgid "2012-04-09"
-msgstr ""
-
-#. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
-#, no-wrap
-msgid "3.0~a27-1"
-msgstr ""
-
-#. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
-#, no-wrap
-msgid "Debian Live Project"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:3 en/live-persistence.conf.5:3 en/live-snapshot.1:3
-#, no-wrap
-msgid "NAME"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:6 en/live-persistence.conf.5:7 en/live-snapshot.1:17
-#, no-wrap
-msgid "DESCRIPTION"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:28 en/live-persistence.conf.5:57 en/live-snapshot.1:20
-#, no-wrap
-msgid "OPTIONS"
-msgstr ""
-
-#. type: IP
-#: en/live-boot.7:143 en/live-snapshot.1:43
-#, no-wrap
-msgid "B</etc/live.conf>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:145 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:145 en/live-snapshot.1:45
-#, no-wrap
-msgid "B<live/filesystem.module>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:147 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 \"/"
-"live\" directory. If this file exists, only images listed here will be "
-"merged into the root aufs, and they will be loaded in the order listed here. "
-"The first entry in this file will be the \"lowest\" point in the aufs, and "
-"the last file in this list will be on the \"top\" of the aufs, directly "
-"below /overlay.  Without this file, any images in the \"/live\" directory "
-"are loaded in alphanumeric order."
-msgstr ""
-
-#. type: IP
-#: en/live-boot.7:147 en/live-snapshot.1:47
-#, no-wrap
-msgid "B</etc/live-persistence.binds>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:149 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. "
-"their content does not need to survive reboots when using the persistence "
-"features."
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:152 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 "
-"regenerated each time. This is achieved by bind mounting each listed "
-"directory with a tmpfs on the original path."
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:153 en/live-snapshot.1:42
-#, no-wrap
-msgid "FILES"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:160 en/live-persistence.conf.5:191 en/live-snapshot.1:54
-#, no-wrap
-msgid "SEE ALSO"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:166 en/live-persistence.conf.5:195 en/live-snapshot.1:58
-msgid "I<live-build>(7)"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:168 en/live-persistence.conf.5:197 en/live-snapshot.1:60
-msgid "I<live-config>(7)"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:170 en/live-persistence.conf.5:199 en/live-snapshot.1:62
-msgid "I<live-tools>(7)"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:171 en/live-persistence.conf.5:200 en/live-snapshot.1:63
-#, no-wrap
-msgid "HOMEPAGE"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:173 en/live-persistence.conf.5:204 en/live-snapshot.1:65
-msgid ""
-"More information about live-boot and the Debian Live project can be found on "
-"the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
-"E<lt>I<http://live.debian.net/manual/>E<gt>."
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:174 en/live-persistence.conf.5:205 en/live-snapshot.1:66
-#, no-wrap
-msgid "BUGS"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:176 en/live-persistence.conf.5:210 en/live-snapshot.1:68
-msgid ""
-"Bugs can be reported by submitting a bugreport for the live-boot package in "
-"the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
-"writing a mail to the Debian Live mailing list at E<lt>I<debian-live@lists."
-"debian.org>E<gt>."
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:177 en/live-persistence.conf.5:211 en/live-snapshot.1:69
-#, no-wrap
-msgid "AUTHOR"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:178 en/live-snapshot.1:70
-msgid ""
-"live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
-"the Debian project."
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:5
-msgid "B<live-snapshot> - simple script to ease persistence usage"
-msgstr ""
-
-#. type: SH
-#: en/live-snapshot.1:6
-#, no-wrap
-msgid "SYNOPSIS"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:8
-msgid ""
-"B<live-snapshot> [-c|--cow I<DIRECTORY] [-d|--device DEVICE>] [-e|--exclude-"
-"list I<FILE>] [-o|--output I<FILE>] [-t|--type I<TYPE>]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:10
-msgid "B<live-snapshot> [-r|--resync-string STRING]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:12
-msgid "B<live-snapshot> [-h|--help]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:14
-msgid "B<live-snapshot> [-u|--usage]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:16
-msgid "B<live-snapshot> [-v|--version]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:19
-msgid ""
-"live-snapshot is a script which can be used to build the right types of "
-"persistence image files supported by I<live-boot>(7). It is also used on "
-"exit by the live-boot init script to resync the boot-found snapshots devices."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:21
-#, no-wrap
-msgid "-c, --cow I<DIRECTORY>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:23
-msgid ""
-"specifies the input directory to be cloned in the image file. Its default "
-"value \"/live/overlay\" should be right for most uses. However it could be "
-"handy to specify \"/home\" and type ext4 for the type to prepare an image "
-"file suited to be directly mounted by live-boot as home."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:23
-#, no-wrap
-msgid "-d, --device I<DEVICE>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:25
-msgid ""
-"sets the device where the media which the snapshot/persistence file/"
-"partition will be put. If it is not specified, a tmpfs will be used and "
-"linked to the user's desktop to move it where it is needed. If the device "
-"has no filesystem, an ext4 fs will be automatically created and labelled "
-"according to the values specified after the \"--output\" value or with a "
-"sane default."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:25
-#, no-wrap
-msgid "-e, --exclude-list I<FILE>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:27
-msgid ""
-"a file containing a list of filenames/paths that should not be saved. This "
-"exclude list will be remebered on the target snapshot media for reuse."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:27
-#, no-wrap
-msgid "-o, --output I<FILE>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:29
-msgid ""
-"the filename/label used for the output file/partition. If left blank, live-"
-"snapshot will search for a proper file on the device or use the whole "
-"partition."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:29
-#, no-wrap
-msgid "-r, --resync-string I<STRING>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:31
-msgid "internally used on resyncs."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:31
-#, no-wrap
-msgid "-f, --refresh"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:33
-msgid ""
-"try to do the same operation that should be done at reboot or halt, "
-"resyncing boot-time auto discovered snapshots. Useful to prevent a crash or "
-"surge power-off."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:33
-#, no-wrap
-msgid "-t, --type I<TYPE>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:35
-msgid ""
-"Type could be one of \"cpio\", \"squashfs\", \"ext2\", \"ext3\", \"ext4\", "
-"or \"jffs2\"."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:35
-#, no-wrap
-msgid "-h, --help"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:37
-msgid "display help and exit."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:37
-#, no-wrap
-msgid "-u, --usage"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:39
-msgid "show usage and exit."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:39
-#, no-wrap
-msgid "-v, --version"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:41
-msgid "output version information and exit."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:51
-#, no-wrap
-msgid "B</etc/live-snapshot.list>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:53
-msgid ""
-"This optional file, if present changes the behaviour of live-snapshot: only "
-"files and directories listed there are included (integrally) in the "
-"snapshot. Beware, it is an experimental feature that only works for cpio "
-"targets now."
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:56
-msgid "I<live-boot>(1)"
-msgstr ""
diff --git a/manpages/po/de/persistence.conf.5.po b/manpages/po/de/persistence.conf.5.po
new file mode 100644 (file)
index 0000000..6096946
--- /dev/null
@@ -0,0 +1,511 @@
+# German translations for live-boot package
+# Copyright (C) 2006-2012 Daniel Baumann <daniel@debian.org>
+# This file is distributed under the same license as the live-boot package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: live-boot 3.0~b6-1\n"
+"POT-Creation-Date: 2012-10-02 10:38+0300\n"
+"PO-Revision-Date: 2012-04-08 22:48+0300\n"
+"Last-Translator: Daniel Baumann <daniel@debian.org>\n"
+"Language-Team: none\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ASCII\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "LIVE-BOOT"
+msgstr ""
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "2012-10-02"
+msgstr "02.10.2012"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "3.0~b6-1"
+msgstr "3.0~b6-1"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "Debian Live Project"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:3 en/persistence.conf.5:3
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:6 en/persistence.conf.5:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:28 en/persistence.conf.5:57
+#, no-wrap
+msgid "OPTIONS"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:156 en/persistence.conf.5:191
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:160 en/persistence.conf.5:195
+msgid "I<live-build>(7)"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:162 en/persistence.conf.5:197
+msgid "I<live-config>(7)"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:164 en/persistence.conf.5:199
+msgid "I<live-tools>(7)"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:165 en/persistence.conf.5:200
+#, no-wrap
+msgid "HOMEPAGE"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:167 en/persistence.conf.5:204
+msgid ""
+"More information about live-boot and the Debian Live project can be found on "
+"the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
+"E<lt>I<http://live.debian.net/manual/>E<gt>."
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:168 en/persistence.conf.5:205
+#, no-wrap
+msgid "BUGS"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:170 en/persistence.conf.5:210
+msgid ""
+"Bugs can be reported by submitting a bugreport for the live-boot package in "
+"the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
+"writing a mail to the Debian Live mailing list at E<lt>I<debian-live@lists."
+"debian.org>E<gt>."
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:171 en/persistence.conf.5:211
+#, no-wrap
+msgid "AUTHOR"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:6
+msgid ""
+"B<persistence.conf> - Configuration file for persistence media in live-boot"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:13
+msgid ""
+"If live-boot probes a persistence volume with the label (or GPT name, or "
+"file name, but from now on we will just say \"label\") \"persistence\", that "
+"volume's persistence is fully customizable through the B<persistence.conf> "
+"file stored on the root of its file system. Any such labeled volume must "
+"have such a file, or it will be ignored."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:17
+msgid ""
+"The format of B<persistence.conf> allows empty lines and lines starting with "
+"a \"#\" (used for comments), both which will be ignored. A so called "
+"\"custom mount\" has the format:"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:20
+msgid "I<DIR> [I<OPTION>]..."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:24
+msgid ""
+"which roughly translates to \"make I<DIR> persistence in the way described "
+"by the list of I<OPTION>s\"."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:35
+msgid ""
+"For each custom mount I<DIR> must be an absolute path that cannot contain "
+"white spaces or the special . and .. path components, and cannot be /live "
+"(or any of its sub-directories).  Once activated all changes (file deletion, "
+"creation and modification) to I<DIR> on the live file system are stored "
+"persistently into a path equivalent to I<DIR> on the persistence media, "
+"called the source directory. The default way to achieve persistence is to "
+"simply bind-mount the corresponding source directory to I<DIR>, but this can "
+"be changed through the use of I<OPTION>s."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:48
+msgid ""
+"All custom mounts will be done in an order so that no two custom mounts can "
+"\"hide\" each other. For instance, if we have the two I<DIR>:s /a and /a/b "
+"it would always be the case that /a is mounted first, then /a/b. This "
+"remains true no matter how the lines in B<persistence.conf> are ordered, or "
+"if several B<persistence.conf> files on different persistence media are used "
+"at the same time. However, it is forbidden for custom mounts to have their "
+"source directory inside the source directory of another custom mount, so the "
+"source directories that are auto-created by live-boot does not support "
+"\"nested\" mounts like /a and /a/b on the same media. In this case you must "
+"use the B<source> option (see below) to make sure that they are stored in "
+"different source directories."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:56
+msgid ""
+"When a source directory doesn't exist on the persistence media for a certain "
+"custom mount, it will be created automatically, and permissions and "
+"ownership will be optimistically set according to I<DIR>. It will also be "
+"bootstrapped by copying the contents of the I<DIR> into its source directory "
+"on the persistence media. The bootstrapping will not happen when the B<link> "
+"or B<union> options are used (see below)."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:60
+msgid ""
+"Custom mounts defined in B<persistence.conf> accept the following options in "
+"a coma-separated list:"
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:60
+#, no-wrap
+msgid "B<source>=I<PATH>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:69
+msgid ""
+"When given, store the persistence changes into I<PATH> on the persistence "
+"media. I<PATH> must be a relative path (with respect to the persistence "
+"media root) that cannot contain white spaces or the special . or .. path "
+"components, with the exception that it can be just . which means the "
+"persistence media root. This option is mostly relevant if you want to nest "
+"custom mounts, which otherwise would cause errors, or if you want to make "
+"the whole media root available (similar to the now deprecated B<home-rw> "
+"type of persistence)."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:72
+msgid ""
+"The following options are mutually exclusive (only the last given one will "
+"be in effect):"
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:72
+#, no-wrap
+msgid "B<bind>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:74
+msgid "Bind-mount the source directory to I<DIR>. This is the default."
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:74
+#, no-wrap
+msgid "B<link>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:83
+msgid ""
+"Create the directory structure of the source directory on the persistence "
+"media in I<DIR> and create symbolic links from the corresponding place in "
+"I<DIR> to each file in the source directory.  Existing files or directories "
+"with the same name as any link will be overwritten. Note that deleting the "
+"links in I<DIR> will only remove the link, not the corresponding file in the "
+"source; removed links will reappear after a reboot. To permanently add or "
+"delete a file one must do so directly in the source directory."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:91
+msgid ""
+"Effectively B<link> will make only files already in the source directory "
+"persistent, not any other files in I<DIR>. These files must be manually "
+"added to the source directory to make use of this option, and they will "
+"appear in I<DIR> in addition to files already there. This option is useful "
+"when only certain files need to be persistent, not the whole directory "
+"they're in, e.g. some configuration files in a user's home directory."
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:91
+#, no-wrap
+msgid "B<union>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:101
+msgid ""
+"Save the rw branch of a union on the persistence media, so only the changes "
+"are stored persistently. This can potentially reduce disk usage compared to "
+"bind-mounts, and will not hide files added to the read-only media. One "
+"caveat is that the union will use I<DIR> from the image's read-only file "
+"system, not the real file system root, so files created after boot (e.g. by "
+"live-config) will not appear in the union. This option will use the union "
+"file system specified by live-boot's B<union> boot parameter, but is not "
+"supported with B<union=unionmount>."
+msgstr ""
+
+#. type: SH
+#: en/persistence.conf.5:102
+#, no-wrap
+msgid "DIRECTORIES"
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:103
+#, no-wrap
+msgid "B</live/persistence>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:109
+msgid ""
+"All persistence volumes will be mounted here (in a directory corresponding "
+"to the device name). The B<persistence.conf> file can easily be edited "
+"through this mount, as well as any source directories (which is especially "
+"practical for custom mounts using the B<link> option)."
+msgstr ""
+
+#. type: SH
+#: en/persistence.conf.5:110
+#, no-wrap
+msgid "EXAMPLES"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:115
+msgid ""
+"Let's say we have a persistence volume I<VOL> with the a B<persistence.conf> "
+"file containing the following four lines (numbered for ease of reference):"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:115 en/persistence.conf.5:129
+#, no-wrap
+msgid "1."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:118
+msgid "/home/user1 link,source=config-files/user1"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:118 en/persistence.conf.5:133
+#, no-wrap
+msgid "2."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:121
+msgid "/home/user2 link,source=config-files/user2"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:121 en/persistence.conf.5:137
+#, no-wrap
+msgid "3."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:124
+msgid "/home"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:124 en/persistence.conf.5:140
+#, no-wrap
+msgid "4."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:127
+msgid "/usr union"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:129
+msgid "The corresponding source directories are:"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:133
+msgid ""
+"I<VOL>/config-files/user1 (but it would be I<VOL>/home/user1 without the "
+"B<source> option)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:137
+msgid ""
+"I<VOL>/config-files/user2 (but it would be I<VOL>/home/user2 without the "
+"B<source> option)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:140
+msgid "I<VOL>/home"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:143
+msgid "I<VOL>/usr"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:146
+msgid ""
+"It was necessary to set the B<source> options for 1 and 2, since they "
+"otherwise would become nested with 3's source, which is invalid."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:151
+msgid ""
+"Line 3 will be taken care of before line 1 and 2 in order to prevent custom "
+"mounts 1 and 2 from being hidden by 3. When line 3 is handled, I<VOL>/home "
+"is simply bind-mounted on /home. To illustrate what happens for lines 1 and "
+"2, let's say that the following files exist:"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:151
+#, no-wrap
+msgid "a."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:154
+msgid "I<VOL>/config-files/user1/.emacs"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:154
+#, no-wrap
+msgid "b."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:157
+msgid "I<VOL>/config-files/user2/.bashrc"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:157
+#, no-wrap
+msgid "c."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:160
+msgid "I<VOL>/config-files/user2/.ssh/config"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:162
+msgid "Then the following links and directories will be created:"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:162 en/persistence.conf.5:165
+#: en/persistence.conf.5:171
+#, no-wrap
+msgid "Link:"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:165
+msgid "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (from a)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:168
+msgid "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (from b)"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:168
+#, no-wrap
+msgid "Dir:"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:171
+msgid "/homea/user2/.ssh (from c)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:175
+msgid ""
+"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (from c)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:181
+msgid ""
+"One could argue, though, that lines 1 and 2 in the example B<persistence."
+"conf> file above are unnecessary since line 3 already would make all of /"
+"home persistent. The B<link> option is intended for situations where you "
+"don't want a complete directory to be persistent, only certain files in it "
+"or its sub-directories."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:190
+msgid ""
+"Line 4 can be mounted at any time since its I<DIR> (and source directory) is "
+"completely disjoint from all the other custom mounts. When mounted, I<VOL>/"
+"usr will be the rw branch due to the B<union> option, and will only contain "
+"the difference compared to the underlying read-only file system. Hence "
+"packages could be installed into /usr with great space-wise efficiency "
+"compared to bind-mounts, since in the latter case all of /usr would have to "
+"be copied into I<VOL>/usr during the initial bootstrap."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:193
+msgid "I<live-boot>(7)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:213
+msgid ""
+"persistence.conf was written by anonym E<lt>I<anonym@lavabit.com>E<gt> for "
+"the Debian project."
+msgstr ""
diff --git a/manpages/po/es/live-boot.7.po b/manpages/po/es/live-boot.7.po
new file mode 100644 (file)
index 0000000..6e43a91
--- /dev/null
@@ -0,0 +1,1108 @@
+# Spanish translations for live-boot package
+# Copyright (C) 2012 Carlos Zuferri «chals» <chals@altorricon.com>
+# This file is distributed under the same license as the live-boot package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: live-boot 3.0~b6-1\n"
+"POT-Creation-Date: 2012-10-02 10:38+0300\n"
+"PO-Revision-Date: 2012-06-07 20:29+0200\n"
+"Last-Translator: Carlos Zuferri «chals» <chals@altorricon.com>\n"
+"Language-Team:  none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "LIVE-BOOT"
+msgstr "LIVE-BOOT"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "2012-10-02"
+msgstr "02.10.2012"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "3.0~b6-1"
+msgstr "3.0~b6-1"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "Debian Live Project"
+msgstr "Proyecto Debian Live"
+
+#. type: SH
+#: en/live-boot.7:3 en/persistence.conf.5:3
+#, no-wrap
+msgid "NAME"
+msgstr "NOMBRE"
+
+#. type: Plain text
+#: en/live-boot.7:5
+msgid "B<live-boot> - System Boot Scripts"
+msgstr "B<live-boot> - Scripts de Arranque del Sistema"
+
+#. type: SH
+#: en/live-boot.7:6 en/persistence.conf.5:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "DESCRIPCIÓN"
+
+#. type: Plain text
+#: en/live-boot.7:8
+msgid ""
+"B<live-boot> contains the scripts that configure a Debian Live system during "
+"the boot process (early userspace)."
+msgstr ""
+"B<live-boot> contiene los scripts que configuran un sistema Debian Live "
+"durante el proceso de arranque (early userspace)."
+
+#.  FIXME
+#. type: Plain text
+#: en/live-boot.7:11
+msgid ""
+"live-boot is a hook for the initramfs-tools, used to generate a initramfs "
+"capable to boot live systems, such as those created by I<live-helper>(7). "
+"This includes the Debian Live isos, netboot tarballs, and usb stick images."
+msgstr ""
+"live-boot es un hook para initramfs-tools, usado para generar un initramfs "
+"capaz de arrancar sistemas en vivo, tales como los creados por I<live-helper>"
+"(7). Esto incluye las isos de Debian Live, netboot tarballs e imágenes para "
+"llaves usb. "
+
+#.  FIXME
+#. type: Plain text
+#: en/live-boot.7:14
+msgid ""
+"At boot time it will look for a (read-only) media containing a \"/live\" "
+"directory where a root filesystems (often a compressed filesystem image like "
+"squashfs) is stored. If found, it will create a writable environment, using "
+"aufs, for Debian like systems to boot from."
+msgstr ""
+"En el momento del arranque se buscará un dispositivo de sólo lectura que "
+"contenga un directorio \"/live\" dónde se almacena un sistema de ficheros "
+"raíz (a menudo se trata de una imagen comprimida de un sistema de ficheros "
+"como squashfs). Si live-boot lo encuentra, creará un entorno de escritura, "
+"usando aufs, a partir del cual pueda arrancar un sistema Debian u otro "
+"similar."
+
+#. type: SH
+#: en/live-boot.7:15
+#, no-wrap
+msgid "CONFIGURATION"
+msgstr "CONFIGURACIÓN"
+
+#. type: Plain text
+#: en/live-boot.7:17
+msgid ""
+"B<live-boot> can be configured through a boot parameter or a configuration "
+"file."
+msgstr ""
+"B<live-boot> se puede configurar mediante un parámetro de arranque o un "
+"fichero de configuración."
+
+#. 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<lb_config>(1) manual page."
+msgstr ""
+"Para configurar los parámetros de live-boot utilizados por defecto en una "
+"imagen en vivo, ver la opción --bootappend-live en la página de manual "
+"I<lb_config>(1)"
+
+#. type: SS
+#: en/live-boot.7:20
+#, no-wrap
+msgid "Kernel Parameters"
+msgstr "Parámetros del kernel"
+
+#. type: Plain text
+#: en/live-boot.7:22
+msgid ""
+"B<live-boot> is only activated if 'boot=live' was used as a kernel parameter."
+msgstr ""
+"B<live-boot> sólo se activa si se usa 'boot=live' como parámetro del kernel"
+
+#. type: Plain text
+#: en/live-boot.7:24
+msgid ""
+"In addition, there are some more boot parameters to influence the behaviour, "
+"see below."
+msgstr ""
+"Además, hay algunos otros parámetros de arranque que influyen en su "
+"comportamiento, ver más abajo."
+
+#. type: SS
+#: en/live-boot.7:25
+#, no-wrap
+msgid "Configuration Files"
+msgstr "Ficheros de configuración"
+
+#. type: Plain text
+#: en/live-boot.7:27
+msgid ""
+"B<live-boot> can be configured (but not activated) through configuration "
+"files. Those files can be placed either in the root filesystem itself (/etc/"
+"live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, "
+"live/boot/*)."
+msgstr ""
+"B<live-boot> se puede configurar (pero no activar) mediante ficheros de "
+"configuración. Estos ficheros se pueden colocar en el sistema de ficheros "
+"raíz (/etc/live/boot.conf, /etc/live/boot/*), o en el medio en vivo (live/"
+"boot.conf, live/boot/*)."
+
+#. type: SH
+#: en/live-boot.7:28 en/persistence.conf.5:57
+#, no-wrap
+msgid "OPTIONS"
+msgstr "OPCIONES"
+
+#.  FIXME
+#. type: Plain text
+#: en/live-boot.7:31
+msgid "B<live-boot> currently features the following parameters."
+msgstr "B<live-boot> incluye los siguientes parámetros."
+
+#. type: IP
+#: en/live-boot.7:31
+#, no-wrap
+msgid "B<access>=I<ACCESS>"
+msgstr "B<access>=I<ACCESS>"
+
+#. type: Plain text
+#: en/live-boot.7:33
+msgid ""
+"Set the accessibility level for physically or visually impaired users. "
+"ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, "
+"v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, "
+"m2=moderate motor difficulties."
+msgstr ""
+"Establece el nivel de accesibilidad para usuarios con minusvalías físicas o "
+"con discapacidad visual. ACCESS debe ser uno de los siguientes, v1, v2, v3, "
+"m1 o m2. v1=menor deterioro visual, v2=discapacidad visual moderada, "
+"v3=ceguera, m1=dificultades motoras menores, m2=dificultades motoras "
+"moderadas."
+
+#. type: IP
+#: en/live-boot.7:33
+#, no-wrap
+msgid "B<console>=I<TTY,SPEED>"
+msgstr "B<console>=I<TTY,SPEED>"
+
+#. type: Plain text
+#: en/live-boot.7:35
+msgid ""
+"Set the default console to be used with the \"live-getty\" option. Example: "
+"\"console=ttyS0,115200\""
+msgstr ""
+"Establece la consola que se utilizará por defecto con la opción \"live-getty"
+"\". Ejemplo: \"console=ttyS0,115200\""
+
+#. type: IP
+#: en/live-boot.7:35
+#, no-wrap
+msgid "B<debug>"
+msgstr "B<debug>"
+
+#. type: Plain text
+#: en/live-boot.7:37
+msgid "Makes initramfs boot process more verbose."
+msgstr "Hace que el proceso de arranque de initramfs sea más detallado."
+
+#. type: Plain text
+#: en/live-boot.7:39
+msgid "Use: debug=1"
+msgstr "Uso: debug=1"
+
+#. type: Plain text
+#: en/live-boot.7:41
+msgid "Without setting debug to a value the messages may not be shown."
+msgstr ""
+"Si no se asigna un valor a debug, puede que no se muestren los mensajes. "
+
+#. type: IP
+#: en/live-boot.7:41
+#, no-wrap
+msgid "B<fetch>=I<URL>"
+msgstr "B<fetch>=I<URL>"
+
+#. type: IP
+#: en/live-boot.7:42
+#, no-wrap
+msgid "B<httpfs>=I<URL>"
+msgstr "B<httpfs>=I<URL>"
+
+#. type: Plain text
+#: 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 "
+"httpfs2 to mount the image in place. Copying to ram requires more memory and "
+"might take a long time for large images. However, it is more likely to work "
+"correctly because it does not require networking afterwards and the system "
+"operates faster once booted because it does not require to contact the "
+"server anymore."
+msgstr ""
+"Otra forma de arranque en red mediante la descarga de una imagen squashfs a "
+"partir de una URL determinada. El método «fetch» copia la imagen en la "
+"memoria RAM y el método httpfs utiliza fuse y httpfs2 para montar la imagen "
+"en su lugar. Copiar en la memoria RAM requiere más memoria y puede tardar "
+"mucho tiempo con imágenes de gran tamaño. Sin embargo, es más probable que "
+"funcione correctamente, ya que no requiere el uso de la red después y el "
+"sistema funciona más rápido una vez iniciado, debido a que ya no necesita "
+"más ponerse en contacto con el servidor."
+
+#. type: Plain text
+#: en/live-boot.7:52
+msgid ""
+"Due to current limitations in busybox's wget and DNS resolution, an URL can "
+"not contain a hostname but an IP only."
+msgstr ""
+"Debido a las limitaciones actuales de busybox, wget y la resolución de DNS, "
+"una dirección URL no puede contener un nombre de anfitrión, sino sólo una "
+"dirección IP."
+
+#. type: Plain text
+#: en/live-boot.7:54
+msgid "Not working: http://example.com/path/to/your_filesystem.squashfs"
+msgstr "No funciona: http://ejemplo.com/ruta/al/sistema_de_ficheros.squashfs"
+
+#. type: Plain text
+#: en/live-boot.7:56
+msgid "Working: http://1.2.3.4/path/to/your_filesystem.squashfs"
+msgstr "Funciona: http://ejemplo.com/ruta/al/sistema_de_ficheros.squashfs"
+
+#. type: Plain text
+#: 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 "
+"httpd instance."
+msgstr ""
+"Tener en cuenta también que, por lo tanto, no es posible en la actualidad ir "
+"a buscar una imagen en un host virtual basado en nombre de un httpd si está "
+"compartiendo la ip con la instancia principal httpd."
+
+#. type: Plain text
+#: en/live-boot.7:60
+msgid "You may also use the live iso image in place of the squashfs image."
+msgstr ""
+"También se puede utilizar la imagen iso en vivo en lugar de la imagen "
+"squashfs."
+
+#. type: IP
+#: en/live-boot.7:60
+#, no-wrap
+msgid "B<iscsi>=I<server-ip[,server-port];target-name>"
+msgstr "B<iscsi>=I<server-ip[,server-port];target-name>"
+
+#. type: Plain text
+#: 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 "
+"media. If you use the B<iscsitarget> software iSCSI target solution which is "
+"packaged in Debian your ietd.conf might look like this:"
+msgstr ""
+"Arranca desde un objetivo iSCSI que tiene una iso o una imagen disco en vivo "
+"como uno de sus LUNs. Se busca en el objetivo especificado un LUN que sea "
+"similar a un medio en vivo. Si se utiliza el software B<iscsitarget> del "
+"objetivo iSCSI que se encuentra disponible en un paquete Debian la ietd.conf "
+"podría ser similar al siguiente: "
+
+#. type: Plain text
+#: en/live-boot.7:64
+msgid "# The target-name you specify in the iscsi= parameter"
+msgstr "# El nombre de destino se especifica en el parámetro iscsi= "
+
+#. type: Plain text
+#: en/live-boot.7:69
+#, no-wrap
+msgid ""
+"Target E<lt>target-nameE<gt>\n"
+"  Lun 0 Path=E<lt>path-to-your-live-image.isoE<gt>,Type=fileio,IOMode=ro\n"
+"  # If you want to boot multiple machines you might want to look at tuning some parameters like\n"
+"  # Wthreads or MaxConnections\n"
+msgstr ""
+"Target E<lt>target-nameE<gt>\n"
+"  Lun 0 Path=E<lt>path-to-your-live-image.isoE<gt>,Type=fileio,IOMode=ro\n"
+"  # Si se desea arrancar varias máquinas, es posible que se desee afinar algunos parámetros como\n"
+"  # Wthreads o MaxConnections\n"
+
+#. type: IP
+#: en/live-boot.7:69
+#, no-wrap
+msgid "B<findiso>=I</PATH/TO/IMAGE>"
+msgstr "B<findiso>=I</PATH/TO/IMAGE>"
+
+#. type: Plain text
+#: en/live-boot.7:71
+msgid ""
+"Look for the specified ISO file on all disks where it usually looks for the ."
+"squashfs file (so you don't have to know the device name as in fromiso=....)."
+msgstr ""
+"Busca el fichero ISO especificado en todos los discos en los que por lo "
+"general se busca el fichero .squashfs (por lo que no se tiene que saber el "
+"nombre del dispositivo como en fromiso=....)."
+
+#. type: IP
+#: en/live-boot.7:71
+#, no-wrap
+msgid "B<fromiso>=I</PATH/TO/IMAGE>"
+msgstr "B<fromiso>=I</PATH/TO/IMAGE>"
+
+#. type: Plain text
+#: en/live-boot.7:73
+msgid ""
+"Allows to use a filesystem from within an iso image that's available on live-"
+"media."
+msgstr ""
+"Permite utilizar un sistema de ficheros desde dentro de una imagen iso que "
+"está disponible en los medios en vivo."
+
+#. type: IP
+#: en/live-boot.7:73
+#, no-wrap
+msgid "B<ignore_uuid>"
+msgstr "B<ignore_uuid>"
+
+#. type: Plain text
+#: en/live-boot.7:75
+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 "
+"LIVE_GENERATE_UUID=1 when building the initramfs."
+msgstr ""
+"No comprobar que cualquier UUID integrado en el initramfs coincida con el "
+"medio encontrado. Se puede especificar a live-boot que genere un UUID "
+"configurando LIVE_GENERATE_UUID=1 en el momento de crear el initramfs."
+
+#. type: IP
+#: en/live-boot.7:75
+#, no-wrap
+msgid "B<verify-checksums>"
+msgstr "B<verify-checksums>"
+
+#. type: Plain text
+#: en/live-boot.7:77
+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 "
+"live media."
+msgstr ""
+"Si se especifica, se calcula una suma MD5 sobre los medios en vivo durante "
+"el arranque y se compara con el valor md5sum.txt que se encuentra en el "
+"directorio raíz de los medios en vivo."
+
+#. type: IP
+#: en/live-boot.7:77
+#, no-wrap
+msgid "B<ip>=[I<DEVICE>]:[I<CLIENT_IP>]:[I<SERVER_IP>]:[I<GATEWAY_IP>]:[I<NETMASK>]:[I<HOSTNAME>]:[I<AUTOCONF>] [,[I<DEVICE>]:[I<CLIENT_IP>]:[I<SERVER_IP>]:[I<GATEWAY_IP>]:[I<NETMASK>]:[I<HOSTNAME>]:[I<AUTOCONF>]]"
+msgstr "B<ip>=[I<DEVICE>]:[I<CLIENT_IP>]:[I<SERVER_IP>]:[I<GATEWAY_IP>]:[I<NETMASK>]:[I<HOSTNAME>]:[I<AUTOCONF>] [,[I<DEVICE>]:[I<CLIENT_IP>]:[I<SERVER_IP>]:[I<GATEWAY_IP>]:[I<NETMASK>]:[I<HOSTNAME>]:[I<AUTOCONF>]]"
+
+#. type: Plain text
+#: en/live-boot.7:79
+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 "
+"(default). It will be changed in a future release to mimick official kernel "
+"boot param specification (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::"
+"eth0,:::::eth1:dhcp)."
+msgstr ""
+"Permite especificar el nombre(s) y las opciones de la interfaz(ces) que se "
+"debe configurar en el arranque. No especificar esta opción si se desea "
+"utilizar DHCP (opción por defecto). Esto cambiará en una futura versión para "
+"utilizar la misma especificación de los parámetros de arranque que el kernel "
+"oficial (e.g. ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp)."
+
+#. type: IP
+#: en/live-boot.7:79
+#, no-wrap
+msgid "B<ip>=[I<frommedia>]"
+msgstr "B<ip>=[I<frommedia>]"
+
+#. type: Plain text
+#: en/live-boot.7:81
+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/"
+"interfaces instead."
+msgstr ""
+"Si se establece esta variable, no se configura la red ni por dhcp ni usando "
+"una dirección estática y se debe añadir un fichero preconfigurado /etc/"
+"network/interfaces que el sistema utilizará en su lugar."
+
+#. type: IP
+#: en/live-boot.7:81
+#, no-wrap
+msgid "{B<live-media>|B<bootfrom>}=I<DEVICE>"
+msgstr "{B<live-media>|B<bootfrom>}=I<DEVICE>"
+
+#. type: Plain text
+#: en/live-boot.7:83
+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 "
+"filesystem should reside. If it did not find something usable, the normal "
+"scan for block devices is performed."
+msgstr ""
+"Si se especifica una de estas dos formas equivalentes, live-boot en primer "
+"lugar tratará de encontrar este dispositivo buscando el directorio \"/live\" "
+"dónde debe estar la raíz del sistema de ficheros de sólo lectura. Si no "
+"encuentra nada que pueda utilizar, live-boot escaneará los dispositivos "
+"restantes."
+
+#. type: Plain text
+#: en/live-boot.7:85
+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. "
+"Note that if you want to further restrict the media to usb mass storage "
+"only, you can use the 'removable-usb' keyword."
+msgstr ""
+"En lugar de especificar el nombre de un dispositivo real, se puede utilizar "
+"la palabra clave 'removable'  para limitar la búsqueda solo en los medios en "
+"vivo de tipo extraíble. Tener en cuenta que si se desea restringir aún más "
+"los medios a sistemas de almacenamiento masivo USB se puede utilizar la "
+"palabra clave 'removable-usb'"
+
+#. type: IP
+#: en/live-boot.7:85
+#, no-wrap
+msgid "{B<live-media-encryption>|B<encryption>}=I<TYPE>"
+msgstr "{B<live-media-encryption>|B<encryption>}=I<TYPE>"
+
+#. type: Plain text
+#: en/live-boot.7:87
+msgid ""
+"live-boot will mount the encrypted rootfs TYPE, asking the passphrase, "
+"useful to build paranoid live systems :-). TYPE supported so far are \"aes\" "
+"for loop-aes encryption type."
+msgstr ""
+"live-boot montará el TYPE rotfs cifrado,  pidiendo la contraseña. Es útil "
+"para crear sistemas en vivo paranoicos :-) Hasta el momento el TYPE "
+"soportado es \"aes\" para cifrado loop-aes."
+
+#. type: IP
+#: en/live-boot.7:87
+#, no-wrap
+msgid "B<live-media-offset>=I<BYTES>"
+msgstr "B<live-media-offset>=I<BYTES>"
+
+#. type: Plain text
+#: en/live-boot.7:89
+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 "
+"the Debian Live iso or image inside another iso or image, to create \"clean"
+"\" images."
+msgstr ""
+"De esta manera se puede especificar a live-boot que la imagen comienza en "
+"BYTES en el dispositivo anteriormente especificado, o auto-descubierto, esto "
+"podría ser útil para esconder la iso o la imagen Debian Live dentro de otra "
+"iso o imagen, para crear imágenes \"limpias\"."
+
+#. type: IP
+#: en/live-boot.7:89
+#, no-wrap
+msgid "B<live-media-path>=I<PATH>"
+msgstr "B<live-media-path>=I<PATH>"
+
+#. type: Plain text
+#: en/live-boot.7:91
+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 "
+"accordingly."
+msgstr ""
+"Establece la ruta de acceso al sistema de ficheros en vivo en el medio. De "
+"forma predeterminada está en '/live' y no se debe cambiar a menos que se "
+"haya personalizado los medios de forma adecuada."
+
+#. type: IP
+#: en/live-boot.7:91
+#, no-wrap
+msgid "B<live-media-timeout>=I<SECONDS>"
+msgstr "B<live-media-timeout>=I<SECONDS>"
+
+#. type: Plain text
+#: en/live-boot.7:93
+msgid ""
+"Set the timeout in seconds for the device specified by \"live-media=\" to "
+"become ready before giving up."
+msgstr ""
+"Establece el tiempo de espera en segundos para que el dispositivo "
+"especificado por \"live-media=\" esté preparado antes de desistir."
+
+#. type: IP
+#: en/live-boot.7:93
+#, no-wrap
+msgid "B<module>=I<NAME>"
+msgstr "B<module>=I<NAME>"
+
+#. type: Plain text
+#: en/live-boot.7:95
+msgid ""
+"Instead of using the default optional file \"filesystem.module\" (see below) "
+"another file could be specified without the extension \".module\"; it should "
+"be placed on \"/live\" directory of the live medium."
+msgstr ""
+"En lugar de utilizar el fichero opcional por defecto \"filesystem.module"
+"\" (ver más abajo) se podría especificar otro fichero sin la extensión \"."
+"module\"; se debe colocar en el directorio \"/live\" del medio en vivo."
+
+#. type: IP
+#: en/live-boot.7:95
+#, no-wrap
+msgid "B<netboot>[=nfs|cifs]"
+msgstr "B<netboot>[=nfs|cifs]"
+
+#. type: Plain text
+#: en/live-boot.7:97
+msgid ""
+"This tells live-boot to perform a network mount. The parameter \"nfsroot="
+"\" (with optional \"nfsopts=\"), should specify where is the location of the "
+"root filesystem.  With no args, will try cifs first, and if it fails nfs."
+msgstr ""
+"Indica a live-boot que debe hacer un montaje en red. El parámetro  \"nfsroot="
+"\" (con \"nfsopts=\" opcional), debe especificar dónde se encuentra el "
+"sistema de ficheros raíz. Sin argumentos, probará primero cifs, y entonces, "
+"si falla, nfs."
+
+#. type: IP
+#: en/live-boot.7:97
+#, no-wrap
+msgid "B<nfsopts>="
+msgstr "B<nfsopts>="
+
+#. type: Plain text
+#: en/live-boot.7:99
+msgid "This lets you specify custom nfs options."
+msgstr "Permite especificar opciones nfs personalizadas."
+
+#. type: IP
+#: en/live-boot.7:99
+#, no-wrap
+msgid "B<nofastboot>"
+msgstr "B<nofastboot>"
+
+#. type: Plain text
+#: en/live-boot.7:101
+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 "
+"be checked at boot time, use this parameter, otherwise they are skipped."
+msgstr ""
+"Este parámetro deshabilita la desactivación por defecto de la comprobación "
+"del sistema de ficheros en /etc/fstab. Si hay sistemas de ficheros estáticos "
+"en el disco duro y se desea comprobarlos en el momento del arranque, "
+"utilizar este parámetro, de lo contrario, se omite."
+
+#. type: IP
+#: en/live-boot.7:101
+#, no-wrap
+msgid "B<nopersistence>"
+msgstr "B<nopersistence>"
+
+#. type: Plain text
+#: en/live-boot.7:103
+msgid ""
+"disables the \"persistence\" feature, useful if the bootloader (like "
+"syslinux) has been installed with persistence enabled."
+msgstr ""
+"desactiva la \"persistencia\", es útil si el gestor de arranque (como "
+"syslinux) se ha instalado con persistencia habilitada."
+
+#. type: IP
+#: en/live-boot.7:103
+#, no-wrap
+msgid "B<noprompt>"
+msgstr "B<noprompt>"
+
+#. type: Plain text
+#: en/live-boot.7:105
+msgid "Do not prompt to eject the CD or remove the USB flash drive on reboot."
+msgstr ""
+"No preguntar para expulsar el CD o extraer la unidad flash USB al reiniciar."
+
+#. type: IP
+#: en/live-boot.7:105
+#, no-wrap
+msgid "B<noprompt>=I<TYPE>"
+msgstr "B<noprompt>=I<TYPE>"
+
+#. type: Plain text
+#: en/live-boot.7:107
+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 ""
+"Indica a live-boot que no pregunte para expulsar el CD (usando noprompt=cd) "
+"o extraer la unidad flash USB (usando noprompt=usb) al reiniciar."
+
+#. type: IP
+#: en/live-boot.7:107
+#, no-wrap
+msgid "B<ramdisk-size>"
+msgstr "B<ramdisk-size>"
+
+#. type: Plain text
+#: en/live-boot.7:109
+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 "
+"default of mount applies (currently 50% of available RAM). Note that this "
+"option has no currently no effect when booting with toram."
+msgstr ""
+"Este parámetro permite establecer un tamaño de disco RAM personalizado (que "
+"es la opción '-o size' del montaje tmpfs). No hay un tamaño de ramdisk "
+"predeterminado, por lo que se aplica el valor por defecto (actualmente el "
+"50% de la RAM disponible). Tener en cuenta que esta opción no tiene "
+"actualmente ningún efecto cuando se arranca con toram"
+
+#. type: IP
+#: en/live-boot.7:109
+#, no-wrap
+msgid "B<swapon>"
+msgstr "B<swapon>"
+
+#. type: Plain text
+#: en/live-boot.7:111
+msgid "This parameter enables usage of local swap partitions."
+msgstr "Este parámetro permite el uso de particiones swap locales."
+
+#. type: IP
+#: en/live-boot.7:111
+#, no-wrap
+msgid "B<persistence>"
+msgstr "B<persistence>"
+
+#. type: Plain text
+#: en/live-boot.7:113
+msgid ""
+"live-boot will probe devices for persistence media. These can be partitions "
+"(with the correct GPT name), filesystems (with the correct label) or image "
+"files (with the correct file name). Overlays are labeled/named \"persistence"
+"\" (see I<persistence.conf>(5)). Overlay image files have extensions which "
+"determines their filesystem, e.g. \"persistence.ext4\"."
+msgstr ""
+"live-boot buscará dispositivos con \"persistence\". Estos pueden ser "
+"particiones (con el nombre GPT correcto), sistemas de ficheros (con la "
+"etiqueta correcta) o ficheros imagen (con el nombre de fichero correcto). "
+"Los overlays tienen la etiqueta/nombre \"persistence\" (ver I<persistence."
+"conf>(5)). Los ficheros imagen overlay tienen extensiones que determinan su "
+"sistema de ficheros, por ejemplo, \"persistence.ext4\"."
+
+#. type: IP
+#: en/live-boot.7:113
+#, no-wrap
+msgid "B<persistence-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
+msgstr "B<persistence-encryption>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
+
+#. type: Plain text
+#: en/live-boot.7:115
+msgid ""
+"This option determines which types of encryption that we allow to be used "
+"when probing devices for persistence 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 ""
+"Esta opción determina qué tipo de cifrado se usa cuando se prueban los "
+"dispositivos de los medios con persistencia. Si se especifica \"none\" en la "
+"lista, no se permite cifrar el medio; si se especifica \"luks\" en la lista, "
+"se puede usar cifrado LUKS en los medios. Cada vez que se encuentra un "
+"dispositivo que contiene medios cifrados se pregunta al usuario una frase de "
+"contraseña. Por defecto es \"none\"."
+
+#. type: IP
+#: en/live-boot.7:115
+#, no-wrap
+msgid "B<persistence-media>={I<removable>|I<removable-usb>}"
+msgstr "B<persistence-media>={I<removable>|I<removable-usb>}"
+
+#. type: Plain text
+#: en/live-boot.7:117
+msgid ""
+"If you specify the keyword 'removable', live-boot will try to find "
+"persistence 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 ""
+"Si se especifica la palabra clave 'removable', live-boot intentará encontrar "
+"particiones con persistencia únicamente en los medios extraíbles. Tener en "
+"cuenta que si se desea restringir aún más los medios a sistemas de "
+"almacenamiento masivo USB se puede utilizar la palabra clave 'removable-usb'"
+
+#. type: IP
+#: en/live-boot.7:117
+#, no-wrap
+msgid "B<persistence-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
+msgstr "B<persistence-method>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
+
+#. type: Plain text
+#: en/live-boot.7:119
+msgid ""
+"This option determines which types of persistence media we allow. If "
+"\"overlay\" is in the list, we consider overlays (i.e. \"live-rw\" and "
+"\"home-rw\"). The default is \"overlay\"."
+msgstr ""
+"Esta opción determina qué tipos de medios se permiten para la persistencia. "
+"Si se especifica \"overlay\" en la lista, se considera overlays (es decir "
+"\"live-rw\" y \"home-rw\"). Por defecto es \"overlay\"."
+
+#. type: IP
+#: en/live-boot.7:119
+#, no-wrap
+msgid "B<persistence-path>=I<PATH>"
+msgstr "B<persistence-path>=I<PATH>"
+
+#. type: Plain text
+#: en/live-boot.7:121
+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 ""
+"live-boot buscará ficheros con persistencia en el directorio raíz de una "
+"partición, con este parámetro, la ruta se puede configurar de modo que se "
+"pueda tener varios directorios en la misma partición para almacenar ficheros "
+"con persistencia."
+
+#. type: IP
+#: en/live-boot.7:121
+#, no-wrap
+msgid "B<persistence-read-only>"
+msgstr "B<persistence-read-only>"
+
+#. type: Plain text
+#: en/live-boot.7:123
+msgid ""
+"Filesystem changes are not saved back to persistence media. In particular, "
+"overlays and netboot NFS mounts are mounted read-only."
+msgstr ""
+"Los cambios en el sistema de ficheros no se guardan de nuevo en los medios "
+"con persistencia. En particular, los overlays y los montajes NFS de red son "
+"montados en sólo lectura."
+
+#. type: IP
+#: en/live-boot.7:123
+#, no-wrap
+msgid "B<persistence-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
+msgstr "B<persistence-storage>=I<TYPE1>,I<TYPE2> ... I<TYPEn>"
+
+#. type: Plain text
+#: en/live-boot.7:125
+msgid ""
+"This option determines which types of persistence storage to consider when "
+"probing for persistence 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 ""
+"Esta opción determina qué tipos de almacenamiento persistente hay que tener "
+"en cuenta cuando se comprueban los medios con persistencia. Si \"filesystem"
+"\" está en la lista, se usarán los sistemas de ficheros que tengan su "
+"etiqueta correspondiente; si \"file\" está en la lista, todos los sistemas "
+"de ficheros se probarán buscando ficheros y ficheros imagen con sus "
+"etiquetas correspondientes. Por defecto es \"file,filesystem\". "
+
+#. type: IP
+#: en/live-boot.7:125
+#, no-wrap
+msgid "B<persistence-subtext>=I<SUFFIX>"
+msgstr "B<persistence-subtext>=I<SUFFIX>"
+
+#. type: Plain text
+#: en/live-boot.7:127
+msgid ""
+"Add a suffix when searching for the image filenames or partition labels to "
+"use for the above mentioned persistence 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 "
+"persistence storage choices."
+msgstr ""
+"Añadir un sufijo cuando se buscan los nombres de las imágenes o etiquetas de "
+"las particiones a utilizar para la función de la persistencia mencionada "
+"anteriormente, el SUFFIX se añadirá después de un guión (por ejemplo: \"live-"
+"sn\" se transformaría en \"live-sn-SUFFIX\"). Esto es útil para probar "
+"múltiples sistemas en vivo basados en live-boot con diferentes opciones de "
+"almacenamiento con persistencia."
+
+#. type: IP
+#: en/live-boot.7:127
+#, no-wrap
+msgid "B<quickreboot>"
+msgstr "B<quickreboot>"
+
+#. type: Plain text
+#: en/live-boot.7:129
+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 ""
+"Esta opción hace que live-boot reinicie sin tratar de expulsar los medios y "
+"sin pedirle al usuario que extraiga el dispositivo usado para arrancar."
+
+#. type: IP
+#: en/live-boot.7:129
+#, no-wrap
+msgid "B<showmounts>"
+msgstr "B<showmounts>"
+
+#. type: Plain text
+#: en/live-boot.7:131
+msgid ""
+"This parameter will make live-boot to show on \"/\" the ro filesystems "
+"(mostly compressed) on \"/lib/live\". This is not enabled by default because "
+"could lead to problems by applications like \"mono\" which store binary "
+"paths on installation."
+msgstr ""
+"Este parámetro hará que live-boot muestre en \"/\" los sistemas de ficheros "
+"ro (en su mayoría comprimidos) en \"/lib/live\". Esto no está activado por "
+"defecto, porque podría dar lugar a problemas con aplicaciones como \"mono\" "
+"que almacenan rutas binarias durante su instalación."
+
+#. type: IP
+#: en/live-boot.7:131
+#, no-wrap
+msgid "B<silent>"
+msgstr "B<silent>"
+
+#. type: Plain text
+#: en/live-boot.7:133
+msgid ""
+"If you boot with the normal quiet parameter, live-boot hides most messages "
+"of its own. When adding silent, it hides all."
+msgstr ""
+"Si arranca con el parámetro normal quiet, live-boot esconde la mayoría de "
+"sus propios mensajes. Cuando se utiliza silent, los esconde todos."
+
+#. type: IP
+#: en/live-boot.7:133
+#, no-wrap
+msgid "B<todisk>=I<DEVICE>"
+msgstr "B<todisk>=I<DEVICE>"
+
+#. type: Plain text
+#: en/live-boot.7:135
+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 "
+"needs a lot of free space. Subsequent boots should then skip this step and "
+"just specify the \"live-media=DEVICE\" boot parameter with the same DEVICE "
+"used this time."
+msgstr ""
+"Al añadir este parámetro, live-boot tratará de copiar la totalidad de medios "
+"de sólo lectura en el dispositivo especificado antes de montar el sistema de "
+"ficheros raíz. Probablemente hace falta una gran cantidad de espacio libre. "
+"Los arranques posteriores deben saltar este paso y basta con especificar el "
+"parámetro de arranque \"live-media=DEVICE\" con el mismo DEVICE que se ha "
+"utilizado esta vez."
+
+#. type: IP
+#: en/live-boot.7:135
+#, no-wrap
+msgid "B<toram>"
+msgstr "B<toram>"
+
+#. type: Plain text
+#: en/live-boot.7:137
+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 "
+"lot of ram, according to the space used by the read-only media."
+msgstr ""
+"Al añadir este parámetro, live-boot trata de copiar los medios de sólo "
+"lectura enteros en la memoria RAM del ordenador antes de montar el sistema "
+"de ficheros raíz. Para esto puede ser necesaria mucha memoria RAM, según el "
+"espacio utilizado por los medios de sólo lectura."
+
+#. type: IP
+#: en/live-boot.7:137
+#, no-wrap
+msgid "B<union>=aufs|unionfs"
+msgstr "B<union>=aufs|unionfs"
+
+#.  FIXME
+#. type: Plain text
+#: en/live-boot.7:140
+msgid ""
+"By default, live-boot uses aufs. With this parameter, you can switch to "
+"unionfs."
+msgstr ""
+"Por defecto, live-boot usa aufs. Con este parámetro, se puede cambiar a "
+"unionfs."
+
+#.  FIXME
+#. type: SH
+#: en/live-boot.7:142
+#, no-wrap
+msgid "FILES (old)"
+msgstr "FICHEROS (antiguos)"
+
+#. type: IP
+#: en/live-boot.7:143
+#, no-wrap
+msgid "B</etc/live.conf>"
+msgstr "B</etc/live.conf>"
+
+#. type: Plain text
+#: en/live-boot.7:145
+msgid ""
+"Some variables can be configured via this config file (inside the live "
+"system)."
+msgstr ""
+"Algunas variables pueden ser configuradas a través de este fichero de "
+"configuración (dentro del sistema en vivo)."
+
+#. type: IP
+#: en/live-boot.7:145
+#, no-wrap
+msgid "B<live/filesystem.module>"
+msgstr "B<live/filesystem.module>"
+
+#.  FIXME
+#. type: Plain text
+#: en/live-boot.7:148
+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 \"/"
+"live\" directory. If this file exists, only images listed here will be "
+"merged into the root aufs, and they will be loaded in the order listed here. "
+"The first entry in this file will be the \"lowest\" point in the aufs, and "
+"the last file in this list will be on the \"top\" of the aufs, directly "
+"below /overlay.  Without this file, any images in the \"/live\" directory "
+"are loaded in alphanumeric order."
+msgstr ""
+"Este fichero opcional (dentro del medio en vivo) contiene una lista de "
+"nombres de ficheros separados por espacios en blanco o retornos de carro que "
+"corresponden a imágenes de disco en el directorio \"/live\". Si este fichero "
+"existe, sólo las imágenes que figuran en esta lista se fusionarán en la raíz "
+"aufs, y se cargarán en el orden en que aparecen aquí. La primera entrada en "
+"este fichero será el punto \"más bajo\" en el aufs y el último fichero de "
+"esta lista estará en el punto \"más alto\" del aufs, justo debajo de /"
+"overlay. Sin este fichero, las imágenes en el directorio  \"/live\" se "
+"cargan en orden alfanumérico."
+
+#. type: SH
+#: en/live-boot.7:149
+#, no-wrap
+msgid "FILES"
+msgstr "FICHEROS"
+
+#. type: IP
+#: en/live-boot.7:150
+#, no-wrap
+msgid "B</etc/live/boot.conf>"
+msgstr "B</etc/live/boot.conf>"
+
+#. type: IP
+#: en/live-boot.7:151
+#, no-wrap
+msgid "B</etc/live/boot/*>"
+msgstr "B</etc/live/boot/*>"
+
+#. type: IP
+#: en/live-boot.7:152
+#, no-wrap
+msgid "B<live/boot.conf>"
+msgstr "B<live/boot.conf>"
+
+#. type: IP
+#: en/live-boot.7:153
+#, no-wrap
+msgid "B<live/boot/*>"
+msgstr "B<live/boot.d/*>"
+
+#. type: IP
+#: en/live-boot.7:154
+#, no-wrap
+msgid "B<persistence.conf>"
+msgstr "B<persistence.conf>"
+
+#. type: SH
+#: en/live-boot.7:156 en/persistence.conf.5:191
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "VER ADEMÁS"
+
+#. type: Plain text
+#: en/live-boot.7:158
+msgid "I<persistence.conf>(5)"
+msgstr "I<persistence.conf>(5)"
+
+#. type: Plain text
+#: en/live-boot.7:160 en/persistence.conf.5:195
+msgid "I<live-build>(7)"
+msgstr "I<live-build>(7)"
+
+#. type: Plain text
+#: en/live-boot.7:162 en/persistence.conf.5:197
+msgid "I<live-config>(7)"
+msgstr "I<live-config>(7)"
+
+#. type: Plain text
+#: en/live-boot.7:164 en/persistence.conf.5:199
+msgid "I<live-tools>(7)"
+msgstr "I<live-tools>(7)"
+
+#. type: SH
+#: en/live-boot.7:165 en/persistence.conf.5:200
+#, no-wrap
+msgid "HOMEPAGE"
+msgstr "PÁGINA WEB"
+
+#. type: Plain text
+#: en/live-boot.7:167 en/persistence.conf.5:204
+msgid ""
+"More information about live-boot and the Debian Live project can be found on "
+"the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
+"E<lt>I<http://live.debian.net/manual/>E<gt>."
+msgstr ""
+"Se puede encontrar más información acerca de live-boot y el proyecto Debian "
+"Live en la página web E<lt>I<http://live.debian.net/>E<gt> y en el manual en "
+"E<lt>I<http://live.debian.net/manual/>E<gt>."
+
+#. type: SH
+#: en/live-boot.7:168 en/persistence.conf.5:205
+#, no-wrap
+msgid "BUGS"
+msgstr "ERRORES"
+
+#. type: Plain text
+#: en/live-boot.7:170 en/persistence.conf.5:210
+msgid ""
+"Bugs can be reported by submitting a bugreport for the live-boot package in "
+"the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
+"writing a mail to the Debian Live mailing list at E<lt>I<debian-live@lists."
+"debian.org>E<gt>."
+msgstr ""
+"Se puede notificar los fallos enviando un informe de errores sobre el "
+"paquete live-boot en el Debian Bug Tracking System en E<lt>I<http://bugs."
+"debian.org/>E<gt> o escribiendo un mensaje a la lista de correo de Debian "
+"Live a la dirección E<lt>I<debian-live@lists.debian.org>E<gt>."
+
+#. type: SH
+#: en/live-boot.7:171 en/persistence.conf.5:211
+#, no-wrap
+msgid "AUTHOR"
+msgstr "AUTOR"
+
+#. type: Plain text
+#: en/live-boot.7:172
+msgid ""
+"live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
+"the Debian project."
+msgstr ""
+"live-boot fue escrito por Daniel Baumann E<lt>I<daniel@debian.org>E<gt> para "
+"el proyecto Debian."
diff --git a/manpages/po/es/persistence.conf.5.po b/manpages/po/es/persistence.conf.5.po
new file mode 100644 (file)
index 0000000..3fe87c3
--- /dev/null
@@ -0,0 +1,638 @@
+# Spanish translations for live-boot package
+# Copyright (C) 2012 Carlos Zuferri «chals» <chals@altorricon.com>
+# This file is distributed under the same license as the live-boot package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: live-boot 3.0~b6-1\n"
+"POT-Creation-Date: 2012-10-02 10:38+0300\n"
+"PO-Revision-Date: 2012-06-07 19:11+0200\n"
+"Last-Translator: Carlos Zuferri «chals» <chals@altorricon.com>\n"
+"Language-Team:  none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "LIVE-BOOT"
+msgstr "LIVE-BOOT"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "2012-10-02"
+msgstr "02.10.2012"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "3.0~b6-1"
+msgstr "3.0~b6-1"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "Debian Live Project"
+msgstr "Proyecto Debian Live"
+
+#. type: SH
+#: en/live-boot.7:3 en/persistence.conf.5:3
+#, no-wrap
+msgid "NAME"
+msgstr "NOMBRE"
+
+#. type: SH
+#: en/live-boot.7:6 en/persistence.conf.5:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "DESCRIPCIÓN"
+
+#. type: SH
+#: en/live-boot.7:28 en/persistence.conf.5:57
+#, no-wrap
+msgid "OPTIONS"
+msgstr "OPCIONES"
+
+#. type: SH
+#: en/live-boot.7:156 en/persistence.conf.5:191
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "VER ADEMÁS"
+
+#. type: Plain text
+#: en/live-boot.7:160 en/persistence.conf.5:195
+msgid "I<live-build>(7)"
+msgstr "I<live-build>(7)"
+
+#. type: Plain text
+#: en/live-boot.7:162 en/persistence.conf.5:197
+msgid "I<live-config>(7)"
+msgstr "I<live-config>(7)"
+
+#. type: Plain text
+#: en/live-boot.7:164 en/persistence.conf.5:199
+msgid "I<live-tools>(7)"
+msgstr "I<live-tools>(7)"
+
+#. type: SH
+#: en/live-boot.7:165 en/persistence.conf.5:200
+#, no-wrap
+msgid "HOMEPAGE"
+msgstr "PÁGINA WEB"
+
+#. type: Plain text
+#: en/live-boot.7:167 en/persistence.conf.5:204
+msgid ""
+"More information about live-boot and the Debian Live project can be found on "
+"the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
+"E<lt>I<http://live.debian.net/manual/>E<gt>."
+msgstr ""
+"Se puede encontrar más información acerca de live-boot y el proyecto Debian "
+"Live en la página web E<lt>I<http://live.debian.net/>E<gt> y en el manual en "
+"E<lt>I<http://live.debian.net/manual/>E<gt>."
+
+#. type: SH
+#: en/live-boot.7:168 en/persistence.conf.5:205
+#, no-wrap
+msgid "BUGS"
+msgstr "ERRORES"
+
+#. type: Plain text
+#: en/live-boot.7:170 en/persistence.conf.5:210
+msgid ""
+"Bugs can be reported by submitting a bugreport for the live-boot package in "
+"the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
+"writing a mail to the Debian Live mailing list at E<lt>I<debian-live@lists."
+"debian.org>E<gt>."
+msgstr ""
+"Se puede notificar los fallos enviando un informe de errores sobre el "
+"paquete live-boot en el Debian Bug Tracking System en E<lt>I<http://bugs."
+"debian.org/>E<gt> o escribiendo un mensaje a la lista de correo de Debian "
+"Live a la dirección E<lt>I<debian-live@lists.debian.org>E<gt>."
+
+#. type: SH
+#: en/live-boot.7:171 en/persistence.conf.5:211
+#, no-wrap
+msgid "AUTHOR"
+msgstr "AUTOR"
+
+#. type: Plain text
+#: en/persistence.conf.5:6
+msgid ""
+"B<persistence.conf> - Configuration file for persistence media in live-boot"
+msgstr ""
+"B<persistence.conf> - Fichero para configurar medios de almacenamiento con "
+"persistencia en live-boot"
+
+#. type: Plain text
+#: en/persistence.conf.5:13
+msgid ""
+"If live-boot probes a persistence volume with the label (or GPT name, or "
+"file name, but from now on we will just say \"label\") \"persistence\", that "
+"volume's persistence is fully customizable through the B<persistence.conf> "
+"file stored on the root of its file system. Any such labeled volume must "
+"have such a file, or it will be ignored."
+msgstr ""
+"Si live-boot prueba un volumen persistente con la etiqueta (o nombre GPT, o "
+"nombre de fichero, aunque a partir de este momento nos referiremos a él como "
+"simplemente \"etiqueta\") \"persistence\", la persistencia de ese volumen es "
+"completamente personalizable a través del fichero B<persistence.conf> "
+"almacenado en la raíz de su sistema de ficheros. Cualquier volumen esa "
+"etiqueta debe tener uno de esos ficheros, o si no será ignorado."
+
+#. type: Plain text
+#: en/persistence.conf.5:17
+msgid ""
+"The format of B<persistence.conf> allows empty lines and lines starting with "
+"a \"#\" (used for comments), both which will be ignored. A so called "
+"\"custom mount\" has the format:"
+msgstr ""
+"El formato de B<persistence.conf> permite añadir líneas vacias o líneas que "
+"comiencen por \"#\" (usado para los comentarios), ambos serán ignorados. Un "
+"\"montaje personalizado\" tiene el formato:"
+
+#. type: Plain text
+#: en/persistence.conf.5:20
+msgid "I<DIR> [I<OPTION>]..."
+msgstr "I<DIR> [I<OPTION>]..."
+
+#. type: Plain text
+#: en/persistence.conf.5:24
+msgid ""
+"which roughly translates to \"make I<DIR> persistence in the way described "
+"by the list of I<OPTION>s\"."
+msgstr ""
+"lo que se traduce como \"hacer I<DIR> persistente en la forma descrita en la "
+"lista de I<OPTION>s\"."
+
+#. type: Plain text
+#: en/persistence.conf.5:35
+msgid ""
+"For each custom mount I<DIR> must be an absolute path that cannot contain "
+"white spaces or the special . and .. path components, and cannot be /live "
+"(or any of its sub-directories).  Once activated all changes (file deletion, "
+"creation and modification) to I<DIR> on the live file system are stored "
+"persistently into a path equivalent to I<DIR> on the persistence media, "
+"called the source directory. The default way to achieve persistence is to "
+"simply bind-mount the corresponding source directory to I<DIR>, but this can "
+"be changed through the use of I<OPTION>s."
+msgstr ""
+"Para cada uno de los montajes personalizados I<DIR> debe ser una ruta "
+"absoluta que no puede contener espacios en blanco ni los componentes "
+"especiales . y .. además no puede ser /live (o ninguno de sus sub-"
+"directorios) ni /. Una vez activados, todos los cambios (creación, "
+"modificación y borrado de ficheros) en I<DIR> en el sistema de ficheros en "
+"vivo, son guardados de forma persistente en una ruta equivalente a I<DIR> en "
+"el medio persistente, llamado el directorio de origen. La manera de "
+"conseguir la persistencia por defecto es simplemente hacer un montaje "
+"enlazado (bind-mount N.del T.) del directorio de origen al I<DIR>, aunque "
+"esto se puede cambiar utilizando las opciones I<OPTION>s."
+
+#. type: Plain text
+#: en/persistence.conf.5:48
+msgid ""
+"All custom mounts will be done in an order so that no two custom mounts can "
+"\"hide\" each other. For instance, if we have the two I<DIR>:s /a and /a/b "
+"it would always be the case that /a is mounted first, then /a/b. This "
+"remains true no matter how the lines in B<persistence.conf> are ordered, or "
+"if several B<persistence.conf> files on different persistence media are used "
+"at the same time. However, it is forbidden for custom mounts to have their "
+"source directory inside the source directory of another custom mount, so the "
+"source directories that are auto-created by live-boot does not support "
+"\"nested\" mounts like /a and /a/b on the same media. In this case you must "
+"use the B<source> option (see below) to make sure that they are stored in "
+"different source directories."
+msgstr ""
+"Todos los montajes personalizados serán montados en orden de tal manera que "
+"dos montajes personalizados no se \"escondan\" uno al otro. Por ejemplo, si "
+"tenemos los dos I<DIR>:s /a y /a/b siempre /a será montado en primer lugar, "
+"después /a/b. Esto siempre es así sin importar el orden en que aparezcan las "
+"líneas en B<persistence.conf> o incluso si se usan varios ficheros "
+"B<persistence.conf> en medios persistentes distintos al mismo tiempo. Sin "
+"embargo, no está permitido que un montaje personalizado tenga su directorio "
+"de origen en el interior del directorio de origen de otro montaje "
+"personalizado, ya que los directorios de origen que live-boot crea "
+"automáticamente no tienen soporte para montajes \"anidados\" como /a y /a/b "
+"en el mismo medio. En este caso se debe usar la opción B<source> (ver "
+"debajo) para asegurarse de que se almacenan en directorios de origen "
+"diferentes."
+
+#. type: Plain text
+#: en/persistence.conf.5:56
+msgid ""
+"When a source directory doesn't exist on the persistence media for a certain "
+"custom mount, it will be created automatically, and permissions and "
+"ownership will be optimistically set according to I<DIR>. It will also be "
+"bootstrapped by copying the contents of the I<DIR> into its source directory "
+"on the persistence media. The bootstrapping will not happen when the B<link> "
+"or B<union> options are used (see below)."
+msgstr ""
+"Cuando un directorio de origen no existe en los medios con persistencia para "
+"un montaje personalizado en particular, se creará automáticamente, y los "
+"permisos y sus propietarios se establecen de forma óptima de acuerdo a "
+"I<DIR>. También se realiza una preinstalación (bootstrap N. del T.) copiando "
+"los contenidos de I<DIR> en su directorio de origen en el medio con "
+"persistencia. La preinstalación no se realiza cuando se utilizan las "
+"opciones B<link> o B<union> (ver debajo)."
+
+#. type: Plain text
+#: en/persistence.conf.5:60
+msgid ""
+"Custom mounts defined in B<persistence.conf> accept the following options in "
+"a coma-separated list:"
+msgstr ""
+"Los montajes personalizados definidos en B<persistence.conf> aceptan las "
+"siguientes opciones en una lista separada por comas:"
+
+#. type: IP
+#: en/persistence.conf.5:60
+#, no-wrap
+msgid "B<source>=I<PATH>"
+msgstr "B<source>=I<PATH>"
+
+#. type: Plain text
+#: en/persistence.conf.5:69
+msgid ""
+"When given, store the persistence changes into I<PATH> on the persistence "
+"media. I<PATH> must be a relative path (with respect to the persistence "
+"media root) that cannot contain white spaces or the special . or .. path "
+"components, with the exception that it can be just . which means the "
+"persistence media root. This option is mostly relevant if you want to nest "
+"custom mounts, which otherwise would cause errors, or if you want to make "
+"the whole media root available (similar to the now deprecated B<home-rw> "
+"type of persistence)."
+msgstr ""
+"Cuando se especifica, se guardan los cambios persistentes en I<PATH> en los "
+"medios con persistencia. I<PATH> debe ser una ruta relativa (respecto a la "
+"raíz del medio persistente) que no puede contener espacios en blanco o los "
+"componentes especiales . o .. con la excepción de que puede ser "
+"simplemente . lo que significa la raíz del medio persistente. Esta opción es "
+"relevante si se desea anidar montajes personalizados, lo que de otro modo "
+"produciría errores, o si se desea hacer que toda la raíz del medio esté "
+"disponible (de forma similar al ahora obsoleto tipo de persistencia B<home-"
+"rw>)"
+
+#. type: Plain text
+#: en/persistence.conf.5:72
+msgid ""
+"The following options are mutually exclusive (only the last given one will "
+"be in effect):"
+msgstr ""
+"Las siguientes opciones son mutuamente exclusivas (únicamente la última "
+"tendrá efecto):"
+
+#. type: IP
+#: en/persistence.conf.5:72
+#, no-wrap
+msgid "B<bind>"
+msgstr "B<bind>"
+
+#. type: Plain text
+#: en/persistence.conf.5:74
+msgid "Bind-mount the source directory to I<DIR>. This is the default."
+msgstr ""
+"Montar de forma enlazada el directorio de origen a I<DIR>. Esto es así por "
+"defecto."
+
+#. type: IP
+#: en/persistence.conf.5:74
+#, no-wrap
+msgid "B<link>"
+msgstr "B<link>"
+
+#. type: Plain text
+#: en/persistence.conf.5:83
+msgid ""
+"Create the directory structure of the source directory on the persistence "
+"media in I<DIR> and create symbolic links from the corresponding place in "
+"I<DIR> to each file in the source directory.  Existing files or directories "
+"with the same name as any link will be overwritten. Note that deleting the "
+"links in I<DIR> will only remove the link, not the corresponding file in the "
+"source; removed links will reappear after a reboot. To permanently add or "
+"delete a file one must do so directly in the source directory."
+msgstr ""
+"Crea la estructura de directorios del directorio de origen en el medio "
+"persistente en I<DIR> y crea los enlaces simbólicos desde el lugar "
+"correspondiente en I<DIR> a cada fichero en el directorio de origen. Si los "
+"directorios o ficheros contienen el mismo nombre, al igual que cualquier "
+"otro enlace, serán sobrescritos. Tener en cuenta que los enlaces en I<DIR> "
+"sólo eliminan el enlace, no el fichero correspondiente en el directorio; los "
+"enlaces eliminados reaparecerán tras reiniciar. Para añadir o eliminar un "
+"fichero de forma permanente se debe hacer directamente en el directorio de "
+"origen."
+
+#. type: Plain text
+#: en/persistence.conf.5:91
+msgid ""
+"Effectively B<link> will make only files already in the source directory "
+"persistent, not any other files in I<DIR>. These files must be manually "
+"added to the source directory to make use of this option, and they will "
+"appear in I<DIR> in addition to files already there. This option is useful "
+"when only certain files need to be persistent, not the whole directory "
+"they're in, e.g. some configuration files in a user's home directory."
+msgstr ""
+"B<link> tan sólo hará persistentes los ficheros que ya se encuentran en el "
+"directorio de origen, y no cualquier otro fichero en I<DIR>. Estos ficheros "
+"deben ser añadidos manualmente en el directorio de origen pare utilizar esta "
+"opción y ellos aparecerán en I<DIR> además de los ficheros que ya se "
+"encuentran allí. Esta opción es útil cuando sólo es necesario hacer "
+"persistentes ciertos ficheros y no todo el directorio en el que se "
+"encuentran, por ejemplo, algunos ficheros de configuración en el directorio "
+"home de un usuario."
+
+#. type: IP
+#: en/persistence.conf.5:91
+#, no-wrap
+msgid "B<union>"
+msgstr "B<union>"
+
+#. type: Plain text
+#: en/persistence.conf.5:101
+msgid ""
+"Save the rw branch of a union on the persistence media, so only the changes "
+"are stored persistently. This can potentially reduce disk usage compared to "
+"bind-mounts, and will not hide files added to the read-only media. One "
+"caveat is that the union will use I<DIR> from the image's read-only file "
+"system, not the real file system root, so files created after boot (e.g. by "
+"live-config) will not appear in the union. This option will use the union "
+"file system specified by live-boot's B<union> boot parameter, but is not "
+"supported with B<union=unionmount>."
+msgstr ""
+"Guardar la rama rw de una unión en un medio persistente, de modo que los "
+"cambios son guardados de forma persistente. Potencialmente esto puede "
+"reducir el uso del disco comparado con los montajes enlazados, y no "
+"esconderá los ficheros añadidos a los medios de sólo lectura. Un buen truco "
+"es que la unión utilizará el I<DIR> del sistema de ficheros de sólo lectura "
+"de la imagen y no de la raíz del sistema de ficheros real, por eso los "
+"ficheros que se crean después del arranque (por ejemplo live-config) no "
+"aparecerán en la unión. Esta opción utilizará el sistema de ficheros unión "
+"especificado por el parámetro de arranque B<union> de live-boot pero no "
+"tiene soporte si se utiliza B<union=unionmount>."
+
+#. type: SH
+#: en/persistence.conf.5:102
+#, no-wrap
+msgid "DIRECTORIES"
+msgstr "DIRECTORIOS"
+
+#. type: IP
+#: en/persistence.conf.5:103
+#, no-wrap
+msgid "B</live/persistence>"
+msgstr "B</live/persistence>"
+
+#. type: Plain text
+#: en/persistence.conf.5:109
+msgid ""
+"All persistence volumes will be mounted here (in a directory corresponding "
+"to the device name). The B<persistence.conf> file can easily be edited "
+"through this mount, as well as any source directories (which is especially "
+"practical for custom mounts using the B<link> option)."
+msgstr ""
+"Aquí se montarán todos los volumenes persistentes (en un directorio que "
+"corresponda con el nombre del dispositivo). El fichero B<persistence.conf> "
+"se puede editar fácilmente a través de este montaje, así como cualquier "
+"directorio de origen (esto resulta especialmente práctico para los montajes "
+"personalizados usando la opción B<link>)."
+
+#. type: SH
+#: en/persistence.conf.5:110
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "EJEMPLOS"
+
+#. type: Plain text
+#: en/persistence.conf.5:115
+msgid ""
+"Let's say we have a persistence volume I<VOL> with the a B<persistence.conf> "
+"file containing the following four lines (numbered for ease of reference):"
+msgstr ""
+"Si tenemos un volumen con persistencia I<VOL> con un fichero B<persistence."
+"conf>que contiene las cuatro lineas siguientes (numeradas para una mejor "
+"referencia):"
+
+#. type: TP
+#: en/persistence.conf.5:115 en/persistence.conf.5:129
+#, no-wrap
+msgid "1."
+msgstr "1."
+
+#. type: Plain text
+#: en/persistence.conf.5:118
+msgid "/home/user1 link,source=config-files/user1"
+msgstr "/home/user1 link,source=config-files/user1"
+
+#. type: TP
+#: en/persistence.conf.5:118 en/persistence.conf.5:133
+#, no-wrap
+msgid "2."
+msgstr "2."
+
+#. type: Plain text
+#: en/persistence.conf.5:121
+msgid "/home/user2 link,source=config-files/user2"
+msgstr "/home/user2 link,source=config-files/user2"
+
+#. type: TP
+#: en/persistence.conf.5:121 en/persistence.conf.5:137
+#, no-wrap
+msgid "3."
+msgstr "3."
+
+#. type: Plain text
+#: en/persistence.conf.5:124
+msgid "/home"
+msgstr "/home"
+
+#. type: TP
+#: en/persistence.conf.5:124 en/persistence.conf.5:140
+#, no-wrap
+msgid "4."
+msgstr "4."
+
+#. type: Plain text
+#: en/persistence.conf.5:127
+msgid "/usr union"
+msgstr "/usr union"
+
+#. type: Plain text
+#: en/persistence.conf.5:129
+msgid "The corresponding source directories are:"
+msgstr "Los directorios de origen correspondientes son:"
+
+#. type: Plain text
+#: en/persistence.conf.5:133
+msgid ""
+"I<VOL>/config-files/user1 (but it would be I<VOL>/home/user1 without the "
+"B<source> option)"
+msgstr ""
+"I<VOL>/config-files/user1 (pero sería I<VOL>/home/user1 sin la opción "
+"B<source>)"
+
+#. type: Plain text
+#: en/persistence.conf.5:137
+msgid ""
+"I<VOL>/config-files/user2 (but it would be I<VOL>/home/user2 without the "
+"B<source> option)"
+msgstr ""
+"I<VOL>/config-files/user2 (pero sería I<VOL>/home/user2 sin la opción "
+"B<source>)"
+
+#. type: Plain text
+#: en/persistence.conf.5:140
+msgid "I<VOL>/home"
+msgstr "I<VOL>/home"
+
+#. type: Plain text
+#: en/persistence.conf.5:143
+msgid "I<VOL>/usr"
+msgstr "I<VOL>/usr"
+
+#. type: Plain text
+#: en/persistence.conf.5:146
+msgid ""
+"It was necessary to set the B<source> options for 1 and 2, since they "
+"otherwise would become nested with 3's source, which is invalid."
+msgstr ""
+"Era necesario establecer las opciones B<source> para 1 y 2, ya que de otro "
+"modo resultarían anidados con el origen de 3, lo cual no es válido."
+
+#. type: Plain text
+#: en/persistence.conf.5:151
+msgid ""
+"Line 3 will be taken care of before line 1 and 2 in order to prevent custom "
+"mounts 1 and 2 from being hidden by 3. When line 3 is handled, I<VOL>/home "
+"is simply bind-mounted on /home. To illustrate what happens for lines 1 and "
+"2, let's say that the following files exist:"
+msgstr ""
+"La línea 3 será tenida en cuenta antes que las líneas 1 y 3 para evitar que "
+"los montajes personalizados 1 y 2 resulten escondidos por 3. Cuando se "
+"procesa la línea 3, I<VOL>/home es simplemente montado en unión a /home. "
+"Para ilustrar lo que sucede con las líneas 1 y 2, digamos que los siguientes "
+"ficheros existen: "
+
+#. type: TP
+#: en/persistence.conf.5:151
+#, no-wrap
+msgid "a."
+msgstr "a."
+
+#. type: Plain text
+#: en/persistence.conf.5:154
+msgid "I<VOL>/config-files/user1/.emacs"
+msgstr "I<VOL>/config-files/user1/.emacs"
+
+#. type: TP
+#: en/persistence.conf.5:154
+#, no-wrap
+msgid "b."
+msgstr "b."
+
+#. type: Plain text
+#: en/persistence.conf.5:157
+msgid "I<VOL>/config-files/user2/.bashrc"
+msgstr "I<VOL>/config-files/user2/.bashrc"
+
+#. type: TP
+#: en/persistence.conf.5:157
+#, no-wrap
+msgid "c."
+msgstr "c."
+
+#. type: Plain text
+#: en/persistence.conf.5:160
+msgid "I<VOL>/config-files/user2/.ssh/config"
+msgstr "I<VOL>/config-files/user2/.ssh/config"
+
+#. type: Plain text
+#: en/persistence.conf.5:162
+msgid "Then the following links and directories will be created:"
+msgstr "Entonces se crearán los siguientes enlaces y directorios:"
+
+#. type: TP
+#: en/persistence.conf.5:162 en/persistence.conf.5:165
+#: en/persistence.conf.5:171
+#, no-wrap
+msgid "Link:"
+msgstr "Enlace:"
+
+#. type: Plain text
+#: en/persistence.conf.5:165
+msgid "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (from a)"
+msgstr "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (de a)"
+
+#. type: Plain text
+#: en/persistence.conf.5:168
+msgid "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (from b)"
+msgstr "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (de b)"
+
+#. type: TP
+#: en/persistence.conf.5:168
+#, no-wrap
+msgid "Dir:"
+msgstr "Directorio:"
+
+#. type: Plain text
+#: en/persistence.conf.5:171
+msgid "/homea/user2/.ssh (from c)"
+msgstr "/homea/user2/.ssh (de c)"
+
+#. type: Plain text
+#: en/persistence.conf.5:175
+msgid ""
+"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (from c)"
+msgstr ""
+"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (de c)"
+
+#. type: Plain text
+#: en/persistence.conf.5:181
+msgid ""
+"One could argue, though, that lines 1 and 2 in the example B<persistence."
+"conf> file above are unnecessary since line 3 already would make all of /"
+"home persistent. The B<link> option is intended for situations where you "
+"don't want a complete directory to be persistent, only certain files in it "
+"or its sub-directories."
+msgstr ""
+"Se podría decir, sin embargo, que las líneas 1 y 2 en el fichero de ejemplo "
+"B<persistence.conf> anterior son innecesarias ya que la línea 3 ya crearía "
+"el directorio /home persistente. La opción  B<link> se utiliza en "
+"situaciones en las que no se desea guardar de forma persistente un "
+"directorio completo, sino únicamente algunos ficheros o subdirectorios "
+"incluidos en él."
+
+#. type: Plain text
+#: en/persistence.conf.5:190
+msgid ""
+"Line 4 can be mounted at any time since its I<DIR> (and source directory) is "
+"completely disjoint from all the other custom mounts. When mounted, I<VOL>/"
+"usr will be the rw branch due to the B<union> option, and will only contain "
+"the difference compared to the underlying read-only file system. Hence "
+"packages could be installed into /usr with great space-wise efficiency "
+"compared to bind-mounts, since in the latter case all of /usr would have to "
+"be copied into I<VOL>/usr during the initial bootstrap."
+msgstr ""
+"La línea 4 se puede montar en cualquier momento ya que su I<DIR> (y su "
+"directorio de origen) es completamente independiente de todos los otros "
+"montajes personalizados. Cuando se monta, I<VOL>/usr será la rama rw debido "
+"a la opción B<union> y tan sólo contendrá la diferencia en comparación con "
+"el sistema de ficheros subyacente de sólo lectura. Por eso los paquetes "
+"pueden ser instalados en /usr con gran eficiencia de espacio comparado con "
+"los montajes enlazados, ya que en este último caso el contenido de /usr "
+"tendría que ser copiado en I<VOL>/usr durante la preinstalación inicial."
+
+#. type: Plain text
+#: en/persistence.conf.5:193
+msgid "I<live-boot>(7)"
+msgstr "I<live-boot>(7)"
+
+#. type: Plain text
+#: en/persistence.conf.5:213
+msgid ""
+"persistence.conf was written by anonym E<lt>I<anonym@lavabit.com>E<gt> for "
+"the Debian project."
+msgstr ""
+"persistence.conf fue escrito por anonym E<lt>I<anonym@lavabit.com>E<gt> para "
+"el proyecto Debian."
index 1b00187..baa1fa9 100644 (file)
@@ -1,5 +1,4 @@
-[po4a_langs] de
+[po4a_langs] de es
 [po4a_paths] pot/$master.pot $lang:po/$lang/$master.po
 [type: man] en/live-boot.7 $lang:$lang/live-boot.$lang.7
-[type: man] en/live-persistence.conf.5 $lang:$lang/live-persistence.conf.$lang.5
-[type: man] en/live-snapshot.1 $lang:$lang/live-snapshot.$lang.1
+[type: man] en/persistence.conf.5 $lang:$lang/persistence.conf.$lang.5
index 35df2f6..0ff156a 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: live-boot VERSION\n"
-"POT-Creation-Date: 2012-04-09 18:57+0300\n"
+"POT-Creation-Date: 2012-10-02 10:38+0300\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,31 +17,31 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
+#: en/live-boot.7:1 en/persistence.conf.5:1
 #, no-wrap
 msgid "LIVE-BOOT"
 msgstr ""
 
 #. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
+#: en/live-boot.7:1 en/persistence.conf.5:1
 #, no-wrap
-msgid "2012-04-09"
+msgid "2012-10-02"
 msgstr ""
 
 #. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
+#: en/live-boot.7:1 en/persistence.conf.5:1
 #, no-wrap
-msgid "3.0~a27-1"
+msgid "3.0~b6-1"
 msgstr ""
 
 #. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
+#: en/live-boot.7:1 en/persistence.conf.5:1
 #, no-wrap
 msgid "Debian Live Project"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:3 en/live-persistence.conf.5:3 en/live-snapshot.1:3
+#: en/live-boot.7:3 en/persistence.conf.5:3
 #, no-wrap
 msgid "NAME"
 msgstr ""
@@ -52,7 +52,7 @@ msgid "B<live-boot> - System Boot Scripts"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:6 en/live-persistence.conf.5:7 en/live-snapshot.1:17
+#: en/live-boot.7:6 en/persistence.conf.5:7
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr ""
@@ -133,12 +133,12 @@ msgstr ""
 msgid ""
 "B<live-boot> can be configured (but not activated) through configuration "
 "files. Those files can be placed either in the root filesystem itself (/etc/"
-"live/boot.conf, /etc/live/boot.d/*.conf), or on the live media (live/boot."
-"conf, live/boot.d/*.conf)."
+"live/boot.conf, /etc/live/boot/*), or on the live media (live/boot.conf, "
+"live/boot/*)."
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:28 en/live-persistence.conf.5:57 en/live-snapshot.1:20
+#: en/live-boot.7:28 en/persistence.conf.5:57
 #, no-wrap
 msgid "OPTIONS"
 msgstr ""
@@ -158,8 +158,8 @@ msgstr ""
 #. type: Plain text
 #: 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, "
+"Set the accessibility level for physically or visually impaired users. "
+"ACCESS must be one of v1, v2, v3, m1, or m2. v1=lesser visual impairment, "
 "v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, "
 "m2=moderate motor difficulties."
 msgstr ""
@@ -225,7 +225,7 @@ msgstr ""
 #. type: Plain text
 #: en/live-boot.7:52
 msgid ""
-"Due to current limitations in busyboxs wget and DNS resolution, an URL can "
+"Due to current limitations in busybox's wget and DNS resolution, an URL can "
 "not contain a hostname but an IP only."
 msgstr ""
 
@@ -325,7 +325,7 @@ msgstr ""
 #. type: IP
 #: en/live-boot.7:75
 #, no-wrap
-msgid "B<integrity-check>"
+msgid "B<verify-checksums>"
 msgstr ""
 
 #. type: Plain text
@@ -572,16 +572,10 @@ msgstr ""
 #: en/live-boot.7:113
 msgid ""
 "live-boot will probe devices for persistence media. These can be partitions "
-"(with the correct GPT name), filesystems (with the correct label) or image/"
-"archive files (with the correct file name). Overlays are labeled/named "
-"either \"full-ov\", which will be mounted on /, or \"custom-ov\", which can "
-"be completely customized (see I<live-persistence.conf>(5)); snapshots are "
-"labeled/named either \"live-sn\" or \"home-sn\" and will be extracted into / "
-"or /home, respectively (see I<live-snapshot>(1) for more information). The "
-"order these are handled are: full-ov, custom-ov, live-sn, home-sn. Overlay "
-"image files and snapshot archive files have extensions which determines "
-"their filesystem or archive type, e.g. \"custom-ov.ext4\" and \"\\home-sn."
-"squashfs\"."
+"(with the correct GPT name), filesystems (with the correct label) or image "
+"files (with the correct file name). Overlays are labeled/named \"persistence"
+"\" (see I<persistence.conf>(5)). Overlay image files have extensions which "
+"determines their filesystem, e.g. \"persistence.ext4\"."
 msgstr ""
 
 #. type: IP
@@ -610,9 +604,9 @@ msgstr ""
 #: en/live-boot.7:117
 msgid ""
 "If you specify the keyword 'removable', live-boot will try to find "
-"persistence 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."
+"persistence 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
@@ -626,8 +620,7 @@ msgstr ""
 msgid ""
 "This option determines which types of persistence 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\"."
+"\"home-rw\"). The default is \"overlay\"."
 msgstr ""
 
 #. type: IP
@@ -654,8 +647,7 @@ msgstr ""
 #: en/live-boot.7:123
 msgid ""
 "Filesystem changes are not saved back to persistence media. In particular, "
-"overlays and netboot NFS mounts are mounted read-only, and snapshots are not "
-"resynced on shutdown."
+"overlays and netboot NFS mounts are mounted read-only."
 msgstr ""
 
 #. type: IP
@@ -713,7 +705,7 @@ msgstr ""
 #: en/live-boot.7:131
 msgid ""
 "This parameter will make live-boot to show on \"/\" the ro filesystems "
-"(mostly compressed) on \"/live\". This is not enabled by default because "
+"(mostly compressed) on \"/lib/live\". This is not enabled by default because "
 "could lead to problems by applications like \"mono\" which store binary "
 "paths on installation."
 msgstr ""
@@ -783,26 +775,27 @@ msgid "FILES (old)"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:143 en/live-snapshot.1:43
+#: en/live-boot.7:143
 #, no-wrap
 msgid "B</etc/live.conf>"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:145 en/live-snapshot.1:45
+#: en/live-boot.7:145
 msgid ""
 "Some variables can be configured via this config file (inside the live "
 "system)."
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:145 en/live-snapshot.1:45
+#: en/live-boot.7:145
 #, no-wrap
 msgid "B<live/filesystem.module>"
 msgstr ""
 
+#.  FIXME
 #. type: Plain text
-#: en/live-boot.7:147 en/live-snapshot.1:47
+#: en/live-boot.7:148
 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 \"/"
@@ -814,105 +807,76 @@ msgid ""
 "are loaded in alphanumeric order."
 msgstr ""
 
-#. type: IP
-#: en/live-boot.7:147 en/live-snapshot.1:47
-#, no-wrap
-msgid "B</etc/live-persistence.binds>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:149 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. "
-"their content does not need to survive reboots when using the persistence "
-"features."
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:152 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 "
-"regenerated each time. This is achieved by bind mounting each listed "
-"directory with a tmpfs on the original path."
-msgstr ""
-
 #. type: SH
-#: en/live-boot.7:153 en/live-snapshot.1:42
+#: en/live-boot.7:149
 #, no-wrap
 msgid "FILES"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:154
+#: en/live-boot.7:150
 #, no-wrap
 msgid "B</etc/live/boot.conf>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:155
+#: en/live-boot.7:151
 #, no-wrap
-msgid "B</etc/live/boot.d/*.conf>"
+msgid "B</etc/live/boot/*>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:156
+#: en/live-boot.7:152
 #, no-wrap
 msgid "B<live/boot.conf>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:157
+#: en/live-boot.7:153
 #, no-wrap
-msgid "B<live/boot.d/*.conf>"
+msgid "B<live/boot/*>"
 msgstr ""
 
 #. type: IP
-#: en/live-boot.7:158
+#: en/live-boot.7:154
 #, no-wrap
-msgid "B<live-persistence.conf>"
+msgid "B<persistence.conf>"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:160 en/live-persistence.conf.5:191 en/live-snapshot.1:54
+#: en/live-boot.7:156 en/persistence.conf.5:191
 #, no-wrap
 msgid "SEE ALSO"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:162
-msgid "I<live-snapshot>(1)"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:164
-msgid "I<live-persistence.conf>(5)"
+#: en/live-boot.7:158
+msgid "I<persistence.conf>(5)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:166 en/live-persistence.conf.5:195 en/live-snapshot.1:58
+#: en/live-boot.7:160 en/persistence.conf.5:195
 msgid "I<live-build>(7)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:168 en/live-persistence.conf.5:197 en/live-snapshot.1:60
+#: en/live-boot.7:162 en/persistence.conf.5:197
 msgid "I<live-config>(7)"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:170 en/live-persistence.conf.5:199 en/live-snapshot.1:62
+#: en/live-boot.7:164 en/persistence.conf.5:199
 msgid "I<live-tools>(7)"
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:171 en/live-persistence.conf.5:200 en/live-snapshot.1:63
+#: en/live-boot.7:165 en/persistence.conf.5:200
 #, no-wrap
 msgid "HOMEPAGE"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:173 en/live-persistence.conf.5:204 en/live-snapshot.1:65
+#: en/live-boot.7:167 en/persistence.conf.5:204
 msgid ""
 "More information about live-boot and the Debian Live project can be found on "
 "the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
@@ -920,13 +884,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:174 en/live-persistence.conf.5:205 en/live-snapshot.1:66
+#: en/live-boot.7:168 en/persistence.conf.5:205
 #, no-wrap
 msgid "BUGS"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:176 en/live-persistence.conf.5:210 en/live-snapshot.1:68
+#: en/live-boot.7:170 en/persistence.conf.5:210
 msgid ""
 "Bugs can be reported by submitting a bugreport for the live-boot package in "
 "the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
@@ -935,13 +899,13 @@ msgid ""
 msgstr ""
 
 #. type: SH
-#: en/live-boot.7:177 en/live-persistence.conf.5:211 en/live-snapshot.1:69
+#: en/live-boot.7:171 en/persistence.conf.5:211
 #, no-wrap
 msgid "AUTHOR"
 msgstr ""
 
 #. type: Plain text
-#: en/live-boot.7:178 en/live-snapshot.1:70
+#: en/live-boot.7:172
 msgid ""
 "live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
 "the Debian project."
diff --git a/manpages/pot/live-snapshot.1.pot b/manpages/pot/live-snapshot.1.pot
deleted file mode 100644 (file)
index 9967cd9..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-# SOME DESCRIPTIVE TITLE
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# This file is distributed under the same license as the live-boot package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: live-boot VERSION\n"
-"POT-Creation-Date: 2012-04-09 18:57+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
-#, no-wrap
-msgid "LIVE-BOOT"
-msgstr ""
-
-#. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
-#, no-wrap
-msgid "2012-04-09"
-msgstr ""
-
-#. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
-#, no-wrap
-msgid "3.0~a27-1"
-msgstr ""
-
-#. type: TH
-#: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1
-#, no-wrap
-msgid "Debian Live Project"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:3 en/live-persistence.conf.5:3 en/live-snapshot.1:3
-#, no-wrap
-msgid "NAME"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:6 en/live-persistence.conf.5:7 en/live-snapshot.1:17
-#, no-wrap
-msgid "DESCRIPTION"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:28 en/live-persistence.conf.5:57 en/live-snapshot.1:20
-#, no-wrap
-msgid "OPTIONS"
-msgstr ""
-
-#. type: IP
-#: en/live-boot.7:143 en/live-snapshot.1:43
-#, no-wrap
-msgid "B</etc/live.conf>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:145 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:145 en/live-snapshot.1:45
-#, no-wrap
-msgid "B<live/filesystem.module>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:147 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 \"/"
-"live\" directory. If this file exists, only images listed here will be "
-"merged into the root aufs, and they will be loaded in the order listed here. "
-"The first entry in this file will be the \"lowest\" point in the aufs, and "
-"the last file in this list will be on the \"top\" of the aufs, directly "
-"below /overlay.  Without this file, any images in the \"/live\" directory "
-"are loaded in alphanumeric order."
-msgstr ""
-
-#. type: IP
-#: en/live-boot.7:147 en/live-snapshot.1:47
-#, no-wrap
-msgid "B</etc/live-persistence.binds>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:149 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. "
-"their content does not need to survive reboots when using the persistence "
-"features."
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:152 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 "
-"regenerated each time. This is achieved by bind mounting each listed "
-"directory with a tmpfs on the original path."
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:153 en/live-snapshot.1:42
-#, no-wrap
-msgid "FILES"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:160 en/live-persistence.conf.5:191 en/live-snapshot.1:54
-#, no-wrap
-msgid "SEE ALSO"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:166 en/live-persistence.conf.5:195 en/live-snapshot.1:58
-msgid "I<live-build>(7)"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:168 en/live-persistence.conf.5:197 en/live-snapshot.1:60
-msgid "I<live-config>(7)"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:170 en/live-persistence.conf.5:199 en/live-snapshot.1:62
-msgid "I<live-tools>(7)"
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:171 en/live-persistence.conf.5:200 en/live-snapshot.1:63
-#, no-wrap
-msgid "HOMEPAGE"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:173 en/live-persistence.conf.5:204 en/live-snapshot.1:65
-msgid ""
-"More information about live-boot and the Debian Live project can be found on "
-"the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
-"E<lt>I<http://live.debian.net/manual/>E<gt>."
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:174 en/live-persistence.conf.5:205 en/live-snapshot.1:66
-#, no-wrap
-msgid "BUGS"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:176 en/live-persistence.conf.5:210 en/live-snapshot.1:68
-msgid ""
-"Bugs can be reported by submitting a bugreport for the live-boot package in "
-"the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
-"writing a mail to the Debian Live mailing list at E<lt>I<debian-live@lists."
-"debian.org>E<gt>."
-msgstr ""
-
-#. type: SH
-#: en/live-boot.7:177 en/live-persistence.conf.5:211 en/live-snapshot.1:69
-#, no-wrap
-msgid "AUTHOR"
-msgstr ""
-
-#. type: Plain text
-#: en/live-boot.7:178 en/live-snapshot.1:70
-msgid ""
-"live-boot was written by Daniel Baumann E<lt>I<daniel@debian.org>E<gt> for "
-"the Debian project."
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:5
-msgid "B<live-snapshot> - simple script to ease persistence usage"
-msgstr ""
-
-#. type: SH
-#: en/live-snapshot.1:6
-#, no-wrap
-msgid "SYNOPSIS"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:8
-msgid ""
-"B<live-snapshot> [-c|--cow I<DIRECTORY] [-d|--device DEVICE>] [-e|--exclude-"
-"list I<FILE>] [-o|--output I<FILE>] [-t|--type I<TYPE>]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:10
-msgid "B<live-snapshot> [-r|--resync-string STRING]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:12
-msgid "B<live-snapshot> [-h|--help]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:14
-msgid "B<live-snapshot> [-u|--usage]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:16
-msgid "B<live-snapshot> [-v|--version]"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:19
-msgid ""
-"live-snapshot is a script which can be used to build the right types of "
-"persistence image files supported by I<live-boot>(7). It is also used on "
-"exit by the live-boot init script to resync the boot-found snapshots devices."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:21
-#, no-wrap
-msgid "-c, --cow I<DIRECTORY>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:23
-msgid ""
-"specifies the input directory to be cloned in the image file. Its default "
-"value \"/live/overlay\" should be right for most uses. However it could be "
-"handy to specify \"/home\" and type ext4 for the type to prepare an image "
-"file suited to be directly mounted by live-boot as home."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:23
-#, no-wrap
-msgid "-d, --device I<DEVICE>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:25
-msgid ""
-"sets the device where the media which the snapshot/persistence file/"
-"partition will be put. If it is not specified, a tmpfs will be used and "
-"linked to the user's desktop to move it where it is needed. If the device "
-"has no filesystem, an ext4 fs will be automatically created and labelled "
-"according to the values specified after the \"--output\" value or with a "
-"sane default."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:25
-#, no-wrap
-msgid "-e, --exclude-list I<FILE>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:27
-msgid ""
-"a file containing a list of filenames/paths that should not be saved. This "
-"exclude list will be remebered on the target snapshot media for reuse."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:27
-#, no-wrap
-msgid "-o, --output I<FILE>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:29
-msgid ""
-"the filename/label used for the output file/partition. If left blank, live-"
-"snapshot will search for a proper file on the device or use the whole "
-"partition."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:29
-#, no-wrap
-msgid "-r, --resync-string I<STRING>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:31
-msgid "internally used on resyncs."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:31
-#, no-wrap
-msgid "-f, --refresh"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:33
-msgid ""
-"try to do the same operation that should be done at reboot or halt, "
-"resyncing boot-time auto discovered snapshots. Useful to prevent a crash or "
-"surge power-off."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:33
-#, no-wrap
-msgid "-t, --type I<TYPE>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:35
-msgid ""
-"Type could be one of \"cpio\", \"squashfs\", \"ext2\", \"ext3\", \"ext4\", "
-"or \"jffs2\"."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:35
-#, no-wrap
-msgid "-h, --help"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:37
-msgid "display help and exit."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:37
-#, no-wrap
-msgid "-u, --usage"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:39
-msgid "show usage and exit."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:39
-#, no-wrap
-msgid "-v, --version"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:41
-msgid "output version information and exit."
-msgstr ""
-
-#. type: IP
-#: en/live-snapshot.1:51
-#, no-wrap
-msgid "B</etc/live-snapshot.list>"
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:53
-msgid ""
-"This optional file, if present changes the behaviour of live-snapshot: only "
-"files and directories listed there are included (integrally) in the "
-"snapshot. Beware, it is an experimental feature that only works for cpio "
-"targets now."
-msgstr ""
-
-#. type: Plain text
-#: en/live-snapshot.1:56
-msgid "I<live-boot>(1)"
-msgstr ""
diff --git a/manpages/pot/persistence.conf.5.pot b/manpages/pot/persistence.conf.5.pot
new file mode 100644 (file)
index 0000000..760a53c
--- /dev/null
@@ -0,0 +1,512 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the live-boot package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: live-boot VERSION\n"
+"POT-Creation-Date: 2012-10-02 10:38+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "LIVE-BOOT"
+msgstr ""
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "2012-10-02"
+msgstr ""
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "3.0~b6-1"
+msgstr ""
+
+#. type: TH
+#: en/live-boot.7:1 en/persistence.conf.5:1
+#, no-wrap
+msgid "Debian Live Project"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:3 en/persistence.conf.5:3
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:6 en/persistence.conf.5:7
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:28 en/persistence.conf.5:57
+#, no-wrap
+msgid "OPTIONS"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:156 en/persistence.conf.5:191
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:160 en/persistence.conf.5:195
+msgid "I<live-build>(7)"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:162 en/persistence.conf.5:197
+msgid "I<live-config>(7)"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:164 en/persistence.conf.5:199
+msgid "I<live-tools>(7)"
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:165 en/persistence.conf.5:200
+#, no-wrap
+msgid "HOMEPAGE"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:167 en/persistence.conf.5:204
+msgid ""
+"More information about live-boot and the Debian Live project can be found on "
+"the homepage at E<lt>I<http://live.debian.net/>E<gt> and in the manual at "
+"E<lt>I<http://live.debian.net/manual/>E<gt>."
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:168 en/persistence.conf.5:205
+#, no-wrap
+msgid "BUGS"
+msgstr ""
+
+#. type: Plain text
+#: en/live-boot.7:170 en/persistence.conf.5:210
+msgid ""
+"Bugs can be reported by submitting a bugreport for the live-boot package in "
+"the Debian Bug Tracking System at E<lt>I<http://bugs.debian.org/>E<gt> or by "
+"writing a mail to the Debian Live mailing list at E<lt>I<debian-live@lists."
+"debian.org>E<gt>."
+msgstr ""
+
+#. type: SH
+#: en/live-boot.7:171 en/persistence.conf.5:211
+#, no-wrap
+msgid "AUTHOR"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:6
+msgid ""
+"B<persistence.conf> - Configuration file for persistence media in live-boot"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:13
+msgid ""
+"If live-boot probes a persistence volume with the label (or GPT name, or "
+"file name, but from now on we will just say \"label\") \"persistence\", that "
+"volume's persistence is fully customizable through the B<persistence.conf> "
+"file stored on the root of its file system. Any such labeled volume must "
+"have such a file, or it will be ignored."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:17
+msgid ""
+"The format of B<persistence.conf> allows empty lines and lines starting with "
+"a \"#\" (used for comments), both which will be ignored. A so called "
+"\"custom mount\" has the format:"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:20
+msgid "I<DIR> [I<OPTION>]..."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:24
+msgid ""
+"which roughly translates to \"make I<DIR> persistence in the way described "
+"by the list of I<OPTION>s\"."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:35
+msgid ""
+"For each custom mount I<DIR> must be an absolute path that cannot contain "
+"white spaces or the special . and .. path components, and cannot be /live "
+"(or any of its sub-directories).  Once activated all changes (file deletion, "
+"creation and modification) to I<DIR> on the live file system are stored "
+"persistently into a path equivalent to I<DIR> on the persistence media, "
+"called the source directory. The default way to achieve persistence is to "
+"simply bind-mount the corresponding source directory to I<DIR>, but this can "
+"be changed through the use of I<OPTION>s."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:48
+msgid ""
+"All custom mounts will be done in an order so that no two custom mounts can "
+"\"hide\" each other. For instance, if we have the two I<DIR>:s /a and /a/b "
+"it would always be the case that /a is mounted first, then /a/b. This "
+"remains true no matter how the lines in B<persistence.conf> are ordered, or "
+"if several B<persistence.conf> files on different persistence media are used "
+"at the same time. However, it is forbidden for custom mounts to have their "
+"source directory inside the source directory of another custom mount, so the "
+"source directories that are auto-created by live-boot does not support "
+"\"nested\" mounts like /a and /a/b on the same media. In this case you must "
+"use the B<source> option (see below) to make sure that they are stored in "
+"different source directories."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:56
+msgid ""
+"When a source directory doesn't exist on the persistence media for a certain "
+"custom mount, it will be created automatically, and permissions and "
+"ownership will be optimistically set according to I<DIR>. It will also be "
+"bootstrapped by copying the contents of the I<DIR> into its source directory "
+"on the persistence media. The bootstrapping will not happen when the B<link> "
+"or B<union> options are used (see below)."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:60
+msgid ""
+"Custom mounts defined in B<persistence.conf> accept the following options in "
+"a coma-separated list:"
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:60
+#, no-wrap
+msgid "B<source>=I<PATH>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:69
+msgid ""
+"When given, store the persistence changes into I<PATH> on the persistence "
+"media. I<PATH> must be a relative path (with respect to the persistence "
+"media root) that cannot contain white spaces or the special . or .. path "
+"components, with the exception that it can be just . which means the "
+"persistence media root. This option is mostly relevant if you want to nest "
+"custom mounts, which otherwise would cause errors, or if you want to make "
+"the whole media root available (similar to the now deprecated B<home-rw> "
+"type of persistence)."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:72
+msgid ""
+"The following options are mutually exclusive (only the last given one will "
+"be in effect):"
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:72
+#, no-wrap
+msgid "B<bind>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:74
+msgid "Bind-mount the source directory to I<DIR>. This is the default."
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:74
+#, no-wrap
+msgid "B<link>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:83
+msgid ""
+"Create the directory structure of the source directory on the persistence "
+"media in I<DIR> and create symbolic links from the corresponding place in "
+"I<DIR> to each file in the source directory.  Existing files or directories "
+"with the same name as any link will be overwritten. Note that deleting the "
+"links in I<DIR> will only remove the link, not the corresponding file in the "
+"source; removed links will reappear after a reboot. To permanently add or "
+"delete a file one must do so directly in the source directory."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:91
+msgid ""
+"Effectively B<link> will make only files already in the source directory "
+"persistent, not any other files in I<DIR>. These files must be manually "
+"added to the source directory to make use of this option, and they will "
+"appear in I<DIR> in addition to files already there. This option is useful "
+"when only certain files need to be persistent, not the whole directory "
+"they're in, e.g. some configuration files in a user's home directory."
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:91
+#, no-wrap
+msgid "B<union>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:101
+msgid ""
+"Save the rw branch of a union on the persistence media, so only the changes "
+"are stored persistently. This can potentially reduce disk usage compared to "
+"bind-mounts, and will not hide files added to the read-only media. One "
+"caveat is that the union will use I<DIR> from the image's read-only file "
+"system, not the real file system root, so files created after boot (e.g. by "
+"live-config) will not appear in the union. This option will use the union "
+"file system specified by live-boot's B<union> boot parameter, but is not "
+"supported with B<union=unionmount>."
+msgstr ""
+
+#. type: SH
+#: en/persistence.conf.5:102
+#, no-wrap
+msgid "DIRECTORIES"
+msgstr ""
+
+#. type: IP
+#: en/persistence.conf.5:103
+#, no-wrap
+msgid "B</live/persistence>"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:109
+msgid ""
+"All persistence volumes will be mounted here (in a directory corresponding "
+"to the device name). The B<persistence.conf> file can easily be edited "
+"through this mount, as well as any source directories (which is especially "
+"practical for custom mounts using the B<link> option)."
+msgstr ""
+
+#. type: SH
+#: en/persistence.conf.5:110
+#, no-wrap
+msgid "EXAMPLES"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:115
+msgid ""
+"Let's say we have a persistence volume I<VOL> with the a B<persistence.conf> "
+"file containing the following four lines (numbered for ease of reference):"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:115 en/persistence.conf.5:129
+#, no-wrap
+msgid "1."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:118
+msgid "/home/user1 link,source=config-files/user1"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:118 en/persistence.conf.5:133
+#, no-wrap
+msgid "2."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:121
+msgid "/home/user2 link,source=config-files/user2"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:121 en/persistence.conf.5:137
+#, no-wrap
+msgid "3."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:124
+msgid "/home"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:124 en/persistence.conf.5:140
+#, no-wrap
+msgid "4."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:127
+msgid "/usr union"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:129
+msgid "The corresponding source directories are:"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:133
+msgid ""
+"I<VOL>/config-files/user1 (but it would be I<VOL>/home/user1 without the "
+"B<source> option)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:137
+msgid ""
+"I<VOL>/config-files/user2 (but it would be I<VOL>/home/user2 without the "
+"B<source> option)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:140
+msgid "I<VOL>/home"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:143
+msgid "I<VOL>/usr"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:146
+msgid ""
+"It was necessary to set the B<source> options for 1 and 2, since they "
+"otherwise would become nested with 3's source, which is invalid."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:151
+msgid ""
+"Line 3 will be taken care of before line 1 and 2 in order to prevent custom "
+"mounts 1 and 2 from being hidden by 3. When line 3 is handled, I<VOL>/home "
+"is simply bind-mounted on /home. To illustrate what happens for lines 1 and "
+"2, let's say that the following files exist:"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:151
+#, no-wrap
+msgid "a."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:154
+msgid "I<VOL>/config-files/user1/.emacs"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:154
+#, no-wrap
+msgid "b."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:157
+msgid "I<VOL>/config-files/user2/.bashrc"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:157
+#, no-wrap
+msgid "c."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:160
+msgid "I<VOL>/config-files/user2/.ssh/config"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:162
+msgid "Then the following links and directories will be created:"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:162 en/persistence.conf.5:165
+#: en/persistence.conf.5:171
+#, no-wrap
+msgid "Link:"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:165
+msgid "/home/user1/.emacs -E<gt> I<VOL>/config-files/user1/.emacs (from a)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:168
+msgid "/home/user2/.bashrc -E<gt> I<VOL>/config-files/user2/.bashrc (from b)"
+msgstr ""
+
+#. type: TP
+#: en/persistence.conf.5:168
+#, no-wrap
+msgid "Dir:"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:171
+msgid "/homea/user2/.ssh (from c)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:175
+msgid ""
+"/home/user2/.ssh/config -E<gt> I<VOL>/config-files/user2/.ssh/config (from c)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:181
+msgid ""
+"One could argue, though, that lines 1 and 2 in the example B<persistence."
+"conf> file above are unnecessary since line 3 already would make all of /"
+"home persistent. The B<link> option is intended for situations where you "
+"don't want a complete directory to be persistent, only certain files in it "
+"or its sub-directories."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:190
+msgid ""
+"Line 4 can be mounted at any time since its I<DIR> (and source directory) is "
+"completely disjoint from all the other custom mounts. When mounted, I<VOL>/"
+"usr will be the rw branch due to the B<union> option, and will only contain "
+"the difference compared to the underlying read-only file system. Hence "
+"packages could be installed into /usr with great space-wise efficiency "
+"compared to bind-mounts, since in the latter case all of /usr would have to "
+"be copied into I<VOL>/usr during the initial bootstrap."
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:193
+msgid "I<live-boot>(7)"
+msgstr ""
+
+#. type: Plain text
+#: en/persistence.conf.5:213
+msgid ""
+"persistence.conf was written by anonym E<lt>I<anonym@lavabit.com>E<gt> for "
+"the Debian project."
+msgstr ""
diff --git a/scripts/boot.sh b/scripts/boot.sh
new file mode 100755 (executable)
index 0000000..67585f9
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# set -e
+
+# Reading configuration file from filesystem and live-media
+for _FILE in /etc/live/boot.conf /etc/live/boot/*
+do
+       if [ -e "${_FILE}" ]
+       then
+               . "${_FILE}"
+       fi
+done
+
+for _SCRIPT in /lib/live/boot/????-*
+do
+       if [ -e "${_SCRIPT}" ]
+       then
+               . ${_SCRIPT}
+       fi
+done
diff --git a/scripts/boot/0010-dracut b/scripts/boot/0010-dracut
new file mode 100755 (executable)
index 0000000..19db182
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+#set -e
+
+DRACUT_FIXME ()
+{
+       # dracut entry point for live-boot is FIXME(); function
+       Main
+}
diff --git a/scripts/boot/0020-initramfs-tools b/scripts/boot/0020-initramfs-tools
new file mode 100755 (executable)
index 0000000..c251443
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+#set -e
+
+if [ -e /scripts/functions ]
+then
+       . /scripts/functions
+fi
+
+mountroot ()
+{
+       # initramfs-tools entry point for live-boot is mountroot(); function
+       Main
+}
diff --git a/scripts/boot/0110-debug b/scripts/boot/0110-debug
new file mode 100755 (executable)
index 0000000..f223e93
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+#set -e
+
+Debug ()
+{
+       for _PARAMETER in ${_CMDLINE}
+       do
+               case "${_PARAMETER}" in
+                       live-boot.debug|debug)
+                               LIVE_DEBUG="true"
+                               ;;
+               esac
+       done
+
+       case "${LIVE_DEBUG}" in
+               true)
+                       ;;
+
+               *)
+                       return 0
+                       ;;
+       esac
+
+       # Write the trace output
+       set -x
+}
diff --git a/scripts/boot/0120-read-only b/scripts/boot/0120-read-only
new file mode 100755 (executable)
index 0000000..859f771
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+#set -e
+
+Read_only ()
+{
+       for _PARAMETER in ${_CMDLINE}
+       do
+               case "${_PARAMETER}" in
+                       live-boot.read-only=*|read-only=*)
+                               LIVE_READ_ONLY="true"
+                               LIVE_READ_ONLY_DEVICES="${_PARAMETER#*read-only=}"
+                               ;;
+
+                       live-boot.read-only|read-only)
+                               LIVE_READ_ONLY="true"
+                               ;;
+               esac
+       done
+
+       case "${LIVE_READ_ONLY}" in
+               true)
+                       ;;
+
+               *)
+                       return 0
+                       ;;
+       esac
+
+       # Marking some block devices as read-only to ensure that nothing
+       # gets written as linux still writes to 'only' read-only mounted filesystems.
+       LIVE_READ_ONLY_DEVICES="${LIVE_READ_ONLY_DEVICES:-/dev/sd* /dev/vd*}"
+
+       for _DEVICE in $(echo ${LIVE_READ_ONLY_DEVICES} | sed -e 's|,| |g')
+       do
+               if [ ! -b "${_DEVICE}" ]
+               then
+                       continue
+               fi
+
+               echo -n "live-boot: Setting ${_DEVICE} read-only..." > /dev/console
+
+               blockdev --setro ${_DEVICE}
+               _RETURN="${?}"
+
+               case "${_RETURN}" in
+                       0)
+                               echo " done, use 'blockdev --setrw ${_DEVICE}' to set read-write." > /dev/console
+                               ;;
+
+                       *)
+                               echo " failed." > /dev/console
+                               ;;
+               esac
+       done
+}
diff --git a/scripts/boot/3010-verify-checksums b/scripts/boot/3010-verify-checksums
new file mode 100755 (executable)
index 0000000..8ccd663
--- /dev/null
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+#set -e
+
+Verify_checksums ()
+{
+       for _PARAMETER in ${_CMDLINE}
+       do
+               case "${_PARAMETER}" in
+                       live-boot.verify-checksums=*|verify-checksums=*)
+                               LIVE_VERIFY_CHECKSUMS="true"
+                               LIVE_VERIFY_CHECKSUMS_DIGESTS="${_PARAMETER#*verify-checksums=}"
+                               ;;
+
+                       live-boot.verify-checksums|verify-checksums)
+                               LIVE_VERIFY_CHECKSUMS="true"
+                               ;;
+               esac
+       done
+
+       case "${LIVE_VERIFY_CHECKSUMS}" in
+               true)
+                       ;;
+
+               *)
+                       return 0
+                       ;;
+       esac
+
+       _MOUNTPOINT="${1}"
+
+       LIVE_VERIFY_CHECKSUMS_DIGESTS="${LIVE_VERIFY_CHECKSUMS_DIGESTS:-sha512 sha384 sha256 sha224 sha1 md5}"
+       _TTY="/dev/tty8"
+
+       log_begin_msg "Verifying checksums"
+
+       cd "${_MOUNTPOINT}"
+
+       for _DIGEST in $(echo ${LIVE_VERIFY_CHECKSUMS_DIGESTS} | sed -e 's|,| |g')
+       do
+               _CHECKSUMS="$(echo ${_DIGEST} | tr [a-z] [A-Z])SUMS"
+
+               if [ -e "${_CHECKSUMS}" ]
+               then
+                       echo "Found ${_CHECKSUMS}..." > "${_TTY}"
+
+                       if [ -e "/bin/${_DIGEST}sum" ]
+                       then
+                               echo "Checking ${_CHECKSUMS}..." > "${_TTY}"
+
+                               # Verify checksums
+                               /bin/${_DIGEST}sum -c "${_CHECKSUMS}" < "${_TTY}" > "${_TTY}"
+                               _RETURN="${?}"
+
+                               # Stop after first verification
+                               break
+                       else
+                               echo "Not found /bin/${_DIGEST}sum..." > "${_TTY}"
+                       fi
+               fi
+       done
+
+       log_end_msg
+
+       case "${_RETURN}" in
+               0)
+                       log_success_msg "Verification successfull, rebooting in 10 seconds."
+                       sleep 10
+
+                       # Unmount live-media
+                       cd /
+                       umount -f ${_MOUNTPOINT} > /dev/null 2>&1
+                       sync
+
+                       # Attempt to remount all mounted filesystems read-only
+                       echo u > /proc/sysrq-trigger
+
+                       # Immediately reboot the system without syncing or unmounting filesystems
+                       echo b > /proc/sysrq-trigger
+                       ;;
+
+               *)
+                       panic "Verification failed, $(basename ${_TTY}) for more information."
+                       ;;
+       esac
+}
diff --git a/scripts/boot/3020-swapon b/scripts/boot/3020-swapon
new file mode 100755 (executable)
index 0000000..7541c26
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+#set -e
+
+Swap ()
+{
+       for _PARAMETER in ${_CMDLINE}
+       do
+               case "${_PARAMETER}" in
+                       live-boot.swap=*|swap=*)
+                               LIVE_SWAP="true"
+                               LIVE_SWAP_DEVICES="${_PARAMETER#*swap=}"
+                               ;;
+
+                       live-boot.swap|swap)
+                               LIVE_SWAP="true"
+                               ;;
+               esac
+       done
+
+       case "${LIVE_SWAP}" in
+               true)
+                       ;;
+
+               *)
+                       return 0
+                       ;;
+       esac
+
+       LIVE_SWAP_DEVICES="${LIVE_SWAP_DEVICES:-/dev/sd* /dev/vd*}"
+
+       if [ -e /run ]
+       then
+               # wheezy
+               _FSTAB="/root/etc/fstab.d/swap"
+       else
+               # squeeze
+               _FSTAB="/root/etc/fstab"
+       fi
+
+       for _DEVICE in $(echo ${LIVE_SWAP_DEVICES} | sed -e 's|,| |g')
+       do
+               if [ ! -b "${_DEVICE}" ]
+               then
+                       continue
+               fi
+
+               blkid -o udev -p ${_DEVICE%%[0-9]*} | grep -q "^ID_FS_USAGE=raid" && continue
+
+               _MAGIC="$(/bin/dd if=${_DEVICE} bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null)" || continue
+
+               case "${_MAGIC}" in
+                       SWAPSPACE2|SWAP-SPACE)
+                               _SWAP_DEVICES="${_SWAP_DEVICES} ${_DEVICE}"
+                               ;;
+               esac
+       done
+
+       # Remove all auto swap entries
+       if grep -qs "swap swap" "${_FSTAB}"
+       then
+               grep -v "swap swap" "${_FSTAB}" > "${_FSTAB}".tmp
+               mv "${_FSTAB}".tmp "${_FSTAB}"
+       fi
+
+       # Add new swap entries
+       for _DEVICE in ${_SWAP_DEVICES}
+       do
+               echo "${_DEVICE} swap swap defaults 0 0" >> "${_FSTAB}"
+       done
+}
diff --git a/scripts/boot/9990-aaa-fixme.sh b/scripts/boot/9990-aaa-fixme.sh
new file mode 100755 (executable)
index 0000000..822a604
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+export PATH="/root/usr/bin:/root/usr/sbin:/root/bin:/root/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
+
+echo "/root/lib" >> /etc/ld.so.conf
+echo "/root/usr/lib" >> /etc/ld.so.conf
+
+mountpoint="/live/image"
+alt_mountpoint="/media"
+LIVE_MEDIA_PATH="live"
+
+HOSTNAME="host"
+
+mkdir -p "${mountpoint}"
+tried="/tmp/tried"
+
+# Create /etc/mtab for debug purpose and future syncs
+if [ ! -d /etc ]
+then
+       mkdir /etc/
+fi
+
+if [ ! -f /etc/mtab ]
+then
+       touch /etc/mtab
+fi
+
+if [ ! -x "/bin/fstype" ]
+then
+       # klibc not in path -> not in initramfs
+       export PATH="${PATH}:/usr/lib/klibc/bin"
+fi
+
+# handle upgrade path from old udev (using udevinfo) to
+# recent versions of udev (using udevadm info)
+if [ -x /sbin/udevadm ]
+then
+       udevinfo='/sbin/udevadm info'
+else
+       udevinfo='udevinfo'
+fi
+
+old_root_overlay_label="live-rw"
+old_home_overlay_label="home-rw"
+custom_overlay_label="persistence"
+persistence_list="persistence.conf"
+
+if [ ! -f /live.vars ]
+then
+       touch /live.vars
+fi
diff --git a/scripts/boot/9990-cmdline-old b/scripts/boot/9990-cmdline-old
new file mode 100755 (executable)
index 0000000..85f1b62
--- /dev/null
@@ -0,0 +1,307 @@
+#!/bin/sh
+
+#set -e
+
+Cmdline_old ()
+{
+       for _PARAMETER in ${_CMDLINE}
+       do
+               case "${_PARAMETER}" in
+                       skipconfig)
+                               NOFSTAB="true"
+                               NONETWORKING="true"
+
+                               export NOFSTAB NONETWORKING
+                               ;;
+
+                       BOOTIF=*)
+                               BOOTIF="${x#BOOTIF=}"
+                               ;;
+
+                       dhcp)
+                               # Force dhcp even while netbooting
+                               # Use for debugging in case somebody works on fixing dhclient
+                               DHCP="true";
+                               export DHCP
+                               ;;
+
+                       nodhcp)
+                               DHCP=""
+                               export DHCP
+                               ;;
+
+                       ethdevice=*)
+                               DEVICE="${_PARAMETER#ethdevice=}"
+                               ETHDEVICE="${DEVICE}"
+                               export DEVICE ETHDEVICE
+                               ;;
+
+                       ethdevice-timeout=*)
+                               ETHDEV_TIMEOUT="${_PARAMETER#ethdevice-timeout=}"
+                               export ETHDEV_TIMEOUT
+                               ;;
+
+                       fetch=*)
+                               FETCH="${_PARAMETER#fetch=}"
+                               export FETCH
+                               ;;
+
+                       findiso=*)
+                               FINDISO="${_PARAMETER#findiso=}"
+                               export FINDISO
+                               ;;
+
+                       ftpfs=*)
+                               FTPFS="${_PARAMETER#ftpfs=}"
+                               export FTPFS
+                               ;;
+
+                       httpfs=*)
+                               HTTPFS="${_PARAMETER#httpfs=}"
+                               export HTTPFS
+                               ;;
+
+                       iscsi=*)
+                               ISCSI="${_PARAMETER#iscsi=}"
+                               #ip:port - separated by ;
+                               ISCSI_PORTAL="${ISCSI%;*}"
+                               if echo "${ISCSI_PORTAL}" | grep -q , ; then
+                                       ISCSI_SERVER="${ISCSI_PORTAL%,*}"
+                                       ISCSI_PORT="${ISCSI_PORTAL#*,}"
+                               fi
+                               #target name
+                               ISCSI_TARGET="${ISCSI#*;}"
+                               export ISCSI ISCSI_PORTAL ISCSI_TARGET ISCSI_SERVER ISCSI_PORT
+                               ;;
+
+                       isofrom=*|fromiso=*)
+                               FROMISO="${_PARAMETER#*=}"
+                               export FROMISO
+                               ;;
+
+                       ignore_uuid)
+                               IGNORE_UUID="true"
+                               export IGNORE_UUID
+                               ;;
+
+                       ip=*)
+                               STATICIP="${_PARAMETER#ip=}"
+
+                               if [ -z "${STATICIP}" ]
+                               then
+                                       STATICIP="frommedia"
+                               fi
+
+                               export STATICIP
+                               ;;
+
+                       live-media=*|bootfrom=*)
+                               LIVE_MEDIA="${_PARAMETER#*=}"
+                               export LIVE_MEDIA
+                               ;;
+
+                       live-media-encryption=*|encryption=*)
+                               LIVE_MEDIA_ENCRYPTION="${_PARAMETER#*=}"
+                               export LIVE_MEDIA_ENCRYPTION
+                               ;;
+
+                       live-media-offset=*)
+                               LIVE_MEDIA_OFFSET="${_PARAMETER#live-media-offset=}"
+                               export LIVE_MEDIA_OFFSET
+                               ;;
+
+                       live-media-path=*)
+                               LIVE_MEDIA_PATH="${_PARAMETER#live-media-path=}"
+                               export LIVE_MEDIA_PATH
+                               ;;
+
+                       live-media-timeout=*)
+                               LIVE_MEDIA_TIMEOUT="${_PARAMETER#live-media-timeout=}"
+                               export LIVE_MEDIA_TIMEOUT
+                               ;;
+
+                       module=*)
+                               MODULE="${_PARAMETER#module=}"
+                               export MODULE
+                               ;;
+
+                       netboot=*)
+                               NETBOOT="${_PARAMETER#netboot=}"
+                               export NETBOOT
+                               ;;
+
+                       nfsopts=*)
+                               NFSOPTS="${_PARAMETER#nfsopts=}"
+                               export NFSOPTS
+                               ;;
+
+                       nfsoverlay=*)
+                               NFS_COW="${_PARAMETER#nfsoverlay=}"
+                               export NFS_COW
+                               ;;
+
+                       nofstab)
+                               NOFSTAB="true"
+                               export NOFSTAB
+                               ;;
+
+                       nonetworking)
+                               NONETWORKING="true"
+                               export NONETWORKING
+                               ;;
+
+                       ramdisk-size=*)
+                               ramdisk_size="${_PARAMETER#ramdisk-size=}"
+                               ;;
+
+                       persistence)
+                               PERSISTENCE="true"
+                               export PERSISTENCE
+                               ;;
+
+                       persistence-encryption=*)
+                               PERSISTENCE_ENCRYPTION="${_PARAMETER#*=}"
+                               export PERSISTENCE_ENCRYPTION
+                               ;;
+
+                       persistence-media=*)
+                               PERSISTENCE_MEDIA="${_PARAMETER#*=}"
+                               export PERSISTENCE_MEDIA
+                               ;;
+                       persistence-method=*)
+                               PERSISTENCE_METHOD="${_PARAMETER#*=}"
+                               export PERSISTENCE_METHOD
+                               ;;
+
+                       persistence-path=*)
+                               PERSISTENCE_PATH="${_PARAMETER#persistence-path=}"
+                               export PERSISTENCE_PATH
+                               ;;
+                       persistence-read-only)
+                               PERSISTENCE_READONLY="true"
+                               export PERSISTENCE_READONLY
+                               ;;
+
+                       persistence-storage=*)
+                               PERSISTENCE_STORAGE="${_PARAMETER#persistence-storage=}"
+                               export PERSISTENCE_STORAGE
+                               ;;
+
+                       persistence-label=*)
+                               old_root_overlay_label="${_PARAMETER#persistence-label=*}"
+                               old_home_overlay_label="${_PARAMETER#persistence-label=*}"
+                               custom_overlay_label="${_PARAMETER#persistence-label=*}"
+                               ;;
+
+                       nopersistence)
+                               NOPERSISTENCE="true"
+                               export NOPERSISTENCE
+                               ;;
+
+                       quickusbmodules)
+                               QUICKUSBMODULES="true"
+                               export QUICKUSBMODULES
+                               ;;
+
+                       todisk=*)
+                               TODISK="${_PARAMETER#todisk=}"
+                               export TODISK
+                               ;;
+
+                       toram)
+                               TORAM="true"
+                               export TORAM
+                               ;;
+
+                       toram=*)
+                               TORAM="true"
+                               MODULETORAM="${_PARAMETER#toram=}"
+                               export TORAM MODULETORAM
+                               ;;
+
+                       exposedroot)
+                               EXPOSED_ROOT="true"
+                               export EXPOSED_ROOT
+                               ;;
+
+                       plainroot)
+                               PLAIN_ROOT="true"
+                               export PLAIN_ROOT
+                               ;;
+
+                       skipunion)
+                               SKIP_UNION_MOUNTS="true"
+                               export SKIP_UNION_MOUNTS
+                               ;;
+
+                       root=*)
+                               ROOT="${_PARAMETER#root=}"
+                               export ROOT
+                               ;;
+
+                       union=*)
+                               UNIONTYPE="${_PARAMETER#union=}"
+                               export UNIONTYPE
+                               ;;
+               esac
+       done
+
+       # sort of compatibility with netboot.h from linux docs
+       if [ -z "${NETBOOT}" ]
+       then
+               if [ "${ROOT}" = "/dev/nfs" ]
+               then
+                       NETBOOT="nfs"
+                       export NETBOOT
+               elif [ "${ROOT}" = "/dev/cifs" ]
+               then
+                       NETBOOT="cifs"
+                       export NETBOOT
+               fi
+       fi
+
+       if [ -z "${MODULE}" ]
+       then
+               MODULE="filesystem"
+               export MODULE
+       fi
+
+       if [ -z "${UNIONTYPE}" ]
+       then
+               UNIONTYPE="aufs"
+               export UNIONTYPE
+       fi
+
+       if [ -z "${PERSISTENCE_ENCRYPTION}" ]
+       then
+               PERSISTENCE_ENCRYPTION="none"
+               export PERSISTENCE_ENCRYPTION
+       elif is_in_comma_sep_list luks ${PERSISTENCE_ENCRYPTION}
+       then
+               if ! modprobe dm-crypt
+               then
+                       log_warning_msg "Unable to load module dm-crypt"
+                       PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
+                       export PERSISTENCE_ENCRYPTION
+               fi
+
+               if [ ! -x /lib/cryptsetup/askpass ] || [ ! -x /sbin/cryptsetup ]
+               then
+                       log_warning_msg "cryptsetup in unavailable"
+                       PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
+                       export PERSISTENCE_ENCRYPTION
+               fi
+       fi
+
+       if [ -z "${PERSISTENCE_METHOD}" ]
+       then
+               PERSISTENCE_METHOD="overlay"
+               export PERSISTENCE_METHOD
+       fi
+
+       if [ -z "${PERSISTENCE_STORAGE}" ]
+       then
+               PERSISTENCE_STORAGE="filesystem,file"
+               export PERSISTENCE_STORAGE
+       fi
+}
diff --git a/scripts/boot/9990-fstab.sh b/scripts/boot/9990-fstab.sh
new file mode 100755 (executable)
index 0000000..dc3f07b
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+#set -e
+
+Fstab ()
+{
+       # FIXME: stop hardcoding overloading of initramfs-tools functions
+       . /scripts/functions
+       . /lib/live/boot/9990-initramfs-tools.sh
+
+       if [ -n "${NOFSTAB}" ]
+       then
+               return
+       fi
+
+       if [ -e /run ]
+       then
+               # wheezy
+               _FSTAB="/root/etc/fstab.d/live"
+       else
+               # squeeze
+               _FSTAB="/root/etc/fstab"
+       fi
+
+       log_begin_msg "Configuring fstab"
+
+       if ! grep -qs  "^${UNIONTYPE}" "${_FSTAB}"
+       then
+               echo "${UNIONTYPE} / ${UNIONTYPE} rw 0 0" >> "${_FSTAB}"
+       fi
+
+       if ! grep -qs "^tmpfs /tmp" "${_FSTAB}"
+       then
+               echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> "${_FSTAB}"
+       fi
+
+       log_end_msg
+}
old mode 100644 (file)
new mode 100755 (executable)
similarity index 58%
rename from scripts/live-functions
rename to scripts/boot/9990-initramfs-tools.sh
index f426ff9..37aa0c3
@@ -1,6 +1,6 @@
+#!/bin/sh
 
-. /scripts/functions
-. /live.vars
+#set -e
 
 log_wait_msg ()
 {
@@ -14,50 +14,6 @@ log_wait_msg ()
        _log_msg "Waiting: ${@} ... \n"
 }
 
-really_export ()
-{
-       STRING="${1}"
-       VALUE="$(eval echo -n \${$STRING})"
-
-       if [ -f /live.vars ] && grep -sq "export ${STRING}" /live.vars
-       then
-               sed -i -e 's/\('${STRING}'=\).*$/\1'${VALUE}'/' /live.vars
-       else
-               echo "export ${STRING}=\"${VALUE}\"" >> /live.vars
-       fi
-
-       eval export "${STRING}"="${VALUE}"
-}
-
-lang2locale() {
-       langpart="${1%%_*}"
-       if [ "$1" != "C" ]; then
-               # Match the language code with 3rd field in languagelist
-               line=$(grep -v "^#" /usr/share/live-boot/languagelist | cut -f1,3,6 -d\; | grep -v ';C$' | grep "^$langpart;")
-               if [ -n "$line" ]; then
-                       if [ "$(echo "$line" | grep -c '')" -gt 1 ]; then
-                               # More than one match; try matching the
-                               # country as well.
-                               countrypart="${1#*_}"
-                               if [ "$countrypart" = "$1" ]; then
-                                       countryline="$(echo "$line" | head -n1)"
-                                       echo "${countryline##*;}"
-                                       return
-                               fi
-                               countrypart="${countrypart%%[@.]*}"
-                               countryline="$(echo "$line" | grep ";$countrypart;" | head -n1 || true)"
-                               if [ "$countryline" ]; then
-                                       echo "${countryline##*;}"
-                                       return
-                               fi
-                       fi
-                       echo "${line##*;}"
-               fi
-       else
-               echo "C"
-       fi
-}
-
 # Override maybe_break from scripts/functions
 maybe_break()
 {
@@ -76,7 +32,7 @@ panic() {
        DEB_3="\033[1;31m\`. \`'\`  \033[0m"
        DEB_4="\033[1;31m  \`-    \033[0m"
 
-       LIVELOG="\033[1;37m/live-boot.log\033[0m"
+       LIVELOG="\033[1;37m/boot.log\033[0m"
        DEBUG="\033[1;37mdebug\033[0m"
 
        # Reset redirections to avoid buffering
diff --git a/scripts/boot/9990-main.sh b/scripts/boot/9990-main.sh
new file mode 100755 (executable)
index 0000000..ef41fb0
--- /dev/null
@@ -0,0 +1,207 @@
+#!/bin/sh
+
+# set -e
+
+Main ()
+{
+       if [ -x /scripts/local-top/cryptroot ]
+       then
+               /scripts/local-top/cryptroot
+       fi
+
+       exec 6>&1
+       exec 7>&2
+       exec > boot.log
+       exec 2>&1
+       tail -f boot.log >&7 &
+       tailpid="${!}"
+
+       . /live.vars
+
+       _CMDLINE="$(cat /proc/cmdline)"
+       Cmdline_old
+
+       Debug
+
+       Read_only
+
+       Select_eth_device
+
+       if [ -e /conf/param.conf ]
+       then
+               . /conf/param.conf
+       fi
+
+       # Needed here too because some things (*cough* udev *cough*)
+       # changes the timeout
+
+       if [ ! -z "${NETBOOT}" ] || [ ! -z "${FETCH}" ] || [ ! -z "${HTTPFS}" ] || [ ! -z "${FTPFS}" ]
+       then
+               if do_netmount
+               then
+                       livefs_root="${mountpoint}"
+               else
+                       panic "Unable to find a live file system on the network"
+               fi
+       else
+               if [ -n "${ISCSI_PORTAL}" ]
+               then
+                       do_iscsi && livefs_root="${mountpoint}"
+               elif [ -n "${PLAIN_ROOT}" ] && [ -n "${ROOT}" ]
+               then
+                       # Do a local boot from hd
+                       livefs_root=${ROOT}
+               else
+                       if [ -x /usr/bin/memdiskfind ]
+                       then
+                               MEMDISK=$(/usr/bin/memdiskfind)
+
+                               if [ $? -eq 0 ]
+                               then
+                                       # We found a memdisk, set up phram
+                                       modprobe phram phram=memdisk,${MEMDISK}
+
+                                       # Load mtdblock, the memdisk will be /dev/mtdblock0
+                                       modprobe mtdblock
+                               fi
+                       fi
+
+                       # Scan local devices for the image
+                       i=0
+                       while [ "$i" -lt 60 ]
+                       do
+                               livefs_root=$(find_livefs ${i})
+
+                               if [ -n "${livefs_root}" ]
+                               then
+                                       break
+                               fi
+
+                               sleep 1
+                               i="$(($i + 1))"
+                       done
+               fi
+       fi
+
+       if [ -z "${livefs_root}" ]
+       then
+               panic "Unable to find a medium containing a live file system"
+       fi
+
+       Verify_checksums "${livefs_root}"
+
+       if [ "${TORAM}" ]
+       then
+               live_dest="ram"
+       elif [ "${TODISK}" ]
+       then
+               live_dest="${TODISK}"
+       fi
+
+       if [ "${live_dest}" ]
+       then
+               log_begin_msg "Copying live media to ${live_dest}"
+               copy_live_to "${livefs_root}" "${live_dest}"
+               log_end_msg
+       fi
+
+       # if we do not unmount the ISO we can't run "fsck /dev/ice" later on
+       # because the mountpoint is left behind in /proc/mounts, so let's get
+       # rid of it when running from RAM
+       if [ -n "$FROMISO" ] && [ "${TORAM}" ]
+       then
+               losetup -d /dev/loop0
+
+               if is_mountpoint /live/fromiso
+               then
+                       umount /live/fromiso
+                       rmdir --ignore-fail-on-non-empty /live/fromiso \
+                               >/dev/null 2>&1 || true
+               fi
+       fi
+
+       if [ -n "${MODULETORAMFILE}" ] || [ -n "${PLAIN_ROOT}" ]
+       then
+               setup_unionfs "${livefs_root}" "${rootmnt}"
+       else
+               mac="$(get_mac)"
+               mac="$(echo ${mac} | sed 's/-//g')"
+               mount_images_in_directory "${livefs_root}" "${rootmnt}" "${mac}"
+       fi
+
+
+       if [ -n "${ROOT_PID}" ]
+       then
+               echo "${ROOT_PID}" > "${rootmnt}"/lib/live/root.pid
+       fi
+
+       log_end_msg
+
+       # unionfs-fuse needs /dev to be bind-mounted for the duration of
+       # live-bottom; udev's init script will take care of things after that
+       case "${UNIONTYPE}" in
+               unionfs-fuse)
+                       mount -n -o bind /dev "${rootmnt}/dev"
+                       ;;
+       esac
+
+       # Move to the new root filesystem so that programs there can get at it.
+       mkdir -p /root/lib/live/image
+       mount --move /live/image /root/lib/live/image
+
+       # aufs2 in kernel versions around 2.6.33 has a regression:
+       # directories can't be accessed when read for the first the time,
+       # causing a failure for example when accessing /var/lib/fai
+       # when booting FAI, this simple workaround solves it
+       ls /root/* >/dev/null 2>&1
+
+       # Move findiso directory to the new root filesystem so that programs there can get at it.
+       if [ -d /live/findiso ]
+       then
+               mkdir -p /root/lib/live/findiso
+               mount -n --move /live/findiso /root/lib/live/findiso
+       fi
+
+       # if we do not unmount the ISO we can't run "fsck /dev/ice" later on
+       # because the mountpoint is left behind in /proc/mounts, so let's get
+       # rid of it when running from RAM
+       if [ -n "$FINDISO" ] && [ "${TORAM}" ]
+       then
+               losetup -d /dev/loop0
+
+               if is_mountpoint /root/lib/live/findiso
+               then
+                       umount /root/lib/live/findiso
+                       rmdir --ignore-fail-on-non-empty /root/lib/live/findiso \
+                               >/dev/null 2>&1 || true
+               fi
+       fi
+
+       if [ -f /etc/resolv.conf ] && [ ! -s ${rootmnt}/etc/resolv.conf ]
+       then
+               log_begin_msg "Copying /etc/resolv.conf to ${rootmnt}/etc/resolv.conf"
+               cp -v /etc/resolv.conf ${rootmnt}/etc/resolv.conf
+               log_end_msg
+       fi
+
+       if ! [ -d "/lib/live/boot" ]
+       then
+               panic "A wrong rootfs was mounted."
+       fi
+
+       Fstab
+       Netbase
+
+       Swap
+
+       case "${UNIONFS}" in
+               unionfs-fuse)
+                       umount "${rootmnt}/dev"
+                       ;;
+       esac
+
+       exec 1>&6 6>&-
+       exec 2>&7 7>&-
+       kill ${tailpid}
+       [ -w "${rootmnt}/var/log/" ] && mkdir -p "${rootmnt}/var/log/live" && cp boot.log "${rootmnt}/var/log/live" 2>/dev/null
+}
old mode 100644 (file)
new mode 100755 (executable)
similarity index 69%
rename from scripts/live-helpers
rename to scripts/boot/9990-misc-helpers.sh
index b90637a..3455045
-# live-boot helper functions, used by live-boot on boot and by live-snapshot
-
-if [ ! -x "/bin/fstype" ]
-then
-       # klibc not in path -> not in initramfs
-       export PATH="${PATH}:/usr/lib/klibc/bin"
-fi
-
-# handle upgrade path from old udev (using udevinfo) to
-# recent versions of udev (using udevadm info)
-if [ -x /sbin/udevadm ]
-then
-       udevinfo='/sbin/udevadm info'
-else
-       udevinfo='udevinfo'
-fi
-
-old_root_overlay_label="live-rw"
-old_home_overlay_label="home-rw"
-custom_overlay_label="custom-ov"
-root_snapshot_label="live-sn"
-old_root_snapshot_label="live-sn"
-home_snapshot_label="home-sn"
-persistence_list="live-persistence.conf"
-
-Arguments ()
-{
-       PRESEEDS=""
-       LOCATIONS=""
-
-       for ARGUMENT in $(cat /proc/cmdline)
-       do
-               case "${ARGUMENT}" in
-                       skipconfig)
-                               NOACCESSIBILITY="Yes"
-                               NOFASTBOOT="Yes"
-                               NOFSTAB="Yes"
-                               NONETWORKING="Yes"
-
-                               export NOACCESSIBILITY NOFASTBOOT NOFSTAB NONETWORKING
-                               ;;
-
-                       access=*)
-                               ACCESS="${ARGUMENT#access=}"
-                               export ACCESS
-                               ;;
-
-                       console=*)
-                               DEFCONSOLE="${ARGUMENT#*=}"
-                               export DEFCONSOLE
-                               ;;
-
-                       BOOTIF=*)
-                               BOOTIF="${x#BOOTIF=}"
-                               ;;
-
-                       debug)
-                               DEBUG="Yes"
-                               export DEBUG
+#!/bin/sh
 
-                               set -x
-                               ;;
-
-                       dhcp)
-                               # Force dhcp even while netbooting
-                               # Use for debugging in case somebody works on fixing dhclient
-                               DHCP="Force";
-                               export DHCP
-                               ;;
-
-                       nodhcp)
-                               unset DHCP
-                               ;;
-
-                       ethdevice=*)
-                               DEVICE="${ARGUMENT#ethdevice=}"
-                               ETHDEVICE="${DEVICE}"
-                               export DEVICE ETHDEVICE
-                               ;;
-
-                       ethdevice-timeout=*)
-                               ETHDEV_TIMEOUT="${ARGUMENT#ethdevice-timeout=}"
-                               export ETHDEV_TIMEOUT
-                               ;;
-
-                       fetch=*)
-                               FETCH="${ARGUMENT#fetch=}"
-                               export FETCH
-                               ;;
-
-                       findiso=*)
-                               FINDISO="${ARGUMENT#findiso=}"
-                               export FINDISO
-                               ;;
-
-                       forcepersistencefsck)
-                               FORCEPERSISTENCEFSCK="Yes"
-                               export FORCEPERSISTENCEFSCK
-                               ;;
-
-                       ftpfs=*)
-                               FTPFS="${ARGUMENT#ftpfs=}"
-                               export FTPFS
-                               ;;
-
-                       httpfs=*)
-                               HTTPFS="${ARGUMENT#httpfs=}"
-                               export HTTPFS
-                               ;;
-
-                       iscsi=*)
-                               ISCSI="${ARGUMENT#iscsi=}"
-                               #ip:port - separated by ;
-                               ISCSI_PORTAL="${ISCSI%;*}"
-                               if echo "${ISCSI_PORTAL}" | grep -q , ; then
-                                       ISCSI_SERVER="${ISCSI_PORTAL%,*}"
-                                       ISCSI_PORT="${ISCSI_PORTAL#*,}"
-                               fi
-                               #target name
-                               ISCSI_TARGET="${ISCSI#*;}"
-                               export ISCSI ISCSI_PORTAL ISCSI_TARGET ISCSI_SERVER ISCSI_PORT
-                               ;;
-
-                       isofrom=*|fromiso=*)
-                               FROMISO="${ARGUMENT#*=}"
-                               export FROMISO
-                               ;;
+#set -e
 
-                       ignore_uuid)
-                               IGNORE_UUID="Yes"
-                               export IGNORE_UUID
-                               ;;
+is_live_path ()
+{
+       DIRECTORY="${1}"
 
-                       integrity-check)
-                               INTEGRITY_CHECK="Yes"
-                               export INTEGRITY_CHECK
-                               ;;
+       if [ -d "${DIRECTORY}"/"${LIVE_MEDIA_PATH}" ]
+       then
+               for FILESYSTEM in squashfs ext2 ext3 ext4 xfs dir jffs2
+               do
+                       if [ "$(echo ${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM})" != "${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM}" ]
+                       then
+                               return 0
+                       fi
+               done
+       fi
 
-                       ip=*)
-                               STATICIP="${ARGUMENT#ip=}"
+       return 1
+}
 
-                               if [ -z "${STATICIP}" ]
-                               then
-                                       STATICIP="frommedia"
-                               fi
+matches_uuid ()
+{
+       if [ "${IGNORE_UUID}" ] || [ ! -e /conf/uuid.conf ]
+       then
+               return 0
+       fi
 
-                               export STATICIP
-                               ;;
+       path="${1}"
+       uuid="$(cat /conf/uuid.conf)"
 
-                       live-getty)
-                               LIVE_GETTY="1"
-                               export LIVE_GETTY
-                               ;;
+       for try_uuid_file in "${path}/.disk/live-uuid"*
+       do
+               [ -e "${try_uuid_file}" ] || continue
 
-                       live-media=*|bootfrom=*)
-                               LIVE_MEDIA="${ARGUMENT#*=}"
-                               export LIVE_MEDIA
-                               ;;
+               try_uuid="$(cat "${try_uuid_file}")"
 
-                       live-media-encryption=*|encryption=*)
-                               LIVE_MEDIA_ENCRYPTION="${ARGUMENT#*=}"
-                               export LIVE_MEDIA_ENCRYPTION
-                               ;;
+               if [ "${uuid}" = "${try_uuid}" ]
+               then
+                       return 0
+               fi
+       done
 
-                       live-media-offset=*)
-                               LIVE_MEDIA_OFFSET="${ARGUMENT#live-media-offset=}"
-                               export LIVE_MEDIA_OFFSET
-                               ;;
+       return 1
+}
 
-                       live-media-path=*)
-                               LIVE_MEDIA_PATH="${ARGUMENT#live-media-path=}"
-                               export LIVE_MEDIA_PATH
-                               ;;
+get_backing_device ()
+{
+       case "${1}" in
+               *.squashfs|*.ext2|*.ext3|*.ext4|*.jffs2)
+                       echo $(setup_loop "${1}" "loop" "/sys/block/loop*" '0' "${LIVE_MEDIA_ENCRYPTION}" "${2}")
+                       ;;
 
-                       live-media-timeout=*)
-                               LIVE_MEDIA_TIMEOUT="${ARGUMENT#live-media-timeout=}"
-                               export LIVE_MEDIA_TIMEOUT
-                               ;;
+               *.dir)
+                       echo "directory"
+                       ;;
 
-                       module=*)
-                               MODULE="${ARGUMENT#module=}"
-                               export MODULE
-                               ;;
+               *)
+                       panic "Unrecognized live filesystem: ${1}"
+                       ;;
+       esac
+}
 
-                       netboot=*)
-                               NETBOOT="${ARGUMENT#netboot=}"
-                               export NETBOOT
-                               ;;
+match_files_in_dir ()
+{
+       # Does any files match pattern ${1} ?
+       local pattern="${1}"
 
-                       nfsopts=*)
-                               NFSOPTS="${ARGUMENT#nfsopts=}"
-                               export NFSOPTS
-                               ;;
+       if [ "$(echo ${pattern})" != "${pattern}" ]
+       then
+               return 0
+       fi
 
-                       nfsoverlay=*)
-                               NFS_COW="${ARGUMENT#nfsoverlay=}"
-                               export NFS_COW
-                               ;;
+       return 1
+}
 
-                       noaccessibility)
-                               NOACCESSIBILITY="Yes"
-                               export NOACCESSIBILITY
-                               ;;
+mount_images_in_directory ()
+{
+       directory="${1}"
+       rootmnt="${2}"
+       mac="${3}"
+
+       if match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.squashfs" ||
+               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext2" ||
+               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext3" ||
+               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext4" ||
+               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.jffs2" ||
+               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.dir"
+       then
+               [ -n "${mac}" ] && adddirectory="${directory}/${LIVE_MEDIA_PATH}/${mac}"
+               setup_unionfs "${directory}/${LIVE_MEDIA_PATH}" "${rootmnt}" "${adddirectory}"
+       else
+               panic "No supported filesystem images found at /${LIVE_MEDIA_PATH}."
+       fi
+}
 
-                       nofastboot)
-                               NOFASTBOOT="Yes"
-                               export NOFASTBOOT
-                               ;;
+is_nice_device ()
+{
+       sysfs_path="${1#/sys}"
 
-                       nofstab)
-                               NOFSTAB="Yes"
-                               export NOFSTAB
-                               ;;
+       if [ -e /lib/udev/path_id ]
+       then
+               # squeeze
+               PATH_ID="/lib/udev/path_id"
+       else
+               # wheezy/sid (udev >= 174)
+               PATH_ID="/sbin/udevadm test-builtin path_id"
+       fi
 
-                       nonetworking)
-                               NONETWORKING="Yes"
-                               export NONETWORKING
-                               ;;
+       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]$'
+       then
+               return 0
+       elif echo ${sysfs_path} | grep -q "^/block/dm-"
+       then
+               return 0
+       elif echo ${sysfs_path} | grep -q "^/block/mtdblock"
+       then
+               return 0
+       fi
 
-                       ramdisk-size=*)
-                               ramdisk_size="${ARGUMENT#ramdisk-size=}"
-                               ;;
+       return 1
+}
 
-                       swapon)
-                               SWAPON="Yes"
-                               export SWAPON
-                               ;;
+check_dev ()
+{
+       sysdev="${1}"
+       devname="${2}"
+       skip_uuid_check="${3}"
 
-                       persistence)
-                               PERSISTENCE="Yes"
-                               export PERSISTENCE
-                               ;;
+       # support for fromiso=.../isofrom=....
+       if [ -n "$FROMISO" ]
+       then
+               ISO_DEVICE=$(dirname $FROMISO)
+               if ! [ -b $ISO_DEVICE ]
+               then
+                       # to support unusual device names like /dev/cciss/c0d0p1
+                       # as well we have to identify the block device name, let's
+                       # do that for up to 15 levels
+                       i=15
+                       while [ -n "$ISO_DEVICE" ] && [ "$i" -gt 0 ]
+                       do
+                               ISO_DEVICE=$(dirname ${ISO_DEVICE})
+                               [ -b "$ISO_DEVICE" ] && break
+                               i=$(($i -1))
+                       done
+               fi
 
-                       persistence-encryption=*)
-                               PERSISTENCE_ENCRYPTION="${ARGUMENT#*=}"
-                               export PERSISTENCE_ENCRYPTION
-                               ;;
+               if [ "$ISO_DEVICE" = "/" ]
+               then
+                       echo "Warning: device for bootoption fromiso= ($FROMISO) not found.">>/boot.log
+               else
+                       fs_type=$(get_fstype "${ISO_DEVICE}")
+                       if is_supported_fs ${fs_type}
+                       then
+                               mkdir /live/fromiso
+                               mount -t $fs_type "$ISO_DEVICE" /live/fromiso
+                               ISO_NAME="$(echo $FROMISO | sed "s|$ISO_DEVICE||")"
+                               loopdevname=$(setup_loop "/live/fromiso/${ISO_NAME}" "loop" "/sys/block/loop*" "" '')
+                               devname="${loopdevname}"
+                       else
+                               echo "Warning: unable to mount $ISO_DEVICE." >>/boot.log
+                       fi
+               fi
+       fi
 
-                       persistence-media=*)
-                               PERSISTENCE_MEDIA="${ARGUMENT#*=}"
-                               export PERSISTENCE_MEDIA
-                               ;;
-                       persistence-method=*)
-                               PERSISTENCE_METHOD="${ARGUMENT#*=}"
-                               export PERSISTENCE_METHOD
-                               ;;
+       if [ -z "${devname}" ]
+       then
+               devname=$(sys2dev "${sysdev}")
+       fi
 
-                       persistence-path=*)
-                               PERSISTENCE_PATH="${ARGUMENT#persistence-path=}"
-                               export PERSISTENCE_PATH
-                               ;;
-                       persistence-read-only)
-                               PERSISTENCE_READONLY="Yes"
-                               export PERSISTENCE_READONLY
-                               ;;
+       if [ -d "${devname}" ]
+       then
+               mount -o bind "${devname}" $mountpoint || continue
 
-                       persistence-storage=*)
-                               PERSISTENCE_STORAGE="${ARGUMENT#persistence-storage=}"
-                               export PERSISTENCE_STORAGE
-                               ;;
+               if is_live_path $mountpoint
+               then
+                       echo $mountpoint
+                       return 0
+               else
+                       umount $mountpoint
+               fi
+       fi
 
-                       persistence-subtext=*)
-                               old_root_overlay_label="${old_root_overlay_label}-${ARGUMENT#persistence-subtext=}"
-                               old_home_overlay_label="${old_home_overlay_label}-${ARGUMENT#persistence-subtext=}"
-                               custom_overlay_label="${custom_overlay_label}-${ARGUMENT#persistence-subtext=}"
-                               root_snapshot_label="${root_snapshot_label}-${ARGUMENT#persistence-subtext=}"
-                               old_root_snapshot_label="${root_snapshot_label}-${ARGUMENT#persistence-subtext=}"
-                               home_snapshot_label="${home_snapshot_label}-${ARGUMENT#persistence-subtext=}"
+       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
                                ;;
 
-                       nopersistence)
-                               NOPERSISTENCE="Yes"
-                               export NOPERSISTENCE
+                       /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
 
-                       noprompt)
-                               NOPROMPT="Yes"
-                               export NOPROMPT
-                               ;;
+       [ -n "$device" ] && devname="$device"
 
-                       noprompt=*)
-                               NOPROMPT="${ARGUMENT#noprompt=}"
-                               export NOPROMPT
-                               ;;
+       [ -e "$devname" ] || continue
 
-                       quickusbmodules)
-                               QUICKUSBMODULES="Yes"
-                               export QUICKUSBMODULES
-                               ;;
+       if [ -n "${LIVE_MEDIA_OFFSET}" ]
+       then
+               loopdevname=$(setup_loop "${devname}" "loop" "/sys/block/loop*" "${LIVE_MEDIA_OFFSET}" '')
+               devname="${loopdevname}"
+       fi
 
-                       preseed/file=*|file=*)
-                               LOCATIONS="${ARGUMENT#*=} ${LOCATIONS}"
-                               export LOCATIONS
-                               ;;
+       fstype=$(get_fstype "${devname}")
 
-                       nopreseed)
-                               NOPRESEED="Yes"
-                               export NOPRESEED
-                               ;;
+       if is_supported_fs ${fstype}
+       then
+               devuid=$(blkid -o value -s UUID "$devname")
+               [ -n "$devuid" ] && grep -qs "\<$devuid\>" $tried && continue
+               mount -t ${fstype} -o ro,noatime "${devname}" ${mountpoint} || continue
+               [ -n "$devuid" ] && echo "$devuid" >> $tried
 
-                       */*=*)
-                               question="${ARGUMENT%%=*}"
-                               value="${ARGUMENT#*=}"
-                               PRESEEDS="${PRESEEDS}\"${question}=${value}\" "
-                               export PRESEEDS
-                               ;;
+               if [ -n "${FINDISO}" ]
+               then
+                       if [ -f ${mountpoint}/${FINDISO} ]
+                       then
+                               umount ${mountpoint}
+                               mkdir -p /live/findiso
+                               mount -t ${fstype} -o ro,noatime "${devname}" /live/findiso
+                               loopdevname=$(setup_loop "/live/findiso/${FINDISO}" "loop" "/sys/block/loop*" 0 "")
+                               devname="${loopdevname}"
+                               mount -t iso9660 -o ro,noatime "${devname}" ${mountpoint}
+                       else
+                               umount ${mountpoint}
+                       fi
+               fi
 
-                       showmounts)
-                               SHOWMOUNTS="Yes"
-                               export SHOWMOUNTS
-                               ;;
+               if is_live_path ${mountpoint} && \
+                       ([ "${skip_uuid_check}" ] || matches_uuid ${mountpoint})
+               then
+                       echo ${mountpoint}
+                       return 0
+               else
+                       umount ${mountpoint} 2>/dev/null
+               fi
+       fi
 
-                       silent)
-                               SILENT="Yes"
-                               export SILENT
-                               ;;
+       if [ -n "${LIVE_MEDIA_OFFSET}" ]
+       then
+               losetup -d "${loopdevname}"
+       fi
 
-                       todisk=*)
-                               TODISK="${ARGUMENT#todisk=}"
-                               export TODISK
-                               ;;
+       return 1
+}
 
-                       toram)
-                               TORAM="Yes"
-                               export TORAM
-                               ;;
+find_livefs ()
+{
+       timeout="${1}"
 
-                       toram=*)
-                               TORAM="Yes"
-                               MODULETORAM="${ARGUMENT#toram=}"
-                               export TORAM MODULETORAM
-                               ;;
+       # don't start autodetection before timeout has expired
+       if [ -n "${LIVE_MEDIA_TIMEOUT}" ]
+       then
+               if [ "${timeout}" -lt "${LIVE_MEDIA_TIMEOUT}" ]
+               then
+                       return 1
+               fi
+       fi
 
-                       exposedroot)
-                               EXPOSED_ROOT="Yes"
-                               export EXPOSED_ROOT
-                               ;;
+       # first look at the one specified in the command line
+       case "${LIVE_MEDIA}" in
+               removable-usb)
+                       for sysblock in $(removable_usb_dev "sys")
+                       do
+                               for dev in $(subdevices "${sysblock}")
+                               do
+                                       if check_dev "${dev}"
+                                       then
+                                               return 0
+                                       fi
+                               done
+                       done
+                       return 1
+                       ;;
 
-                       plainroot)
-                               PLAIN_ROOT="Yes"
-                               export PLAIN_ROOT
-                               ;;
+               removable)
+                       for sysblock in $(removable_dev "sys")
+                       do
+                               for dev in $(subdevices "${sysblock}")
+                               do
+                                       if check_dev "${dev}"
+                                       then
+                                               return 0
+                                       fi
+                               done
+                       done
+                       return 1
+                       ;;
 
-                       skipunion)
-                               SKIP_UNION_MOUNTS="Yes"
-                               export SKIP_UNION_MOUNTS
-                               ;;
+               *)
+                       if [ ! -z "${LIVE_MEDIA}" ]
+                       then
+                               if check_dev "null" "${LIVE_MEDIA}" "skip_uuid_check"
+                               then
+                                       return 0
+                               fi
+                       fi
+                       ;;
+       esac
 
-                       root=*)
-                               ROOT="${ARGUMENT#root=}"
-                               export ROOT
-                               ;;
+       # or do the scan of block devices
+       # prefer removable devices over non-removable devices, so scan them first
+       devices_to_scan="$(removable_dev 'sys') $(non_removable_dev 'sys')"
 
-                       union=*)
-                               UNIONTYPE="${ARGUMENT#union=}"
-                               export UNIONTYPE
-                               ;;
-               esac
-       done
+       for sysblock in $devices_to_scan
+       do
+               devname=$(sys2dev "${sysblock}")
+               [ -e "$devname" ] || continue
+               fstype=$(get_fstype "${devname}")
 
-       # sort of compatibility with netboot.h from linux docs
-       if [ -z "${NETBOOT}" ]
-       then
-               if [ "${ROOT}" = "/dev/nfs" ]
+               if /lib/udev/cdrom_id ${devname} > /dev/null
                then
-                       NETBOOT="nfs"
-                       export NETBOOT
-               elif [ "${ROOT}" = "/dev/cifs" ]
+                       if check_dev "null" "${devname}"
+                       then
+                               return 0
+                       fi
+               elif is_nice_device "${sysblock}"
                then
-                       NETBOOT="cifs"
-                       export NETBOOT
+                       for dev in $(subdevices "${sysblock}")
+                       do
+                               if check_dev "${dev}"
+                               then
+                                       return 0
+                               fi
+                       done
+               elif [ "${fstype}" = "squashfs" -o \
+                       "${fstype}" = "btrfs" -o \
+                       "${fstype}" = "ext2" -o \
+                       "${fstype}" = "ext3" -o \
+                       "${fstype}" = "ext4" -o \
+                       "${fstype}" = "jffs2" ]
+               then
+                       # This is an ugly hack situation, the block device has
+                       # an image directly on it.  It's hopefully
+                       # live-boot, so take it and run with it.
+                       ln -s "${devname}" "${devname}.${fstype}"
+                       echo "${devname}.${fstype}"
+                       return 0
                fi
-       fi
+       done
 
-       if [ -z "${MODULE}" ]
-       then
-               MODULE="filesystem"
-               export MODULE
-       fi
+       return 1
+}
+
+really_export ()
+{
+       STRING="${1}"
+       VALUE="$(eval echo -n \${$STRING})"
 
-       if [ -z "${UNIONTYPE}" ]
+       if [ -f /live.vars ] && grep -sq "export ${STRING}" /live.vars
        then
-               UNIONTYPE="aufs"
-               export UNIONTYPE
+               sed -i -e 's/\('${STRING}'=\).*$/\1'${VALUE}'/' /live.vars
+       else
+               echo "export ${STRING}=\"${VALUE}\"" >> /live.vars
        fi
 
-       if [ -z "${PERSISTENCE_ENCRYPTION}" ]
-       then
-               PERSISTENCE_ENCRYPTION="none"
-               export PERSISTENCE_ENCRYPTION
-       elif echo ${PERSISTENCE_ENCRYPTION} | grep -qe "\<luks\>"
-       then
-               if ! modprobe dm-crypt
-               then
-                       log_warning_msg "Unable to load module dm-crypt"
-                       PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
-                       export PERSISTENCE_ENCRYPTION
-               fi
+       eval export "${STRING}"="${VALUE}"
+}
 
-               if [ ! -x /lib/cryptsetup/askpass ] || [ ! -x /sbin/cryptsetup ]
-               then
-                       log_warning_msg "cryptsetup in unavailable"
-                       PERSISTENCE_ENCRYPTION=$(echo ${PERSISTENCE_ENCRYPTION} | sed -e 's/\<luks,\|,\?luks$//g')
-                       export PERSISTENCE_ENCRYPTION
-               fi
-       fi
+is_in_list_separator_helper ()
+{
+       local sep=${1}
+       shift
+       local element=${1}
+       shift
+       local list=${*}
+       echo ${list} | grep -qe "^\(.*${sep}\)\?${element}\(${sep}.*\)\?$"
+}
 
-       if [ -z "${PERSISTENCE_METHOD}" ]
-       then
-               PERSISTENCE_METHOD="snapshot,overlay"
-               export PERSISTENCE_METHOD
-       fi
+is_in_space_sep_list ()
+{
+       local element=${1}
+       shift
+       is_in_list_separator_helper "[[:space:]]" "${element}" "${*}"
+}
 
-       if [ -z "${PERSISTENCE_STORAGE}" ]
-       then
-               PERSISTENCE_STORAGE="filesystem,file"
-               export PERSISTENCE_STORAGE
-       fi
+is_in_comma_sep_list ()
+{
+       local element=${1}
+       shift
+       is_in_list_separator_helper "," "${element}" "${*}"
 }
 
 sys2dev ()
@@ -449,9 +431,9 @@ storage_devices()
        do
                fulldevname=$(sys2dev "${sysblock}")
 
-               if echo "${black_listed_devices}" | grep -qe "\<${fulldevname}\>" || \
+               if is_in_space_sep_list ${fulldevname} ${black_listed_devices} || \
                        [ -n "${white_listed_devices}" ] && \
-                       echo "${white_listed_devices}" | grep -qve "\<${fulldevname}\>"
+                       ! is_in_space_sep_list ${fulldevname} ${white_listed_devices}
                then
                        # skip this device entirely
                        continue
@@ -461,7 +443,7 @@ storage_devices()
                do
                        devname=$(sys2dev "${dev}")
 
-                       if echo "${black_listed_devices}" | grep -qe "\<${devname}\>"
+                       if is_in_space_sep_list ${devname} ${black_listed_devices}
                        then
                                # skip this subdevice
                                continue
@@ -521,10 +503,11 @@ where_is_mounted ()
        grep -m1 "^${device} " /proc/mounts | cut -f2 -d ' '
 }
 
-trim_path () {
-    # remove all unnecessary /:s in the path, including last one (except
-    # if path is just "/")
-    echo ${1} | sed 's|//\+|/|g' | sed 's|^\(.*[^/]\)/$|\1|'
+trim_path ()
+{
+       # remove all unnecessary /:s in the path, including last one (except
+       # if path is just "/")
+       echo ${1} | sed 's|//\+|/|g' | sed 's|^\(.*[^/]\)/$|\1|'
 }
 
 what_is_mounted_on ()
@@ -736,7 +719,7 @@ try_mount ()
                        fstype=$(get_fstype "${dev}")
                fi
                mount -t "${fstype}" -o "${opts}" "${dev}" "${mountp}" || \
-               ( echo "SKIPPING: Cannot mount ${dev} on ${mountp}, fstype=${fstype}, options=${opts}" > live-boot.log && return 0 )
+               ( echo "SKIPPING: Cannot mount ${dev} on ${mountp}, fstype=${fstype}, options=${opts}" > boot.log && return 0 )
        fi
 }
 
@@ -781,7 +764,8 @@ mount_persistence_media ()
        return 0
 }
 
-close_persistence_media () {
+close_persistence_media ()
+{
        local device=${1}
        local backing="$(where_is_mounted ${device})"
 
@@ -862,8 +846,7 @@ is_gpt_device ()
 probe_for_gpt_name ()
 {
        local overlays="${1}"
-       local snapshots="${2}"
-       local dev="${3}"
+       local dev="${2}"
 
        local gpt_dev="${dev}"
        if is_active_luks_mapping ${dev}
@@ -879,7 +862,7 @@ probe_for_gpt_name ()
        fi
 
        local gpt_name=$(get_gpt_name ${gpt_dev})
-       for label in ${overlays} ${snapshots}
+       for label in ${overlays}
        do
                if [ "${gpt_name}" = "${label}" ]
                then
@@ -891,10 +874,9 @@ probe_for_gpt_name ()
 probe_for_fs_label ()
 {
        local overlays="${1}"
-       local snapshots="${2}"
-       local dev="${3}"
+       local dev="${2}"
 
-       for label in ${overlays} ${snapshots}
+       for label in ${overlays}
        do
                if [ "$(/sbin/blkid -s LABEL -o value $dev 2>/dev/null)" = "${label}" ]
                then
@@ -906,8 +888,7 @@ probe_for_fs_label ()
 probe_for_file_name ()
 {
        local overlays="${1}"
-       local snapshots="${2}"
-       local dev="${3}"
+       local dev="${2}"
 
        local ret=""
        local backing="$(mount_persistence_media ${dev} probe)"
@@ -925,41 +906,28 @@ probe_for_file_name ()
                        ret="${ret} ${label}=${loopdev}"
                fi
        done
-       for label in ${snapshots}
-       do
-               for ext in squashfs cpio.gz ext2 ext3 ext4 jffs2
-               do
-                       path="${PERSISTENCE_PATH}${label}.${ext}"
-                       if [ -f "${backing}/${path}" ]
-                       then
-                               ret="${ret} ${label}=${dev}:${backing}:${path}"
-                       fi
-               done
-       done
 
        if [ -n "${ret}" ]
        then
                echo ${ret}
        else
+               # unmount and remove mountpoint
                umount ${backing} > /dev/null 2>&1 || true
+               rmdir ${backing} > /dev/null 2>&1 || true
        fi
 }
 
 find_persistence_media ()
 {
-       # Scans devices for overlays and snapshots, and returns a whitespace
+       # Scans devices for overlays, 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}.
+       # label or file name in ${overlays} are returned.
        #
        # When scanning a LUKS device, the user will be asked to enter the
        # passphrase; on failure to enter it, or if no persistence 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
+       # For all other cases (overlay 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.
@@ -969,8 +937,7 @@ find_persistence_media ()
        # scanned.
 
        local overlays="${1}"
-       local snapshots="${2}"
-       local white_listed_devices="${3}"
+       local white_listed_devices="${2}"
        local ret=""
 
        local black_listed_devices="$(what_is_mounted_on /live/image)"
@@ -984,8 +951,7 @@ find_persistence_media ()
                # in order to probe any filesystem it contains, like we do
                # below. activate_custom_mounts() also depends on that any luks
                # device already has been opened.
-               if echo ${PERSISTENCE_ENCRYPTION} | grep -qe "\<luks\>" && \
-                  is_luks_partition ${dev}
+               if is_in_comma_sep_list luks ${PERSISTENCE_ENCRYPTION} && is_luks_partition ${dev}
                then
                        if luks_device=$(open_luks_device "${dev}")
                        then
@@ -994,23 +960,23 @@ find_persistence_media ()
                                # skip $dev since we failed/chose not to open it
                                continue
                        fi
-               elif echo ${PERSISTENCE_ENCRYPTION} | grep -qve "\<none\>"
+               elif ! is_in_comma_sep_list none ${PERSISTENCE_ENCRYPTION}
                then
                        # skip $dev since we don't allow unencrypted storage
                        continue
                fi
 
                # Probe for matching GPT partition names or filesystem labels
-               if echo ${PERSISTENCE_STORAGE} | grep -qe "\<filesystem\>"
+               if is_in_comma_sep_list filesystem ${PERSISTENCE_STORAGE}
                then
-                       result=$(probe_for_gpt_name "${overlays}" "${snapshots}" ${dev})
+                       result=$(probe_for_gpt_name "${overlays}" ${dev})
                        if [ -n "${result}" ]
                        then
                                ret="${ret} ${result}"
                                continue
                        fi
 
-                       result=$(probe_for_fs_label "${overlays}" "${snapshots}" ${dev})
+                       result=$(probe_for_fs_label "${overlays}" ${dev})
                        if [ -n "${result}" ]
                        then
                                ret="${ret} ${result}"
@@ -1019,9 +985,9 @@ find_persistence_media ()
                fi
 
                # Probe for files with matching name on mounted partition
-               if echo ${PERSISTENCE_STORAGE} | grep -qe "\<file\>"
+               if is_in_comma_sep_list file ${PERSISTENCE_STORAGE}
                then
-                       result=$(probe_for_file_name "${overlays}" "${snapshots}" ${dev})
+                       result=$(probe_for_file_name "${overlays}" ${dev})
                        if [ -n "${result}" ]
                        then
                                ret="${ret} ${result}"
@@ -1030,8 +996,7 @@ find_persistence_media ()
                fi
 
                # Close luks device if it isn't used
-               if [ -z "${result}" ] && [ -n "${luks_device}" ] && \
-                  is_active_luks_mapping "${luks_device}"
+               if [ -z "${result}" ] && [ -n "${luks_device}" ] && is_active_luks_mapping "${luks_device}"
                then
                        /sbin/cryptsetup luksClose "${luks_device}"
                fi
@@ -1073,7 +1038,8 @@ is_active_luks_mapping ()
        /sbin/cryptsetup status "${device}" 1>/dev/null 2>&1
 }
 
-get_luks_backing_device () {
+get_luks_backing_device ()
+{
        device=${1}
        cryptsetup status ${device} 2> /dev/null | \
                awk '{if ($1 == "device:") print $2}'
@@ -1092,16 +1058,16 @@ removable_dev ()
                then
                        if [ -z "${want_usb}" ]
                        then
-                               dev_ok="yes"
+                               dev_ok="true"
                        else
                                if readlink ${sysblock} | grep -q usb
                                then
-                                       dev_ok="yes"
+                                       dev_ok="true"
                                fi
                        fi
                fi
 
-               if [ "${dev_ok}" = "yes" ]
+               if [ "${dev_ok}" = "true" ]
                then
                        case "${output_format}" in
                                sys)
@@ -1170,7 +1136,9 @@ link_files ()
                return
        fi
 
-       find "${src_dir}" -mindepth 1 -maxdepth 1 | while read src; do
+       find "${src_dir}" -mindepth 1 -maxdepth 1 | \
+       while read src
+       do
                local dest="${dest_dir}$(basename "${src}")"
                if [ -d "${src}" ]
                then
@@ -1205,19 +1173,23 @@ do_union ()
        local unionro1="${3}"           # first underlying read-only branch (optional)
        local unionro2="${4}"           # second underlying read-only branch (optional)
 
-       if [ "${UNIONTYPE}" = "aufs" ]
-       then
-               rw_opt="rw"
-               ro_opt="rr+wh"
-               noxino_opt="noxino"
-       elif [ "${UNIONTYPE}" = "unionfs-fuse" ]
-       then
-               rw_opt="RW"
-               ro_opt="RO"
-       else
-               rw_opt="rw"
-               ro_opt="ro"
-       fi
+       case "${UNIONTYPE}" in
+               aufs)
+                       rw_opt="rw"
+                       ro_opt="rr+wh"
+                       noxino_opt="noxino"
+                       ;;
+
+               unionfs-fuse)
+                       rw_opt="RW"
+                       ro_opt="RO"
+                       ;;
+
+               *)
+                       rw_opt="rw"
+                       ro_opt="ro"
+                       ;;
+       esac
 
        case "${UNIONTYPE}" in
                unionfs-fuse)
@@ -1261,7 +1233,7 @@ do_union ()
 
 get_custom_mounts ()
 {
-       # Side-effect: leaves $devices with live-persistence.conf mounted in /live/persistence
+       # Side-effect: leaves $devices with persistence.conf mounted in /live/persistence
        # Side-effect: prints info to file $custom_mounts
 
        local custom_mounts=${1}
@@ -1320,7 +1292,7 @@ get_custom_mounts ()
                                                opt_source=${opt#source=}
                                                ;;
                                        link)
-                                               opt_link="yes"
+                                               opt_link="true"
                                                ;;
                                        union|bind)
                                                ;;
@@ -1334,7 +1306,7 @@ get_custom_mounts ()
                        local source="${dir}"
                        if [ -n "${opt_source}" ]
                        then
-                               if echo ${opt_source} | grep -q -e "^/" -e "^\(.*/\)\?\.\.\?\(/.*\)\?$" && [ "${source}" != "." ]
+                               if echo ${opt_source} | grep -q -e "^/" -e "^\(.*/\)\?\.\.\?\(/.*\)\?$" && [ "${opt_source}" != "." ]
                                then
                                        log_warning_msg "Skipping unsafe custom mount with option source=${opt_source}: must be either \".\" (the media root) or a relative path w.r.t. the media root that contains neither comas, nor the special \".\" and \"..\" path components"
                                        continue
@@ -1388,22 +1360,22 @@ activate_custom_mounts ()
 
        while read device source dest options # < ${custom_mounts}
        do
-               local opt_bind="yes"
+               local opt_bind="true"
                local opt_link=""
                local opt_union=""
                for opt in $(echo ${options} | tr ',' ' ');
                do
                        case "${opt}" in
                                bind)
-                                       opt_bind="yes"
+                                       opt_bind="true"
                                        unset opt_link opt_union
                                        ;;
                                link)
-                                       opt_link="yes"
+                                       opt_link="true"
                                        unset opt_bind opt_union
                                        ;;
                                union)
-                                       opt_union="yes"
+                                       opt_union="true"
                                        unset opt_bind opt_link
                                        ;;
                        esac
@@ -1470,23 +1442,23 @@ activate_custom_mounts ()
                fi
 
                # XXX: If CONFIG_AUFS_ROBR is added to the Debian kernel we can
-               # ignore the loop below and set rofs_dest_backing=$dest
-               local rofs_dest_backing=""
+               # ignore the loop below and set rootfs_dest_backing=$dest
+               local rootfs_dest_backing=""
                if [ -n "${opt_link}"]
                then
-                       for d in /live/rofs/*
+                       for d in /live/rootfs/*
                        do
                                if [ -n "${rootmnt}" ]
                                then
-                                       rofs_dest_backing="${d}/$(echo ${dest} | sed -e "s|${rootmnt}||")"
+                                       rootfs_dest_backing="${d}/$(echo ${dest} | sed -e "s|${rootmnt}||")"
                                else
-                                       rofs_dest_backing="${d}/${dest}"
+                                       rootfs_dest_backing="${d}/${dest}"
                                fi
-                               if [ -d "${rofs_dest_backing}" ]
+                               if [ -d "${rootfs_dest_backing}" ]
                                then
                                        break
                                else
-                                       rofs_dest_backing=""
+                                       rootfs_dest_backing=""
                                fi
                        done
                fi
@@ -1509,18 +1481,18 @@ activate_custom_mounts ()
                        mkdir -p ${cow_dir}
                        chown_ref "${source}" "${cow_dir}"
                        chmod_ref "${source}" "${cow_dir}"
-                       do_union ${links_source} ${cow_dir} ${source} ${rofs_dest_backing}
+                       do_union ${links_source} ${cow_dir} ${source} ${rootfs_dest_backing}
                        link_files ${links_source} ${dest} ${rootmnt}
                elif [ -n "${opt_union}" ] && [ -z "${PERSISTENCE_READONLY}" ]
                then
-                       do_union ${dest} ${source} ${rofs_dest_backing}
+                       do_union ${dest} ${source} ${rootfs_dest_backing}
                elif [ -n "${opt_bind}" ] && [ -z "${PERSISTENCE_READONLY}" ]
                then
                        mount --bind "${source}" "${dest}"
                elif [ -n "${opt_bind}" -o -n "${opt_union}" ] && [ -n "${PERSISTENCE_READONLY}" ]
                then
                        # bind-mount and union mount are handled the same
-                       # in read-only mode, but note that rofs_dest_backing
+                       # in read-only mode, but note that rootfs_dest_backing
                        # is non-empty (and necessary) only for unions
                        if [ -n "${rootmnt}" ]
                        then
@@ -1540,7 +1512,7 @@ activate_custom_mounts ()
                        mkdir -p ${cow_dir}
                        chown_ref "${source}" "${cow_dir}"
                        chmod_ref "${source}" "${cow_dir}"
-                       do_union ${dest} ${cow_dir} ${source} ${rofs_dest_backing}
+                       do_union ${dest} ${cow_dir} ${source} ${rootfs_dest_backing}
                fi
 
                PERSISTENCE_IS_ON="1"
diff --git a/scripts/boot/9990-mount-cifs.sh b/scripts/boot/9990-mount-cifs.sh
new file mode 100755 (executable)
index 0000000..a8ef3f4
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+#set -e
+
+do_cifsmount ()
+{
+       rc=1
+
+       if [ -x "/sbin/mount.cifs" ]
+       then
+               if [ -z "${NFSOPTS}" ]
+               then
+                       CIFSOPTS="-ouser=root,password="
+               else
+                       CIFSOPTS="-o ${NFSOPTS}"
+               fi
+
+               log_begin_msg "Trying mount.cifs ${NFSROOT} ${mountpoint} ${CIFSOPTS}"
+               modprobe -q cifs
+
+               if mount.cifs "${NFSROOT}" "${mountpoint}" "${CIFSOPTS}"
+               then
+                       rc=0
+               fi
+       fi
+
+       return ${rc}
+}
diff --git a/scripts/boot/9990-mount-http.sh b/scripts/boot/9990-mount-http.sh
new file mode 100755 (executable)
index 0000000..1b718c0
--- /dev/null
@@ -0,0 +1,88 @@
+#!/bin/sh
+
+#set -e
+
+do_httpmount ()
+{
+       rc=1
+
+       for webfile in HTTPFS FTPFS FETCH
+       do
+               local url="$(eval echo \"\$\{${webfile}\}\")"
+               local extension="$(echo "${url}" | sed 's/\(.*\)\.\(.*\)/\2/')"
+
+               if [ -n "$url" ]
+               then
+                       case "${extension}" in
+                               iso|squashfs|tgz|tar)
+                                       if [ "${extension}" = "iso" ]
+                                       then
+                                               mkdir -p "${alt_mountpoint}"
+                                               dest="${alt_mountpoint}"
+                                       else
+                                               local dest="${mountpoint}/${LIVE_MEDIA_PATH}"
+                                               mount -t ramfs ram "${mountpoint}"
+                                               mkdir -p "${dest}"
+                                       fi
+                                       if [ "${webfile}" = "FETCH" ]
+                                       then
+                                               case "$url" in
+                                                       tftp*)
+                                                               ip="$(dirname $url | sed -e 's|tftp://||g' -e 's|/.*$||g')"
+                                                               rfile="$(echo $url | sed -e "s|tftp://$ip||g")"
+                                                               lfile="$(basename $url)"
+                                                               log_begin_msg "Trying tftp -g -b 10240 -r $rfile -l ${dest}/$lfile $ip"
+                                                               tftp -g -b 10240 -r $rfile -l ${dest}/$lfile $ip
+                                                       ;;
+
+                                                       *)
+                                                               log_begin_msg "Trying wget ${url} -O ${dest}/$(basename ${url})"
+                                                               wget "${url}" -O "${dest}/$(basename ${url})"
+                                                               ;;
+                                               esac
+                                       else
+                                               log_begin_msg "Trying to mount ${url} on ${dest}/$(basename ${url})"
+                                               if [ "${webfile}" = "FTPFS" ]
+                                               then
+                                                       FUSE_MOUNT="curlftpfs"
+                                                       url="$(dirname ${url})"
+                                               else
+                                                       FUSE_MOUNT="httpfs"
+                                               fi
+                                               modprobe fuse
+                                               $FUSE_MOUNT "${url}" "${dest}"
+                                               ROOT_PID="$(minips h -C "$FUSE_MOUNT" | { read x y ; echo "$x" ; } )"
+                                       fi
+                                       [ ${?} -eq 0 ] && rc=0
+                                       [ "${extension}" = "tgz" ] && live_dest="ram"
+                                       if [ "${extension}" = "iso" ]
+                                       then
+                                               isoloop=$(setup_loop "${dest}/$(basename "${url}")" "loop" "/sys/block/loop*" "" '')
+                                               mount -t iso9660 "${isoloop}" "${mountpoint}"
+                                               rc=${?}
+                                       fi
+                                       break
+                                       ;;
+
+                               *)
+                                       log_begin_msg "Unrecognized archive extension for ${url}"
+                                       ;;
+                       esac
+               fi
+       done
+
+       if [ ${rc} != 0 ]
+       then
+               if [ -d "${alt_mountpoint}" ]
+               then
+                       umount "${alt_mountpoint}"
+                       rmdir "${alt_mountpoint}"
+               fi
+               umount "${mountpoint}"
+       elif [ "${webfile}"  != "FETCH" ] ; then
+               NETBOOT="${webfile}"
+               export NETBOOT
+       fi
+
+       return ${rc}
+}
diff --git a/scripts/boot/9990-mount-iscsi.sh b/scripts/boot/9990-mount-iscsi.sh
new file mode 100755 (executable)
index 0000000..fd29d91
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+#set -e
+
+do_iscsi()
+{
+       do_netsetup
+       #modprobe ib_iser
+       modprobe iscsi_tcp
+       local debugopt=""
+       [ "${DEBUG}" = "true" ] && debugopt="-d 8"
+       #FIXME this name is supposed to be unique - some date + ifconfig hash?
+       ISCSI_INITIATORNAME="iqn.1993-08.org.debian.live:01:$(echo "${HWADDR}" | sed -e s/://g)"
+       export ISCSI_INITIATORNAME
+       if [ -n "${ISCSI_SERVER}" ] ; then
+               iscsistart $debugopt -i "${ISCSI_INITIATORNAME}" -t "${ISCSI_TARGET}" -g 1 -a "${ISCSI_SERVER}" -p "${ISCSI_PORT}"
+       else
+               iscsistart $debugopt -i "${ISCSI_INITIATORNAME}" -t "${ISCSI_TARGET}" -g 1 -a "${ISCSI_PORTAL}" -p 3260
+       fi
+       if [ $? != 0 ]
+       then
+               panic "Failed to log into iscsi target"
+       fi
+       local host="$(ls -d /sys/class/scsi_host/host*/device/iscsi_host:host* \
+                           /sys/class/scsi_host/host*/device/iscsi_host/host* | sed -e 's:/device.*::' -e 's:.*host::')"
+       if [ -n "${host}" ]
+       then
+               local devices=""
+               local i=0
+               while [ -z "${devices}" -a $i -lt 60 ]
+               do
+                       sleep 1
+                       devices="$(ls -d /sys/class/scsi_device/${host}*/device/block:* \
+                                        /sys/class/scsi_device/${host}*/device/block/* | sed -e 's!.*[:/]!!')"
+                       i=$(expr $i + 1)
+                       echo -ne $i\\r
+               done
+               for dev in $devices
+               do
+                       if check_dev "null" "/dev/$dev"
+                       then
+                               NETBOOT="iscsi"
+                               export NETBOOT
+                               return 0;
+                       fi
+               done
+               panic "Failed to locate a live device on iSCSI devices (tried: $devices)."
+       else
+               panic "Failed to locate iSCSI host in /sys"
+       fi
+}
diff --git a/scripts/boot/9990-mount-nfs.sh b/scripts/boot/9990-mount-nfs.sh
new file mode 100755 (executable)
index 0000000..6a3ae55
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+#set -e
+
+do_nfsmount ()
+{
+       rc=1
+
+       modprobe -q nfs
+
+       if [ -n "${NFSOPTS}" ]
+       then
+               NFSOPTS="-o ${NFSOPTS}"
+       fi
+
+       log_begin_msg "Trying nfsmount -o nolock -o ro ${NFSOPTS} ${NFSROOT} ${mountpoint}"
+
+       # FIXME: This while loop is an ugly HACK round an nfs bug
+       i=0
+       while [ "$i" -lt 60 ]
+       do
+               nfsmount -o nolock -o ro ${NFSOPTS} "${NFSROOT}" "${mountpoint}" && rc=0 && break
+               sleep 1
+               i="$(($i + 1))"
+       done
+
+       return ${rc}
+}
diff --git a/scripts/boot/9990-netbase.sh b/scripts/boot/9990-netbase.sh
new file mode 100755 (executable)
index 0000000..64e30df
--- /dev/null
@@ -0,0 +1,154 @@
+#!/bin/sh
+
+#set -e
+
+Netbase ()
+{
+       if [ -n "${NONETWORKING}" ]
+       then
+               return
+       fi
+
+       # FIXME: stop hardcoding overloading of initramfs-tools functions
+       . /scripts/functions
+       . /lib/live/boot/9990-initramfs-tools.sh
+
+       log_begin_msg "Preconfiguring networking"
+
+       IFFILE="/root/etc/network/interfaces"
+       DNSFILE="/root/etc/resolv.conf"
+
+       if [ "${STATICIP}" = "frommedia" ] && [ -e "${IFFILE}" ]
+       then
+               # will use existent /etc/network/interfaces
+               log_end_msg
+               return
+       fi
+
+cat > "${IFFILE}" << EOF
+auto lo
+iface lo inet loopback
+
+EOF
+
+       udevadm trigger
+       udevadm settle
+
+       if [ -z "${NETBOOT}" ] && [ -n "${STATICIP}" ] && [ "${STATICIP}" != "frommedia" ]
+       then
+               parsed=$(echo "${STATICIP}" | sed -e 's|,| |g')
+
+               for ifline in ${parsed}
+               do
+                       ifname="$(echo ${ifline} | cut -f1 -d ':')"
+                       ifaddress="$(echo ${ifline} | cut -f2 -d ':')"
+                       ifnetmask="$(echo ${ifline} | cut -f3 -d ':')"
+                       ifgateway="$(echo ${ifline} | cut -f4 -d ':')"
+                       nameserver="$(echo ${ifline} | cut -f5 -d ':')"
+
+cat >> "${IFFILE}" << EOF
+allow-hotplug ${ifname}
+iface ${ifname} inet static
+    address ${ifaddress}
+    netmask ${ifnetmask}
+EOF
+
+                       if [ -n "${ifgateway}" ]
+                       then
+
+cat >> "${IFFILE}" << EOF
+    gateway ${ifgateway}
+
+EOF
+
+                       fi
+
+                       if [ -n "${nameserver}" ]
+                       then
+                               if [ -e "${DNSFILE}" ]
+                               then
+                                       grep -v ^nameserver "${DNSFILE}" > "${DNSFILE}.tmp"
+                                       mv "${DNSFILE}.tmp" "${DNSFILE}"
+                               fi
+
+                               echo "nameserver ${nameserver}" >> "${DNSFILE}"
+                       fi
+               done
+       else
+               if [ -z "${NETBOOT}" ] || [ -n "${DHCP}" ]
+               then
+                       # default, dhcp assigned
+                       method="dhcp"
+               else
+                       # make sure that the preconfigured interface would not get reassigned by dhcp
+                       # on startup by ifup script - otherwise our root fs might be disconnected!
+                       method="manual"
+               fi
+
+               # iterate the physical interfaces and add them to the interfaces list and also add when ethdevice= called on cmdline
+               if [ "${method}" != dhcp ] || ([ ! -x /root/usr/sbin/NetworkManager ] && [ ! -x /root/usr/sbin/wicd ]) || [ ! -z "${ETHDEVICE}" ]
+               then
+                       for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan*
+                       do
+                               [ -e ${interface} ] || continue
+                               i="$(basename ${interface})"
+
+cat >> "${IFFILE}" << EOF
+allow-hotplug ${i}
+iface ${i} inet ${method}
+
+EOF
+
+                       done
+               fi
+
+               if [ ! -f /root/etc/resolv.conf ] || [ -z "$(cat /root/etc/resolv.conf)" ]
+               then
+                       if [ -f /netboot.config ]
+                       then
+                               # create a resolv.conf if it is not present or empty
+                               cp /netboot.config /root/var/log/netboot.config
+
+                               rc_search=$(cat netboot.config | awk '/domain/{print $3}')
+                               rc_server0=$(cat netboot.config | awk '/dns0/{print $5}')
+                               rc_server1=$(cat netboot.config | awk '/dns0/{print $8}')
+                               rc_server0="nameserver ${rc_server0}"
+
+                               if [ "${rc_server1}" = "0.0.0.0" ]
+                               then
+                                       rc_server1=""
+                               else
+                                       rc_server1="nameserver ${rc_server1}"
+                               fi
+
+cat > /root/etc/resolv.conf << EOF
+# /etc/resolv.conf
+# Autogenerated by live-boot
+search ${rc_search}
+domain ${rc_search}
+${rc_server0}
+${rc_server1}
+EOF
+
+                               cat /root/etc/resolv.conf >> /root/var/log/netboot.config
+                       fi
+               fi
+       fi
+
+       #if [ ! -x /root/usr/sbin/NetworkManager ]
+       #then
+       #       for i in eth0 eth1 eth2 ath0 wlan0
+       #       do
+       #               grep -q "iface ${i}" ${IFFILE} && continue
+       #
+       #cat >> "${IFFILE}" << EOF
+       #allow-hotplug ${i}
+       #iface ${i} inet dhcp
+       #
+       #EOF
+       #
+       #       done
+       #fi
+
+       log_end_msg
+}
diff --git a/scripts/boot/9990-netboot.sh b/scripts/boot/9990-netboot.sh
new file mode 100755 (executable)
index 0000000..5054fb8
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+#set -e
+
+do_netmount()
+{
+       do_netsetup
+
+       if [ "${NFSROOT}" = "auto" ]
+       then
+               NFSROOT=${ROOTSERVER}:${ROOTPATH}
+       fi
+
+       rc=1
+
+       if ( [ -n "${FETCH}" ] || [ -n "${HTTPFS}" ] || [ -n "${FTPFS}" ] )
+       then
+               do_httpmount
+               return $?
+       fi
+
+       if [ "${NFSROOT#*:}" = "${NFSROOT}" ] && [ "$NETBOOT" != "cifs" ]
+       then
+               NFSROOT=${ROOTSERVER}:${NFSROOT}
+       fi
+
+       log_begin_msg "Trying netboot from ${NFSROOT}"
+
+       if [ "${NETBOOT}" != "nfs" ] && do_cifsmount
+       then
+               rc=0
+       elif do_nfsmount
+       then
+               NETBOOT="nfs"
+               export NETBOOT
+               rc=0
+       fi
+
+       log_end_msg
+       return ${rc}
+}
diff --git a/scripts/boot/9990-networking.sh b/scripts/boot/9990-networking.sh
new file mode 100755 (executable)
index 0000000..f32ae6c
--- /dev/null
@@ -0,0 +1,175 @@
+#!/bin/sh
+
+#set -e
+
+do_netsetup ()
+{
+       modprobe -q af_packet # For DHCP
+
+       udevadm trigger
+       udevadm settle
+
+       [ -n "$ETHDEV_TIMEOUT" ] || ETHDEV_TIMEOUT=15
+       echo "Using timeout of $ETHDEV_TIMEOUT seconds for network configuration."
+
+       if [ -z "${NETBOOT}" ] && [ -z "${FETCH}" ] && [ -z "${HTTPFS}" ] && [ -z "${FTPFS}" ]
+       then
+               # support for Syslinux IPAPPEND parameter
+               # it sets the BOOTIF variable on the kernel parameter
+
+               if [ -n "${BOOTIF}" ]
+               then
+                       # pxelinux sets BOOTIF to a value based on the mac address of the
+                       # network card used to PXE boot, so use this value for DEVICE rather
+                       # than a hard-coded device name from initramfs.conf. this facilitates
+                       # network booting when machines may have multiple network cards.
+                       # pxelinux sets BOOTIF to 01-$mac_address
+
+                       # strip off the leading "01-", which isn't part of the mac
+                       # address
+                       temp_mac=${BOOTIF#*-}
+
+                       # convert to typical mac address format by replacing "-" with ":"
+                       bootif_mac=""
+                       IFS='-'
+                       for x in $temp_mac
+                       do
+                               if [ -z "$bootif_mac" ]
+                               then
+                                       bootif_mac="$x"
+                               else
+                                       bootif_mac="$bootif_mac:$x"
+                               fi
+                       done
+                       unset IFS
+
+                       # look for devices with matching mac address, and set DEVICE to
+                       # appropriate value if match is found.
+
+                       for device in /sys/class/net/*
+                       do
+                               if [ -f "$device/address" ]
+                               then
+                                       current_mac=$(cat "$device/address")
+
+                                       if [ "$bootif_mac" = "$current_mac" ]
+                                       then
+                                               DEVICE=${device##*/}
+                                               break
+                                       fi
+                               fi
+                       done
+               fi
+
+               # if ethdevice was not specified on the kernel command line
+               # make sure we try to get a working network configuration
+               # for *every* present network device (except for loopback of course)
+               if [ -z "$ETHDEVICE" ]
+               then
+                       echo "If you want to boot from a specific device use bootoption ethdevice=..."
+                       for device in /sys/class/net/*
+                       do
+                               dev=${device##*/}
+                               if [ "$dev" != "lo" ]
+                               then
+                                       ETHDEVICE="$ETHDEVICE $dev"
+                               fi
+                       done
+               fi
+
+               # split args of ethdevice=eth0,eth1 into "eth0 eth1"
+               for device in $(echo $ETHDEVICE | sed 's/,/ /g')
+               do
+                       devlist="$devlist $device"
+               done
+
+               # this is tricky (and ugly) because ipconfig sometimes just hangs/runs into
+               # an endless loop; if execution fails give it two further tries, that's
+               # why we use '$devlist $devlist $devlist' for the other for loop
+               for dev in $devlist $devlist $devlist
+               do
+                       echo "Executing ipconfig -t $ETHDEV_TIMEOUT $dev"
+                       ipconfig -t "$ETHDEV_TIMEOUT" $dev | tee -a /netboot.config &
+                       jobid=$!
+                       sleep "$ETHDEV_TIMEOUT" ; sleep 1
+                       if [ -r /proc/"$jobid"/status ]
+                       then
+                               echo "Killing job $jobid for device $dev as ipconfig ran into recursion..."
+                               kill -9 $jobid
+                       fi
+
+                       # if configuration of device worked we should have an assigned
+                       # IP address, if so let's use the device as $DEVICE for later usage.
+                       # simple and primitive approach which seems to work fine
+                       if ifconfig $dev | grep -q 'inet.*addr:'
+                       then
+                               export DEVICE="$dev"
+                               break
+                       fi
+               done
+       else
+               for interface in ${DEVICE}; do
+                       ipconfig -t "$ETHDEV_TIMEOUT" ${interface} | tee /netboot-${interface}.config
+
+                       # squeeze
+                       [ -e /tmp/net-${interface}.conf ] && . /tmp/net-${interface}.conf
+
+                       # wheezy
+                       [ -e /run/net-${interface}.conf ] && . /run/net-${interface}.conf
+
+                       if [ "$IPV4ADDR" != "0.0.0.0" ]
+                       then
+                               break
+                       fi
+               done
+       fi
+
+       for interface in ${DEVICE}
+       do
+               # source relevant ipconfig output
+               OLDHOSTNAME=${HOSTNAME}
+
+               # squeeze
+               [ -e /tmp/net-${interface}.conf ] && . /tmp/net-${interface}.conf
+
+               # wheezy
+               [ -e /run/net-${interface}.conf ] && . /run/net-${interface}.conf
+
+               [ -z ${HOSTNAME} ] && HOSTNAME=${OLDHOSTNAME}
+               export HOSTNAME
+
+               if [ -n "${interface}" ]
+               then
+                       HWADDR="$(cat /sys/class/net/${interface}/address)"
+               fi
+
+               if [ ! -e "/etc/resolv.conf" ]
+               then
+                       echo "Creating /etc/resolv.conf"
+
+                       if [ -n "${DNSDOMAIN}" ]
+                       then
+                               echo "domain ${DNSDOMAIN}" > /etc/resolv.conf
+                               echo "search ${DNSDOMAIN}" >> /etc/resolv.conf
+                       fi
+
+                       for i in ${IPV4DNS0} ${IPV4DNS1} ${IPV4DNS1}
+                       do
+                               if [ -n "$i" ] && [ "$i" != 0.0.0.0 ]
+                               then
+                                       echo "nameserver $i" >> /etc/resolv.conf
+                               fi
+                       done
+               fi
+
+               # Check if we have a network device at all
+               if ! ls /sys/class/net/"$interface" > /dev/null 2>&1 && \
+                  ! ls /sys/class/net/eth0 > /dev/null 2>&1 && \
+                  ! ls /sys/class/net/wlan0 > /dev/null 2>&1 && \
+                  ! ls /sys/class/net/ath0 > /dev/null 2>&1 && \
+                  ! ls /sys/class/net/ra0 > /dev/null 2>&1
+               then
+                       panic "No supported network device found, maybe a non-mainline driver is required."
+               fi
+       done
+}
diff --git a/scripts/boot/9990-overlay.sh b/scripts/boot/9990-overlay.sh
new file mode 100755 (executable)
index 0000000..13c1a0c
--- /dev/null
@@ -0,0 +1,428 @@
+#!/bin/sh
+
+#set -e
+
+setup_unionfs ()
+{
+       image_directory="${1}"
+       rootmnt="${2}"
+       addimage_directory="${3}"
+
+       case ${UNIONTYPE} in
+               aufs|unionfs|overlayfs)
+                       modprobe -q -b ${UNIONTYPE}
+
+                       if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$" && [ -x /bin/unionfs-fuse ]
+                       then
+                               echo "${UNIONTYPE} not available, falling back to unionfs-fuse."
+                               echo "This might be really slow."
+
+                               UNIONTYPE="unionfs-fuse"
+                       fi
+                       ;;
+       esac
+
+       case "${UNIONTYPE}" in
+               unionfs-fuse)
+                       modprobe fuse
+                       ;;
+       esac
+
+       # run-init can't deal with images in a subdir, but we're going to
+       # move all of these away before it runs anyway.  No, we're not,
+       # put them in / since move-mounting them into / breaks mono and
+       # some other apps.
+
+       croot="/"
+
+       # Let's just mount the read-only file systems first
+       rootfslist=""
+
+       if [ -z "${PLAIN_ROOT}" ]
+       then
+               # Read image names from ${MODULE}.module if it exists
+               if [ -e "${image_directory}/filesystem.${MODULE}.module" ]
+               then
+                       for IMAGE in $(cat ${image_directory}/filesystem.${MODULE}.module)
+                       do
+                               image_string="${image_string} ${image_directory}/${IMAGE}"
+                       done
+               elif [ -e "${image_directory}/${MODULE}.module" ]
+               then
+                       for IMAGE in $(cat ${image_directory}/${MODULE}.module)
+                       do
+                               image_string="${image_string} ${image_directory}/${IMAGE}"
+                       done
+               else
+                       # ${MODULE}.module does not exist, create a list of images
+                       for FILESYSTEM in squashfs ext2 ext3 ext4 xfs jffs2 dir
+                       do
+                               for IMAGE in "${image_directory}"/*."${FILESYSTEM}"
+                               do
+                                       if [ -e "${IMAGE}" ]
+                                       then
+                                               image_string="${image_string} ${IMAGE}"
+                                       fi
+                               done
+                       done
+
+                       if [ -n "${addimage_directory}" ] && [ -d "${addimage_directory}" ]
+                       then
+                               for FILESYSTEM in squashfs ext2 ext3 ext4 xfs jffs2 dir
+                               do
+                                       for IMAGE in "${addimage_directory}"/*."${FILESYSTEM}"
+                                       do
+                                               if [ -e "${IMAGE}" ]
+                                               then
+                                                       image_string="${image_string} ${IMAGE}"
+                                               fi
+                                       done
+                               done
+                       fi
+
+                       # Now sort the list
+                       image_string="$(echo ${image_string} | sed -e 's/ /\n/g' | sort )"
+               fi
+
+               [ -n "${MODULETORAMFILE}" ] && image_string="${image_directory}/$(basename ${MODULETORAMFILE})"
+
+               mkdir -p "${croot}"
+
+               for image in ${image_string}
+               do
+                       imagename=$(basename "${image}")
+
+                       export image devname
+                       maybe_break live-realpremount
+                       log_begin_msg "Running /scripts/live-realpremount"
+                       run_scripts /scripts/live-realpremount
+                       log_end_msg
+
+                       if [ -d "${image}" ]
+                       then
+                               # it is a plain directory: do nothing
+                               rootfslist="${image} ${rootfslist}"
+                       elif [ -f "${image}" ]
+                       then
+                               if losetup --help 2>&1 | grep -q -- "-r\b"
+                               then
+                                       backdev=$(get_backing_device "${image}" "-r")
+                               else
+                                       backdev=$(get_backing_device "${image}")
+                               fi
+                               fstype=$(get_fstype "${backdev}")
+
+                               case "${fstype}" in
+                                       unknown)
+                                               panic "Unknown file system type on ${backdev} (${image})"
+                                               ;;
+
+                                       "")
+                                               fstype="${imagename##*.}"
+                                               log_warning_msg "Unknown file system type on ${backdev} (${image}), assuming ${fstype}."
+                                               ;;
+                               esac
+
+                               case "${UNIONTYPE}" in
+                                       unionmount)
+                                               mpoint="${rootmnt}"
+                                               rootfslist="${rootmnt} ${rootfslist}"
+                                               ;;
+
+                                       *)
+                                               mpoint="${croot}/${imagename}"
+                                               rootfslist="${mpoint} ${rootfslist}"
+                                               ;;
+                               esac
+
+                               mkdir -p "${mpoint}"
+                               log_begin_msg "Mounting \"${image}\" on \"${mpoint}\" via \"${backdev}\""
+                               mount -t "${fstype}" -o ro,noatime "${backdev}" "${mpoint}" || panic "Can not mount ${backdev} (${image}) on ${mpoint}"
+                               log_end_msg
+                       fi
+               done
+       else
+               # we have a plain root system
+               mkdir -p "${croot}/filesystem"
+               log_begin_msg "Mounting \"${image_directory}\" on \"${croot}/filesystem\""
+               mount -t $(get_fstype "${image_directory}") -o ro,noatime "${image_directory}" "${croot}/filesystem" || \
+                       panic "Can not mount ${image_directory} on ${croot}/filesystem" && \
+                       rootfslist="${croot}/filesystem ${rootfslist}"
+               # probably broken:
+               mount -o bind ${croot}/filesystem $mountpoint
+               log_end_msg
+       fi
+
+       # tmpfs file systems
+       touch /etc/fstab
+       mkdir -p /live/overlay
+       mount -t tmpfs tmpfs /live/overlay
+
+       # Looking for persistence devices or files
+       if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ]
+       then
+
+               if [ -z "${QUICKUSBMODULES}" ]
+               then
+                       # Load USB modules
+                       num_block=$(ls -l /sys/block | wc -l)
+                       for module in sd_mod uhci-hcd ehci-hcd ohci-hcd usb-storage
+                       do
+                               modprobe -q -b ${module}
+                       done
+
+                       udevadm trigger
+                       udevadm settle
+
+                       # For some reason, udevsettle does not block in this scenario,
+                       # so we sleep for a little while.
+                       #
+                       # See https://bugs.launchpad.net/ubuntu/+source/casper/+bug/84591
+                       for timeout in 5 4 3 2 1
+                       do
+                               sleep 1
+
+                               if [ $(ls -l /sys/block | wc -l) -gt ${num_block} ]
+                               then
+                                       break
+                               fi
+                       done
+               fi
+
+               case "${PERSISTENCE_MEDIA}" in
+                       removable)
+                               whitelistdev="$(removable_dev)"
+                               ;;
+
+                       removable-usb)
+                               whitelistdev="$(removable_usb_dev)"
+                               ;;
+
+                       *)
+                               whitelistdev=""
+                               ;;
+               esac
+
+               if is_in_comma_sep_list overlay ${PERSISTENCE_METHOD}
+               then
+                       overlays="${old_root_overlay_label} ${old_home_overlay_label} ${custom_overlay_label}"
+               fi
+
+               local overlay_devices=""
+               for media in $(find_persistence_media "${overlays}" "${whitelistdev}")
+               do
+                       media="$(echo ${media} | tr ":" " ")"
+
+                       case ${media} in
+                               ${old_root_overlay_label}=*)
+                                       device="${media#*=}"
+                                       fix_backwards_compatibility ${device} / union
+                                       overlay_devices="${overlay_devices} ${device}"
+                                       ;;
+
+                               ${old_home_overlay_label}=*)
+                                       device="${media#*=}"
+                                       fix_backwards_compatibility ${device} /home bind
+                                       overlay_devices="${overlay_devices} ${device}"
+                                       ;;
+
+                               ${custom_overlay_label}=*)
+                                       device="${media#*=}"
+                                       overlay_devices="${overlay_devices} ${device}"
+                                       ;;
+                        esac
+               done
+       elif [ -n "${NFS_COW}" ] && [ -z "${NOPERSISTENCE}" ]
+       then
+               # check if there are any nfs options
+               if echo ${NFS_COW} | grep -q ','
+               then
+                       nfs_cow_opts="-o nolock,$(echo ${NFS_COW}|cut -d, -f2-)"
+                       nfs_cow=$(echo ${NFS_COW}|cut -d, -f1)
+               else
+                       nfs_cow_opts="-o nolock"
+                       nfs_cow=${NFS_COW}
+               fi
+
+               if [ -n "${PERSISTENCE_READONLY}" ]
+               then
+                       nfs_cow_opts="${nfs_cow_opts},nocto,ro"
+               fi
+
+               mac="$(get_mac)"
+               if [ -n "${mac}" ]
+               then
+                       cowdevice=$(echo ${nfs_cow} | sed "s/client_mac_address/${mac}/")
+                       cow_fstype="nfs"
+               else
+                       panic "unable to determine mac address"
+               fi
+       fi
+
+       if [ -z "${cowdevice}" ]
+       then
+               cowdevice="tmpfs"
+               cow_fstype="tmpfs"
+               cow_mountopt="rw,noatime,mode=755"
+       fi
+
+       if [ "${UNIONTYPE}" != "unionmount" ]
+       then
+               if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
+               then
+                       mount -t tmpfs -o rw,noatime,mode=755 tmpfs "/live/overlay"
+                       root_backing="/live/persistence/$(basename ${cowdevice})-root"
+                       mkdir -p ${root_backing}
+               else
+                       root_backing="/live/overlay"
+               fi
+
+               if [ "${cow_fstype}" = "nfs" ]
+               then
+                       log_begin_msg \
+                               "Trying nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing}"
+                       nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing} || \
+                               panic "Can not mount ${cowdevice} (n: ${cow_fstype}) on ${root_backing}"
+               else
+                       mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} ${root_backing} || \
+                               panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on ${root_backing}"
+               fi
+       fi
+
+       rootfscount=$(echo ${rootfslist} |wc -w)
+
+       rootfs=${rootfslist%% }
+
+       if [ -n "${EXPOSED_ROOT}" ]
+       then
+               if [ ${rootfscount} -ne 1 ]
+               then
+                       panic "only one RO file system supported with exposedroot: ${rootfslist}"
+               fi
+
+               mount --bind ${rootfs} ${rootmnt} || \
+                       panic "bind mount of ${rootfs} failed"
+
+               if [ -z "${SKIP_UNION_MOUNTS}" ]
+               then
+                       cow_dirs='/var/tmp /var/lock /var/run /var/log /var/spool /home /var/lib/live'
+               else
+                       cow_dirs=''
+               fi
+       else
+               cow_dirs="/"
+       fi
+
+       if [ "${cow_fstype}" != "tmpfs" ] && [ "${cow_dirs}" != "/" ] && [ "${UNIONTYPE}" = "unionmount" ]
+       then
+               true # FIXME: Maybe it does, I don't really know.
+               #panic "unionmount does not support subunions (${cow_dirs})."
+       fi
+
+       for dir in ${cow_dirs}; do
+               unionmountpoint="${rootmnt}${dir}"
+               mkdir -p ${unionmountpoint}
+               if [ "${UNIONTYPE}" = "unionmount" ]
+               then
+                       # FIXME: handle PERSISTENCE_READONLY
+                       unionmountopts="-t ${cow_fstype} -o noatime,union,${cow_mountopt} ${cowdevice}"
+                       mount_full $unionmountopts "${unionmountpoint}"
+               else
+                       cow_dir="/live/overlay${dir}"
+                       rootfs_dir="${rootfs}${dir}"
+                       mkdir -p ${cow_dir}
+                       if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
+                       then
+                               do_union ${unionmountpoint} ${cow_dir} ${root_backing} ${rootfs_dir}
+                       else
+                               do_union ${unionmountpoint} ${cow_dir} ${rootfs_dir}
+                       fi
+               fi || panic "mount ${UNIONTYPE} on ${unionmountpoint} failed with option ${unionmountopts}"
+       done
+
+       # Correct the permissions of /:
+       chmod 0755 "${rootmnt}"
+
+       # Correct the permission of /tmp:
+       if [ -d "${rootmnt}/tmp" ]
+       then
+               chmod 1777 "${rootmnt}"/tmp
+       fi
+
+       live_rootfs_list=""
+       for d in ${rootfslist}
+       do
+               live_rootfs="/live/rootfs/${d##*/}"
+               live_rootfs_list="${live_rootfs_list} ${live_rootfs}"
+               mkdir -p "${live_rootfs}"
+               case d in
+                       *.dir)
+                               # do nothing # mount -o bind "${d}" "${live_rootfs}"
+                               ;;
+                       *)
+                               case "${UNIONTYPE}" in
+                                       unionfs-fuse)
+                                               mount -o bind "${d}" "${live_rootfs}"
+                                               ;;
+
+                                       *)
+                                               mount -o move "${d}" "${live_rootfs}"
+                                               ;;
+                               esac
+                               ;;
+               esac
+       done
+
+       # Adding custom persistence
+       if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ]
+       then
+               local custom_mounts="/tmp/custom_mounts.list"
+               rm -rf ${custom_mounts} 2> /dev/null
+
+               # Gather information about custom mounts from devies detected as overlays
+               get_custom_mounts ${custom_mounts} ${overlay_devices}
+
+               [ -n "${DEBUG}" ] && cp ${custom_mounts} "/live/persistence"
+
+               # Now we do the actual mounting (and symlinking)
+               local used_overlays=""
+               used_overlays=$(activate_custom_mounts ${custom_mounts})
+               rm ${custom_mounts}
+
+               # Close unused overlays (e.g. due to missing $persistence_list)
+               for overlay in ${overlay_devices}
+               do
+                       if echo ${used_overlays} | grep -qve "^\(.* \)\?${device}\( .*\)\?$"
+                       then
+                               close_persistence_media ${overlay}
+                       fi
+               done
+       fi
+
+       # move all mountpoints to root filesystem
+       for _DIRECTORY in rootfs persistence
+       do
+               if [ -d "/live/${_DIRECTORY}" ]
+               then
+                       mkdir -p "${rootmnt}/lib/live/${_DIRECTORY}"
+
+                       for _MOUNT in $(ls /live/${_DIRECTORY})
+                       do
+                               mkdir -p "${rootmnt}/lib/live/${_DIRECTORY}/${_MOUNT}"
+                               mount -o move "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/${_DIRECTORY}/${_MOUNT}" > /dev/null 2>&1 || \
+                                       mount -o bind "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/${_DIRECTORY}/${_MOUNT}" || \
+                                       log_warning_msg "W: failed to mount /live/${_DIRECTORY}/${_MOUNT} to ${rootmnt}/lib/live/${_DIRECTORY}/${_MOUNT}"
+                       done
+               fi
+       done
+
+       mkdir -p "${rootmnt}/lib/live/overlay"
+       mount -o move /live/overlay "${rootmnt}/lib/live/overlay" > /dev/null 2>&1 || \
+               mount -o bind /live/overlay "${rootmnt}/lib/live/overlay" || \
+               log_warning_msg "W: failed to mount /live/overlay to ${rootmnt}/lib/live/overlay"
+
+        # ensure that a potentially stray tmpfs gets removed
+        # otherways, initramfs-tools is unable to remove /live
+        # and fails to boot
+        umount /live/overlay || true
+}
diff --git a/scripts/boot/9990-select-eth-device.sh b/scripts/boot/9990-select-eth-device.sh
new file mode 100755 (executable)
index 0000000..5a769ce
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+Select_eth_device ()
+{
+       # Boot type in initramfs's config
+       bootconf=$(egrep '^BOOT=' /conf/initramfs.conf | tail -1)
+
+       # can be superseded by command line (used by Debian-Live's netboot for example)
+       for ARGUMENT in ${_CMDLINE}
+       do
+               case "${ARGUMENT}" in
+                       netboot=*)
+                               NETBOOT="${ARGUMENT#netboot=}"
+                               ;;
+               esac
+       done
+
+       if [ "$bootconf" != "BOOT=nfs" ] && [ -z "$NETBOOT" ] && [ -z "$FETCH" ] && [ -z "$FTPFS" ] && [ -z "$HTTPFS" ]
+       then
+               # Not a net boot : nothing to do
+               return
+       fi
+
+       # we want to do some basic IP
+       modprobe -q af_packet
+
+       # Available Ethernet interfaces ?
+       l_interfaces=""
+       echo "Waiting for ethernet card(s) up... If this fails, maybe the ethernet card is not supported by the kernel `uname -r`?"
+       while [ -z "$l_interfaces" ]
+       do
+               l_interfaces="$(cd /sys/class/net/ && ls -d eth* 2>/dev/null)"
+       done
+
+       if [ $(echo $l_interfaces | wc -w) -lt 2 ]
+       then
+               # only one interface : no choice
+               echo "DEVICE=$l_interfaces" >> /conf/param.conf
+               return
+       fi
+
+       # If user force to use specific device, write it
+       for ARGUMENT in ${_CMDLINE}
+       do
+               case "${ARGUMENT}" in
+                       live-netdev=*)
+                               NETDEV="${ARGUMENT#live-netdev=}"
+                               echo "DEVICE=$NETDEV" >> /conf/param.conf
+                               echo "Found live-netdev parameter, forcing to to use network device $NETDEV."
+                               return
+                               ;;
+               esac
+       done
+
+       found_eth_dev=""
+       while true
+       do
+               echo -n "Looking for a connected Ethernet interface ..."
+
+               for interface in $l_interfaces
+               do
+                       # ATTR{carrier} is not set if this is not done
+                       echo -n " $interface ?"
+                       ipconfig -c none -d $interface -t 1 >/dev/null 2>&1
+               done
+
+               echo ''
+
+               for step in 1 2 3 4 5
+               do
+                       for interface in $l_interfaces
+                       do
+                               carrier=$(cat /sys/class/net/$interface/carrier \
+                                       2>/dev/null)
+                               # link detected
+
+                               case "${carrier}" in
+                                       1)
+                                               echo "Connected $interface found"
+                                               # inform initrd's init script :
+                                               found_eth_dev="$found_eth_dev $interface"
+                                               ;;
+                               esac
+                       done
+                       if [ -n "$found_eth_dev" ]
+                       then
+                               echo "DEVICE='$found_eth_dev'" >> /conf/param.conf
+                               return
+                       else
+                               # wait a bit
+                               sleep 1
+                       fi
+               done
+       done
+}
diff --git a/scripts/boot/9990-toram-todisk.sh b/scripts/boot/9990-toram-todisk.sh
new file mode 100755 (executable)
index 0000000..2643eb8
--- /dev/null
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+#set -e
+
+copy_live_to ()
+{
+       copyfrom="${1}"
+       copytodev="${2}"
+       copyto="${copyfrom}_swap"
+
+       if [ -z "${MODULETORAM}" ]
+       then
+               size=$(fs_size "" ${copyfrom}/${LIVE_MEDIA_PATH} "used")
+       else
+               MODULETORAMFILE="${copyfrom}/${LIVE_MEDIA_PATH}/${MODULETORAM}"
+
+               if [ -f "${MODULETORAMFILE}" ]
+               then
+                       size=$( expr $(ls -la ${MODULETORAMFILE} | awk '{print $5}') / 1024 + 5000 )
+               else
+                       log_warning_msg "Error: toram-module ${MODULETORAM} (${MODULETORAMFILE}) could not be read."
+                       return 1
+               fi
+       fi
+
+       if [ "${copytodev}" = "ram" ]
+       then
+               # copying to ram:
+               freespace=$(awk '/^MemFree:/{f=$2} /^Cached:/{c=$2} END{print f+c}' /proc/meminfo)
+               mount_options="-o size=${size}k"
+               free_string="memory"
+               fstype="tmpfs"
+               dev="/dev/shm"
+       else
+               # it should be a writable block device
+               if [ -b "${copytodev}" ]
+               then
+                       dev="${copytodev}"
+                       free_string="space"
+                       fstype=$(get_fstype "${dev}")
+                       freespace=$(fs_size "${dev}")
+               else
+                       log_warning_msg "${copytodev} is not a block device."
+                       return 1
+               fi
+       fi
+
+       if [ "${freespace}" -lt "${size}" ]
+       then
+               log_warning_msg "Not enough free ${free_string} (${freespace}k free, ${size}k needed) to copy live media in ${copytodev}."
+               return 1
+       fi
+
+       # Custom ramdisk size
+       if [ -z "${mount_options}" ] && [ -n "${ramdisk_size}" ]
+       then
+               # FIXME: should check for wrong values
+               mount_options="-o size=${ramdisk_size}"
+       fi
+
+       # begin copying (or uncompressing)
+       mkdir "${copyto}"
+       log_begin_msg "mount -t ${fstype} ${mount_options} ${dev} ${copyto}"
+       mount -t "${fstype}" ${mount_options} "${dev}" "${copyto}"
+
+       if [ "${extension}" = "tgz" ]
+       then
+               cd "${copyto}"
+               tar zxf "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
+               rm -f "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
+               mount -r -o move "${copyto}" "${rootmnt}"
+               cd "${OLDPWD}"
+       else
+               if [ -n "${MODULETORAMFILE}" ]
+               then
+                       if [ -x /bin/rsync ]
+                       then
+                               echo " * Copying $MODULETORAMFILE to RAM" 1>/dev/console
+                               rsync -a --progress ${MODULETORAMFILE} ${copyto} 1>/dev/console # copy only the filesystem module
+                       else
+                               cp ${MODULETORAMFILE} ${copyto} # copy only the filesystem module
+                       fi
+               else
+                       if [ -x /bin/rsync ]
+                       then
+                               echo " * Copying whole medium to RAM" 1>/dev/console
+                               rsync -a --progress ${copyfrom}/* ${copyto} 1>/dev/console  # "cp -a" from busybox also copies hidden files
+                       else
+                               mkdir -p ${copyto}/${LIVE_MEDIA_PATH}
+                               cp -a ${copyfrom}/${LIVE_MEDIA_PATH}/* ${copyto}/${LIVE_MEDIA_PATH}
+                               if [ -e ${copyfrom}/${LIVE_MEDIA_PATH}/.disk ]
+                               then
+                                       cp -a ${copyfrom}/${LIVE_MEDIA_PATH}/.disk ${copyto}
+                               fi
+                       fi
+               fi
+
+               umount ${copyfrom}
+               mount -r -o move ${copyto} ${copyfrom}
+       fi
+
+       rmdir ${copyto}
+       return 0
+}
diff --git a/scripts/boot/FIXME b/scripts/boot/FIXME
new file mode 100644 (file)
index 0000000..f3c62c5
--- /dev/null
@@ -0,0 +1,30 @@
+Note
+----
+
+live-boot is moving from a monolithic script into a proper
+plugin architecture for better maintenance and customization.
+
+Additionally, this will allow us to abstract initramfs-tools
+integration to also support other initrd generators, such as
+dracut.
+
+Unfortunately, from a developers point of view, we could no
+finish this in time for wheezy, but we will finish this for
+jessie. Please excuse the sorry state of the 9990-* scripts.
+From a users point of view, it doesn't matter at all though.
+
+
+Scripts overview
+----------------
+
+00xx   initramfs "bootstrapping"
+
+0xxx   live-boot internals
+
+1xxx   find and mount rootfs
+
+2xxx   find and mount persistence
+
+3xxx   anything after that involves read or write access to the rootfs
+
+9xxx   FIXME
diff --git a/scripts/live b/scripts/live
deleted file mode 100755 (executable)
index 780c5de..0000000
+++ /dev/null
@@ -1,1694 +0,0 @@
-#!/bin/sh
-
-# set -e
-
-export PATH="/root/usr/bin:/root/usr/sbin:/root/bin:/root/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
-
-echo "/root/lib" >> /etc/ld.so.conf
-echo "/root/usr/lib" >> /etc/ld.so.conf
-
-mountpoint="/live/image"
-alt_mountpoint="/media"
-LIVE_MEDIA_PATH="live"
-
-HOSTNAME="host"
-
-mkdir -p "${mountpoint}"
-tried="/tmp/tried"
-
-# Create /etc/mtab for debug purpose and future syncs
-if [ ! -d /etc ]
-then
-       mkdir /etc/
-fi
-
-if [ ! -f /etc/mtab ]
-then
-       touch /etc/mtab
-fi
-
-. /scripts/live-helpers
-
-if [ ! -f /live.vars ]
-then
-       touch /live.vars
-fi
-
-is_live_path ()
-{
-       DIRECTORY="${1}"
-
-       if [ -d "${DIRECTORY}"/"${LIVE_MEDIA_PATH}" ]
-       then
-               for FILESYSTEM in squashfs ext2 ext3 ext4 xfs dir jffs2
-               do
-                       if [ "$(echo ${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM})" != "${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM}" ]
-                       then
-                               return 0
-                       fi
-               done
-       fi
-
-       return 1
-}
-
-matches_uuid ()
-{
-       if [ "${IGNORE_UUID}" ] || [ ! -e /conf/uuid.conf ]
-       then
-               return 0
-       fi
-
-       path="${1}"
-       uuid="$(cat /conf/uuid.conf)"
-
-       for try_uuid_file in "${path}/.disk/live-uuid"*
-       do
-               [ -e "${try_uuid_file}" ] || continue
-
-               try_uuid="$(cat "${try_uuid_file}")"
-
-               if [ "${uuid}" = "${try_uuid}" ]
-               then
-                       return 0
-               fi
-       done
-
-       return 1
-}
-
-get_backing_device ()
-{
-       case "${1}" in
-               *.squashfs|*.ext2|*.ext3|*.ext4|*.jffs2)
-                       echo $(setup_loop "${1}" "loop" "/sys/block/loop*" '0' "${LIVE_MEDIA_ENCRYPTION}" "${2}")
-                       ;;
-
-               *.dir)
-                       echo "directory"
-                       ;;
-
-               *)
-                       panic "Unrecognized live filesystem: ${1}"
-                       ;;
-       esac
-}
-
-match_files_in_dir ()
-{
-       # Does any files match pattern ${1} ?
-       local pattern="${1}"
-
-       if [ "$(echo ${pattern})" != "${pattern}" ]
-       then
-               return 0
-       fi
-
-       return 1
-}
-
-mount_images_in_directory ()
-{
-       directory="${1}"
-       rootmnt="${2}"
-       mac="${3}"
-
-
-       if match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.squashfs" ||
-               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext2" ||
-               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext3" ||
-               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext4" ||
-               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.jffs2" ||
-               match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.dir"
-       then
-               [ -n "${mac}" ] && adddirectory="${directory}/${LIVE_MEDIA_PATH}/${mac}"
-               setup_unionfs "${directory}/${LIVE_MEDIA_PATH}" "${rootmnt}" "${adddirectory}"
-       else
-               panic "No supported filesystem images found at /${LIVE_MEDIA_PATH}."
-       fi
-}
-
-is_nice_device ()
-{
-       sysfs_path="${1#/sys}"
-
-       if [ -e /lib/udev/path_id ]
-       then
-               # squeeze
-               PATH_ID="/lib/udev/path_id"
-       else
-               # wheezy/sid (udev >= 174)
-               PATH_ID="/sbin/udevadm test-builtin path_id"
-       fi
-
-       if ${PATH_ID} "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci)"
-       then
-               return 0
-       elif echo "${sysfs_path}" | grep -q '^/block/vd[a-z]$'
-       then
-               return 0
-       elif echo ${sysfs_path} | grep -q "^/block/dm-"
-       then
-               return 0
-       elif echo ${sysfs_path} | grep -q "^/block/mtdblock"
-       then
-               return 0
-       fi
-
-       return 1
-}
-
-copy_live_to ()
-{
-       copyfrom="${1}"
-       copytodev="${2}"
-       copyto="${copyfrom}_swap"
-
-       if [ -z "${MODULETORAM}" ]
-       then
-               size=$(fs_size "" ${copyfrom}/${LIVE_MEDIA_PATH} "used")
-       else
-               MODULETORAMFILE="${copyfrom}/${LIVE_MEDIA_PATH}/${MODULETORAM}"
-
-               if [ -f "${MODULETORAMFILE}" ]
-               then
-                       size=$( expr $(ls -la ${MODULETORAMFILE} | awk '{print $5}') / 1024 + 5000 )
-               else
-                       log_warning_msg "Error: toram-module ${MODULETORAM} (${MODULETORAMFILE}) could not be read."
-                       return 1
-               fi
-       fi
-
-       if [ "${copytodev}" = "ram" ]
-       then
-               # copying to ram:
-               freespace=$(awk '/^MemFree:/{f=$2} /^Cached:/{c=$2} END{print f+c}' /proc/meminfo)
-               mount_options="-o size=${size}k"
-               free_string="memory"
-               fstype="tmpfs"
-               dev="/dev/shm"
-       else
-               # it should be a writable block device
-               if [ -b "${copytodev}" ]
-               then
-                       dev="${copytodev}"
-                       free_string="space"
-                       fstype=$(get_fstype "${dev}")
-                       freespace=$(fs_size "${dev}")
-               else
-                       log_warning_msg "${copytodev} is not a block device."
-                       return 1
-               fi
-       fi
-
-       if [ "${freespace}" -lt "${size}" ]
-       then
-               log_warning_msg "Not enough free ${free_string} (${freespace}k free, ${size}k needed) to copy live media in ${copytodev}."
-               return 1
-       fi
-
-       # Custom ramdisk size
-       if [ -z "${mount_options}" ] && [ -n "${ramdisk_size}" ]
-       then
-               # FIXME: should check for wrong values
-               mount_options="-o size=${ramdisk_size}"
-       fi
-
-       # begin copying (or uncompressing)
-       mkdir "${copyto}"
-       log_begin_msg "mount -t ${fstype} ${mount_options} ${dev} ${copyto}"
-       mount -t "${fstype}" ${mount_options} "${dev}" "${copyto}"
-
-       if [ "${extension}" = "tgz" ]
-       then
-               cd "${copyto}"
-               tar zxf "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
-               rm -f "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
-               mount -r -o move "${copyto}" "${rootmnt}"
-               cd "${OLDPWD}"
-       else
-               if [ -n "${MODULETORAMFILE}" ]
-               then
-                       if [ -x /bin/rsync ]
-                       then
-                               echo " * Copying $MODULETORAMFILE to RAM" 1>/dev/console
-                               rsync -a --progress ${MODULETORAMFILE} ${copyto} 1>/dev/console # copy only the filesystem module
-                       else
-                               cp ${MODULETORAMFILE} ${copyto} # copy only the filesystem module
-                       fi
-               else
-                       if [ -x /bin/rsync ]
-                       then
-                               echo " * Copying whole medium to RAM" 1>/dev/console
-                               rsync -a --progress ${copyfrom}/* ${copyto} 1>/dev/console  # "cp -a" from busybox also copies hidden files
-                       else
-                               mkdir -p ${copyto}/${LIVE_MEDIA_PATH}
-                               cp -a ${copyfrom}/${LIVE_MEDIA_PATH}/* ${copyto}/${LIVE_MEDIA_PATH}
-                               if [ -e ${copyfrom}/${LIVE_MEDIA_PATH}/.disk ]
-                               then
-                                       cp -a ${copyfrom}/${LIVE_MEDIA_PATH}/.disk ${copyto}
-                               fi
-                       fi
-               fi
-
-               umount ${copyfrom}
-               mount -r -o move ${copyto} ${copyfrom}
-       fi
-
-       rmdir ${copyto}
-       return 0
-}
-
-do_netsetup ()
-{
-       modprobe -q af_packet # For DHCP
-
-       udevadm trigger
-       udevadm settle
-
-       [ -n "$ETHDEV_TIMEOUT" ] || ETHDEV_TIMEOUT=15
-       echo "Using timeout of $ETHDEV_TIMEOUT seconds for network configuration."
-
-       if [ -z "${NETBOOT}" ] && [ -z "${FETCH}" ] && \
-          [ -z "${HTTPFS}" ] && [ -z "${FTPFS}" ]
-       then
-
-
-       # support for Syslinux IPAPPEND parameter
-       # it sets the BOOTIF variable on the kernel parameter
-
-       if [ -n "${BOOTIF}" ]
-       then
-               # pxelinux sets BOOTIF to a value based on the mac address of the
-               # network card used to PXE boot, so use this value for DEVICE rather
-               # than a hard-coded device name from initramfs.conf. this facilitates
-               # network booting when machines may have multiple network cards.
-               # pxelinux sets BOOTIF to 01-$mac_address
-
-               # strip off the leading "01-", which isn't part of the mac
-               # address
-               temp_mac=${BOOTIF#*-}
-
-               # convert to typical mac address format by replacing "-" with ":"
-               bootif_mac=""
-               IFS='-'
-               for x in $temp_mac
-               do
-                       if [ -z "$bootif_mac" ]
-                       then
-                               bootif_mac="$x"
-                       else
-                               bootif_mac="$bootif_mac:$x"
-                       fi
-               done
-               unset IFS
-
-               # look for devices with matching mac address, and set DEVICE to
-               # appropriate value if match is found.
-
-               for device in /sys/class/net/*
-               do
-                       if [ -f "$device/address" ]
-                       then
-                               current_mac=$(cat "$device/address")
-
-                               if [ "$bootif_mac" = "$current_mac" ]
-                               then
-                                       DEVICE=${device##*/}
-                                       break
-                               fi
-                       fi
-               done
-       fi
-
-       # if ethdevice was not specified on the kernel command line
-       # make sure we try to get a working network configuration
-       # for *every* present network device (except for loopback of course)
-       if [ -z "$ETHDEVICE" ] ; then
-               echo "If you want to boot from a specific device use bootoption ethdevice=..."
-               for device in /sys/class/net/*; do
-                       dev=${device##*/} ;
-                       if [ "$dev" != "lo" ] ; then
-                               ETHDEVICE="$ETHDEVICE $dev"
-                       fi
-               done
-       fi
-
-       # split args of ethdevice=eth0,eth1 into "eth0 eth1"
-       for device in $(echo $ETHDEVICE | sed 's/,/ /g') ; do
-               devlist="$devlist $device"
-       done
-
-       # this is tricky (and ugly) because ipconfig sometimes just hangs/runs into
-       # an endless loop; iff execution fails give it two further tries, that's
-       # why we use '$devlist $devlist $devlist' for the other for loop
-       for dev in $devlist $devlist $devlist ; do
-               echo "Executing ipconfig -t $ETHDEV_TIMEOUT $dev"
-               ipconfig -t "$ETHDEV_TIMEOUT" $dev | tee -a /netboot.config &
-               jobid=$!
-               sleep "$ETHDEV_TIMEOUT" ; sleep 1
-               if [ -r /proc/"$jobid"/status ] ; then
-                       echo "Killing job $jobid for device $dev as ipconfig ran into recursion..."
-                       kill -9 $jobid
-               fi
-
-               # if configuration of device worked we should have an assigned
-               # IP address, iff so let's use the according as $DEVICE for later usage
-               # simple and primitive approach which seems to work fine
-               if ifconfig $dev | grep -q 'inet.*addr:' ; then
-                       export DEVICE="$dev"
-                       break
-               fi
-       done
-
-       else
-               for interface in ${DEVICE}; do
-                       ipconfig -t "$ETHDEV_TIMEOUT" ${interface} | tee /netboot-${interface}.config
-                       [ -e /tmp/net-${interface}.conf ] && . /tmp/net-${interface}.conf
-                       if [ "$IPV4ADDR" != "0.0.0.0" ]
-                       then
-                               break
-                       fi
-               done
-       fi
-
-       for interface in ${DEVICE}; do
-               # source relevant ipconfig output
-               OLDHOSTNAME=${HOSTNAME}
-               [ -e /tmp/net-${interface}.conf ] && . /tmp/net-${interface}.conf
-               [ -z ${HOSTNAME} ] && HOSTNAME=${OLDHOSTNAME}
-               export HOSTNAME
-
-               if [ -n "${interface}" ]
-               then
-                       HWADDR="$(cat /sys/class/net/${interface}/address)"
-               fi
-
-               if [ ! -e "/etc/resolv.conf" ]
-               then
-                       echo "Creating /etc/resolv.conf"
-
-                       if [ -n "${DNSDOMAIN}" ]
-                       then
-                               echo "domain ${DNSDOMAIN}" > /etc/resolv.conf
-                               echo "search ${DNSDOMAIN}" >> /etc/resolv.conf
-                       fi
-
-                       for i in ${IPV4DNS0} ${IPV4DNS1} ${IPV4DNS1}
-                       do
-                               if [ -n "$i" ] && [ "$i" != 0.0.0.0 ]
-                               then
-                                       echo "nameserver $i" >> /etc/resolv.conf
-                               fi
-                       done
-               fi
-
-               # Check if we have a network device at all
-               if ! ls /sys/class/net/"$interface" > /dev/null 2>&1 && \
-                  ! ls /sys/class/net/eth0 > /dev/null 2>&1 && \
-                  ! ls /sys/class/net/wlan0 > /dev/null 2>&1 && \
-                  ! ls /sys/class/net/ath0 > /dev/null 2>&1 && \
-                  ! ls /sys/class/net/ra0 > /dev/null 2>&1
-               then
-                       panic "No supported network device found, maybe a non-mainline driver is required."
-               fi
-       done
-}
-
-do_netmount()
-{
-       do_netsetup
-
-       if [ "${NFSROOT}" = "auto" ]
-       then
-               NFSROOT=${ROOTSERVER}:${ROOTPATH}
-       fi
-
-       rc=1
-
-       if ( [ -n "${FETCH}" ] || [ -n "${HTTPFS}" ] || [ -n "${FTPFS}" ] )
-       then
-               do_httpmount
-               return $?
-       fi
-
-       if [ "${NFSROOT#*:}" = "${NFSROOT}" ] && [ "$NETBOOT" != "cifs" ]
-       then
-               NFSROOT=${ROOTSERVER}:${NFSROOT}
-       fi
-
-       log_begin_msg "Trying netboot from ${NFSROOT}"
-
-       if [ "${NETBOOT}" != "nfs" ] && do_cifsmount
-       then
-               rc=0
-       elif do_nfsmount
-       then
-               NETBOOT="nfs"
-               export NETBOOT
-               rc=0
-       fi
-
-       log_end_msg
-       return ${rc}
-}
-
-do_iscsi()
-{
-       do_netsetup
-       #modprobe ib_iser
-       modprobe iscsi_tcp
-       local debugopt=""
-       [ "${DEBUG}" = "Yes" ] && debugopt="-d 8"
-       #FIXME this name is supposed to be unique - some date + ifconfig hash?
-       ISCSI_INITIATORNAME="iqn.1993-08.org.debian.live:01:$(echo "${HWADDR}" | sed -e s/://g)"
-       export ISCSI_INITIATORNAME
-       if [ -n "${ISCSI_SERVER}" ] ; then
-               iscsistart $debugopt -i "${ISCSI_INITIATORNAME}" -t "${ISCSI_TARGET}" -g 1 -a "${ISCSI_SERVER}" -p "${ISCSI_PORT}"
-       else
-               iscsistart $debugopt -i "${ISCSI_INITIATORNAME}" -t "${ISCSI_TARGET}" -g 1 -a "${ISCSI_PORTAL}" -p 3260
-       fi
-       if [ $? != 0 ]
-       then
-               panic "Failed to log into iscsi target"
-       fi
-       local host="$(ls -d /sys/class/scsi_host/host*/device/iscsi_host:host* \
-                           /sys/class/scsi_host/host*/device/iscsi_host/host* | sed -e 's:/device.*::' -e 's:.*host::')"
-       if [ -n "${host}" ]
-       then
-               local devices=""
-               local i=0
-               while [ -z "${devices}" -a $i -lt 60 ]
-               do
-                       sleep 1
-                       devices="$(ls -d /sys/class/scsi_device/${host}*/device/block:* \
-                                        /sys/class/scsi_device/${host}*/device/block/* | sed -e 's!.*[:/]!!')"
-                       i=$(expr $i + 1)
-                       echo -ne $i\\r
-               done
-               for dev in $devices
-               do
-                       if check_dev "null" "/dev/$dev"
-                       then
-                               NETBOOT="iscsi"
-                               export NETBOOT
-                               return 0;
-                       fi
-               done
-               panic "Failed to locate a live device on iSCSI devices (tried: $devices)."
-       else
-               panic "Failed to locate iSCSI host in /sys"
-       fi
-}
-
-do_httpmount ()
-{
-       rc=1
-
-       for webfile in HTTPFS FTPFS FETCH
-       do
-               local url="$(eval echo \"\$\{${webfile}\}\")"
-               local extension="$(echo "${url}" | sed 's/\(.*\)\.\(.*\)/\2/')"
-
-               if [ -n "$url" ]
-               then
-                       case "${extension}" in
-                               iso|squashfs|tgz|tar)
-                                       if [ "${extension}" = "iso" ]
-                                       then
-                                               mkdir -p "${alt_mountpoint}"
-                                               dest="${alt_mountpoint}"
-                                       else
-                                               local dest="${mountpoint}/${LIVE_MEDIA_PATH}"
-                                               mount -t ramfs ram "${mountpoint}"
-                                               mkdir -p "${dest}"
-                                       fi
-                                       if [ "${webfile}" = "FETCH" ]
-                                       then
-                                               case "$url" in
-                                                       tftp*)
-                                                               ip="$(dirname $url | sed -e 's|tftp://||g' -e 's|/.*$||g')"
-                                                               rfile="$(echo $url | sed -e "s|tftp://$ip||g")"
-                                                               lfile="$(basename $url)"
-                                                               log_begin_msg "Trying tftp -g -b 10240 -r $rfile -l ${dest}/$lfile $ip"
-                                                               tftp -g -b 10240 -r $rfile -l ${dest}/$lfile $ip
-                                                       ;;
-
-                                                       *)
-                                                               log_begin_msg "Trying wget ${url} -O ${dest}/$(basename ${url})"
-                                                               wget "${url}" -O "${dest}/$(basename ${url})"
-                                                               ;;
-                                               esac
-                                       else
-                                               log_begin_msg "Trying to mount ${url} on ${dest}/$(basename ${url})"
-                                               if [ "${webfile}" = "FTPFS" ]
-                                               then
-                                                       FUSE_MOUNT="curlftpfs"
-                                                       url="$(dirname ${url})"
-                                               else
-                                                       FUSE_MOUNT="httpfs"
-                                               fi
-                                               modprobe fuse
-                                               $FUSE_MOUNT "${url}" "${dest}"
-                                               ROOT_PID="$(minips h -C "$FUSE_MOUNT" | { read x y ; echo "$x" ; } )"
-                                       fi
-                                       [ ${?} -eq 0 ] && rc=0
-                                       [ "${extension}" = "tgz" ] && live_dest="ram"
-                                       if [ "${extension}" = "iso" ]
-                                       then
-                                               isoloop=$(setup_loop "${dest}/$(basename "${url}")" "loop" "/sys/block/loop*" "" '')
-                                               mount -t iso9660 "${isoloop}" "${mountpoint}"
-                                               rc=${?}
-                                       fi
-                                       break
-                                       ;;
-
-                               *)
-                                       log_begin_msg "Unrecognized archive extension for ${url}"
-                                       ;;
-                       esac
-               fi
-       done
-
-       if [ ${rc} != 0 ]
-       then
-               if [ -d "${alt_mountpoint}" ]
-               then
-                       umount "${alt_mountpoint}"
-                       rmdir "${alt_mountpoint}"
-               fi
-               umount "${mountpoint}"
-       elif [ "${webfile}"  != "FETCH" ] ; then
-               NETBOOT="${webfile}"
-               export NETBOOT
-       fi
-
-       return ${rc}
-}
-
-do_nfsmount ()
-{
-       rc=1
-
-       modprobe -q nfs
-
-       if [ -n "${NFSOPTS}" ]
-       then
-               NFSOPTS="-o ${NFSOPTS}"
-       fi
-
-       log_begin_msg "Trying nfsmount -o nolock -o ro ${NFSOPTS} ${NFSROOT} ${mountpoint}"
-
-       # FIXME: This while loop is an ugly HACK round an nfs bug
-       i=0
-       while [ "$i" -lt 60 ]
-       do
-               nfsmount -o nolock -o ro ${NFSOPTS} "${NFSROOT}" "${mountpoint}" && rc=0 && break
-               sleep 1
-               i="$(($i + 1))"
-       done
-
-       return ${rc}
-}
-
-do_cifsmount ()
-{
-       rc=1
-
-       if [ -x "/sbin/mount.cifs" ]
-       then
-               if [ -z "${NFSOPTS}" ]
-               then
-                       CIFSOPTS="-ouser=root,password="
-               else
-                       CIFSOPTS="-o ${NFSOPTS}"
-               fi
-
-               log_begin_msg "Trying mount.cifs ${NFSROOT} ${mountpoint} ${CIFSOPTS}"
-               modprobe -q cifs
-
-               if mount.cifs "${NFSROOT}" "${mountpoint}" "${CIFSOPTS}"
-               then
-                       rc=0
-               fi
-       fi
-
-       return ${rc}
-}
-
-do_snap_copy ()
-{
-       fromdev="${1}"
-       todir="${2}"
-       snap_type="${3}"
-       size=$(fs_size "${fromdev}" "" "used")
-
-       if [ -b "${fromdev}" ]
-       then
-               log_success_msg "Copying snapshot ${fromdev} to ${todir}..."
-
-               # look for free mem
-               if [ -n "${HOMEMOUNTED}" -a "${snap_type}" = "HOME" ]
-               then
-                       todev=$(awk -v pat="$(base_path ${todir})" '$2 == pat { print $1 }' /proc/mounts)
-                       freespace=$(df -k | awk '/'${todev}'/{print $4}')
-               else
-                       freespace=$(awk '/^MemFree:/{f=$2} /^Cached:/{c=$2} END{print f+c}' /proc/meminfo)
-               fi
-
-               tomount="/mnt/tmpsnap"
-
-               if [ ! -d "${tomount}" ]
-               then
-                       mkdir -p "${tomount}"
-               fi
-
-               fstype=$(get_fstype "${fromdev}")
-
-               if [ -n "${fstype}" ]
-               then
-                       # Copying stuff...
-                       mount -o ro -t "${fstype}" "${fromdev}" "${tomount}" || log_warning_msg "Error in mount -t ${fstype} -o ro ${fromdev} ${tomount}"
-                       cp -a "${tomount}"/* ${todir}
-                       umount "${tomount}"
-               else
-                       log_warning_msg "Unrecognized fstype: ${fstype} on ${fromdev}:${snap_type}"
-               fi
-
-               rmdir "${tomount}"
-
-               if echo ${fromdev} | grep -qs loop
-               then
-                       losetup -d "${fromdev}"
-               fi
-
-               return 0
-       else
-               log_warning_msg "Unable to find the snapshot ${snap_type} medium"
-               return 1
-       fi
-}
-
-try_snap ()
-{
-       # copy the contents of previously found snapshot to ${snap_mount}
-       # and remember the device and filename for resync on exit in live-boot.init
-
-       snapdata="${1}"
-       snap_mount="${2}"
-       snap_type="${3}"
-       snap_relpath="${4}"
-
-       if [ -z "${snap_relpath}" ]
-       then
-               # root snapshot, default usage
-               snap_relpath="/"
-       else
-               # relative snapshot (actually used just for "/home" snapshots)
-               snap_mount="${2}${snap_relpath}"
-       fi
-
-       if [ -n "${snapdata}" ] && [ ! -b "${snapdata}" ]
-       then
-               log_success_msg "found snapshot: ${snapdata}"
-               snapdev="$(echo ${snapdata} | cut -f1 -d ' ')"
-               snapback="$(echo ${snapdata} | cut -f2 -d ' ')"
-               snapfile="$(echo ${snapdata} | cut -f3 -d ' ')"
-
-               if ! try_mount "${snapdev}" "${snapback}" "ro"
-               then
-                       break
-               fi
-
-               RES="0"
-
-               if echo "${snapfile}" | grep -qs '\(squashfs\|ext2\|ext3\|ext4\|jffs2\)'
-               then
-                       # squashfs, jffs2 or ext2/ext3/ext4 snapshot
-                       dev=$(get_backing_device "${snapback}/${snapfile}")
-
-                       do_snap_copy "${dev}" "${snap_mount}" "${snap_type}"
-                       RES="$?"
-               else
-                       # cpio.gz snapshot
-
-                       # Unfortunately klibc's cpio is incompatible with the
-                       # rest of the world; everything else requires -u -d,
-                       # while klibc doesn't implement them. Try to detect
-                       # whether it's in use.
-                       cpiopath="$(which cpio)" || true
-                       if [ "$cpiopath" ] && grep -aq /lib/klibc "$cpiopath"
-                       then
-                               cpioargs=
-                       else
-                               cpioargs='--unconditional --make-directories'
-                       fi
-
-                       if [ -s "${snapback}/${snapfile}" ]
-                       then
-                               BEFOREDIR="$(pwd)"
-                               cd "${snap_mount}" && zcat "${snapback}/${snapfile}" | $cpiopath $cpioargs --extract --preserve-modification-time --no-absolute-filenames --sparse 2>/dev/null
-                               RES="$?"
-                               cd "${BEFOREDIR}"
-                       else
-                               log_warning_msg "${snapback}/${snapfile} is empty, adding it for sync on reboot."
-                               RES="0"
-                       fi
-
-                       if [ "${RES}" != "0" ]
-                       then
-                               log_warning_msg "failure to \"zcat ${snapback}/${snapfile} | $cpiopath $cpioargs --extract --preserve-modification-time --no-absolute-filenames --sparse\""
-                       fi
-               fi
-
-               umount "${snapback}" ||  log_warning_msg "failure to \"umount ${snapback}\""
-
-               if [ "${RES}" != "0" ]
-               then
-                       log_warning_msg "Impossible to include the ${snapfile} Snapshot file"
-               fi
-
-       elif [ -b "${snapdata}" ]
-       then
-               # Try to find if it could be a snapshot partition
-               dev="${snapdata}"
-               log_success_msg "found snapshot ${snap_type} device on ${dev}"
-               if echo "${dev}" | grep -qs loop
-               then
-                       # strange things happens, user confused?
-                       snaploop=$( losetup ${dev} | awk '{print $3}' | tr -d '()' )
-                       snapfile=$(basename ${snaploop})
-                       snapdev=$(awk -v pat="$( dirname ${snaploop})" '$2 == pat { print $1 }' /proc/mounts)
-               else
-                       snapdev="${dev}"
-               fi
-
-               if ! do_snap_copy "${dev}" "${snap_mount}" "${snap_type}"
-               then
-                       log_warning_msg "Impossible to include the ${snap_type} Snapshot (i)"
-                       return 1
-               else
-                       if [ -n "${snapfile}" ]
-                       then
-                               # it was a loop device, user confused
-                               umount ${snapdev}
-                       fi
-               fi
-       else
-               log_warning_msg "Impossible to include the ${snap_type} Snapshot (o)"
-               return 1
-       fi
-
-       if [ -z ${PERSISTENCE_READONLY} ]
-       then
-               echo "export ${snap_type}SNAP=${snap_relpath}:${snapdev}:${snapfile}" >> snapshot.conf # for resync on reboot/halt
-       fi
-       return 0
-}
-
-setup_unionfs ()
-{
-       image_directory="${1}"
-       rootmnt="${2}"
-       addimage_directory="${3}"
-
-       case ${UNIONTYPE} in
-               aufs|unionfs|overlayfs)
-                       modprobe -q -b ${UNIONTYPE}
-
-                       if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$" && [ -x /bin/unionfs-fuse ]
-                       then
-                               echo "${UNIONTYPE} not available, falling back to unionfs-fuse."
-                               echo "This might be really slow."
-
-                               UNIONTYPE="unionfs-fuse"
-                       fi
-                       ;;
-       esac
-
-       if [ "${UNIONTYPE}" = unionfs-fuse ]
-       then
-               modprobe fuse
-       fi
-
-       # run-init can't deal with images in a subdir, but we're going to
-       # move all of these away before it runs anyway.  No, we're not,
-       # put them in / since move-mounting them into / breaks mono and
-       # some other apps.
-
-       croot="/"
-
-       # Let's just mount the read-only file systems first
-       rofslist=""
-
-       if [ -z "${PLAIN_ROOT}" ]
-       then
-               # Read image names from ${MODULE}.module if it exists
-               if [ -e "${image_directory}/filesystem.${MODULE}.module" ]
-               then
-                       for IMAGE in $(cat ${image_directory}/filesystem.${MODULE}.module)
-                       do
-                               image_string="${image_string} ${image_directory}/${IMAGE}"
-                       done
-               elif [ -e "${image_directory}/${MODULE}.module" ]
-               then
-                       for IMAGE in $(cat ${image_directory}/${MODULE}.module)
-                       do
-                               image_string="${image_string} ${image_directory}/${IMAGE}"
-                       done
-               else
-                       # ${MODULE}.module does not exist, create a list of images
-                       for FILESYSTEM in squashfs ext2 ext3 ext4 xfs jffs2 dir
-                       do
-                               for IMAGE in "${image_directory}"/*."${FILESYSTEM}"
-                               do
-                                       if [ -e "${IMAGE}" ]
-                                       then
-                                               image_string="${image_string} ${IMAGE}"
-                                       fi
-                               done
-                       done
-
-                       if [ -n "${addimage_directory}" ] && [ -d "${addimage_directory}" ]
-                       then
-                               for FILESYSTEM in squashfs ext2 ext3 ext4 xfs jffs2 dir
-                               do
-                                       for IMAGE in "${addimage_directory}"/*."${FILESYSTEM}"
-                                       do
-                                               if [ -e "${IMAGE}" ]
-                                               then
-                                                       image_string="${image_string} ${IMAGE}"
-                                               fi
-                                       done
-                               done
-                       fi
-
-                       # Now sort the list
-                       image_string="$(echo ${image_string} | sed -e 's/ /\n/g' | sort )"
-               fi
-
-               [ -n "${MODULETORAMFILE}" ] && image_string="${image_directory}/$(basename ${MODULETORAMFILE})"
-
-               mkdir -p "${croot}"
-
-               for image in ${image_string}
-               do
-                       imagename=$(basename "${image}")
-
-                       export image devname
-                       maybe_break live-realpremount
-                       log_begin_msg "Running /scripts/live-realpremount"
-                       run_scripts /scripts/live-realpremount
-                       log_end_msg
-
-                       if [ -d "${image}" ]
-                       then
-                               # it is a plain directory: do nothing
-                               rofslist="${image} ${rofslist}"
-                       elif [ -f "${image}" ]
-                       then
-                               if losetup --help 2>&1 | grep -q -- "-r\b"
-                               then
-                                       backdev=$(get_backing_device "${image}" "-r")
-                               else
-                                       backdev=$(get_backing_device "${image}")
-                               fi
-                               fstype=$(get_fstype "${backdev}")
-
-                               if [ "${fstype}" = "unknown" ]
-                               then
-                                       panic "Unknown file system type on ${backdev} (${image})"
-                               fi
-
-                               if [ -z "${fstype}" ]
-                               then
-                                       fstype="${imagename##*.}"
-                                       log_warning_msg "Unknown file system type on ${backdev} (${image}), assuming ${fstype}."
-                               fi
-
-                               if [ "${UNIONTYPE}" != "unionmount" ]
-                               then
-                                       mpoint="${croot}/${imagename}"
-                                       rofslist="${mpoint} ${rofslist}"
-                               else
-                                       mpoint="${rootmnt}"
-                                       rofslist="${rootmnt} ${rofslist}"
-                               fi
-                               mkdir -p "${mpoint}"
-                               log_begin_msg "Mounting \"${image}\" on \"${mpoint}\" via \"${backdev}\""
-                               mount -t "${fstype}" -o ro,noatime "${backdev}" "${mpoint}" || panic "Can not mount ${backdev} (${image}) on ${mpoint}"
-                               log_end_msg
-                       fi
-               done
-       else
-               # we have a plain root system
-               mkdir -p "${croot}/filesystem"
-               log_begin_msg "Mounting \"${image_directory}\" on \"${croot}/filesystem\""
-               mount -t $(get_fstype "${image_directory}") -o ro,noatime "${image_directory}" "${croot}/filesystem" || \
-                       panic "Can not mount ${image_directory} on ${croot}/filesystem" && \
-                       rofslist="${croot}/filesystem ${rofslist}"
-               # probably broken:
-               mount -o bind ${croot}/filesystem $mountpoint
-               log_end_msg
-       fi
-
-       # tmpfs file systems
-       touch /etc/fstab
-       mkdir -p /live
-       mount -t tmpfs tmpfs /live
-       mkdir -p /live/overlay
-
-       # Looking for persistence devices or files
-       if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ]
-       then
-
-               if [ -z "${QUICKUSBMODULES}" ]
-               then
-                       # Load USB modules
-                       num_block=$(ls -l /sys/block | wc -l)
-                       for module in sd_mod uhci-hcd ehci-hcd ohci-hcd usb-storage
-                       do
-                               modprobe -q -b ${module}
-                       done
-
-                       udevadm trigger
-                       udevadm settle
-
-                       # For some reason, udevsettle does not block in this scenario,
-                       # so we sleep for a little while.
-                       #
-                       # See https://bugs.launchpad.net/ubuntu/+source/casper/+bug/84591
-                       for timeout in 5 4 3 2 1
-                       do
-                               sleep 1
-
-                               if [ $(ls -l /sys/block | wc -l) -gt ${num_block} ]
-                               then
-                                       break
-                               fi
-                       done
-               fi
-
-               case "${PERSISTENCE_MEDIA}" in
-                       removable)
-                               whitelistdev="$(removable_dev)"
-                               ;;
-                       removable-usb)
-                               whitelistdev="$(removable_usb_dev)"
-                               ;;
-                       *)
-                               whitelistdev=""
-                               ;;
-               esac
-
-               if echo ${PERSISTENCE_METHOD} | grep -qe "\<overlay\>"
-               then
-                       overlays="${old_root_overlay_label} ${old_home_overlay_label} ${custom_overlay_label}"
-               fi
-
-               if echo ${PERSISTENCE_METHOD} | grep -qe "\<snapshot\>"
-               then
-                       snapshots="${root_snapshot_label} ${home_snapshot_label}"
-               fi
-
-               local root_snapdata=""
-               local home_snapdata=""
-               local overlay_devices=""
-               for media in $(find_persistence_media "${overlays}" "${snapshots}" "${whitelistdev}")
-               do
-                       media="$(echo ${media} | tr ":" " ")"
-                       case ${media} in
-                               ${root_snapshot_label}=*|${old_root_snapshot_label}=*)
-                                       if [ -z "${root_snapdata}" ]
-                                       then
-                                               root_snapdata="${media#*=}"
-                                       fi
-                                       ;;
-                               ${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.
-                                       if [ -z "${home_snapdata}" ]
-                                       then
-                                               home_snapdata="${media#*=}"
-                                       fi
-                                       ;;
-                               ${old_root_overlay_label}=*)
-                                       device="${media#*=}"
-                                       fix_backwards_compatibility ${device} / union
-                                       overlay_devices="${overlay_devices} ${device}"
-                                       ;;
-                               ${old_home_overlay_label}=*)
-                                       device="${media#*=}"
-                                       fix_backwards_compatibility ${device} /home bind
-                                       overlay_devices="${overlay_devices} ${device}"
-                                       ;;
-                               ${custom_overlay_label}=*)
-                                       device="${media#*=}"
-                                       overlay_devices="${overlay_devices} ${device}"
-                                       ;;
-                        esac
-               done
-       elif [ -n "${NFS_COW}" ] && [ -z "${NOPERSISTENCE}" ]
-       then
-               # check if there are any nfs options
-               if echo ${NFS_COW}|grep -q ','
-               then
-                       nfs_cow_opts="-o nolock,$(echo ${NFS_COW}|cut -d, -f2-)"
-                       nfs_cow=$(echo ${NFS_COW}|cut -d, -f1)
-               else
-                       nfs_cow_opts="-o nolock"
-                       nfs_cow=${NFS_COW}
-               fi
-
-               if [ -n "${PERSISTENCE_READONLY}" ]
-               then
-                       nfs_cow_opts="${nfs_cow_opts},nocto,ro"
-               fi
-
-               mac="$(get_mac)"
-               if [ -n "${mac}" ]
-               then
-                       cowdevice=$(echo ${nfs_cow}|sed "s/client_mac_address/${mac}/")
-                       cow_fstype="nfs"
-               else
-                       panic "unable to determine mac address"
-               fi
-       fi
-
-       if [ -z "${cowdevice}" ]
-       then
-               cowdevice="tmpfs"
-               cow_fstype="tmpfs"
-               cow_mountopt="rw,noatime,mode=755"
-       fi
-
-       if [ "${UNIONTYPE}" != "unionmount" ]
-       then
-               if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
-               then
-                       mount -t tmpfs -o rw,noatime,mode=755 tmpfs "/live/overlay"
-                       root_backing="/live/persistence/$(basename ${cowdevice})-root"
-                       mkdir -p ${root_backing}
-               else
-                       root_backing="/live/overlay"
-               fi
-
-               if [ "${cow_fstype}" = "nfs" ]
-               then
-                       log_begin_msg \
-                               "Trying nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing}"
-                       nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing} || \
-                               panic "Can not mount ${cowdevice} (n: ${cow_fstype}) on ${root_backing}"
-               else
-                       mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} ${root_backing} || \
-                               panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on ${root_backing}"
-               fi
-       fi
-
-       rofscount=$(echo ${rofslist} |wc -w)
-
-       # XXX: we now ensure that there can only be one read-only filesystem. Should this be inside the EXPOSED_ROOT if?
-       if [ ${rofscount} -ne 1 ]
-       then
-               panic "only one RO file system supported with exposedroot: ${rofslist}"
-       fi
-       rofs=${rofslist%% }
-
-       if [ -n "${EXPOSED_ROOT}" ]
-       then
-               mount --bind ${rofs} ${rootmnt} || \
-                       panic "bind mount of ${rofs} failed"
-
-               if [ -z "${SKIP_UNION_MOUNTS}" ]
-               then
-                       cow_dirs='/var/tmp /var/lock /var/run /var/log /var/spool /home /var/lib/live'
-               else
-                       cow_dirs=''
-               fi
-       else
-               cow_dirs="/"
-       fi
-
-       if [ "${cow_fstype}" != "tmpfs" ] && [ "${cow_dirs}" != "/" ] && [ "${UNIONTYPE}" = "unionmount" ]
-       then
-               true # FIXME: Maybe it does, I don't really know.
-               #panic "unionmount does not support subunions (${cow_dirs})."
-       fi
-
-       for dir in ${cow_dirs}; do
-               unionmountpoint="${rootmnt}${dir}"
-               mkdir -p ${unionmountpoint}
-               if [ "${UNIONTYPE}" = "unionmount" ]
-               then
-                       # FIXME: handle PERSISTENCE_READONLY
-                       unionmountopts="-t ${cow_fstype} -o noatime,union,${cow_mountopt} ${cowdevice}"
-                       mount_full $unionmountopts "${unionmountpoint}"
-               else
-                       cow_dir="/live/overlay${dir}"
-                       rofs_dir="${rofs}${dir}"
-                       mkdir -p ${cow_dir}
-                       if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
-                       then
-                               do_union ${unionmountpoint} ${cow_dir} ${root_backing} ${rofs_dir}
-                       else
-                               do_union ${unionmountpoint} ${cow_dir} ${rofs_dir}
-                       fi
-               fi || panic "mount ${UNIONTYPE} on ${unionmountpoint} failed with option ${unionmountopts}"
-       done
-
-       # Correct the permissions of /:
-       chmod 0755 "${rootmnt}"
-
-       live_rofs_list=""
-       # SHOWMOUNTS is necessary for custom mounts with the union option
-       # Since we may want to do custom mounts in user-space it's best to always enable SHOWMOUNTS
-       if true #[ -n "${SHOWMOUNTS}" ] || ( [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ] 1)
-       then
-               # XXX: is the for loop really necessary? rofslist can only contain one item (see above XXX about EXPOSEDROOT) and this is also assumed elsewhere above (see use of $rofs above).
-               for d in ${rofslist}
-               do
-                       live_rofs="/live/rofs/${d##*/}"
-                       live_rofs_list="${live_rofs_list} ${live_rofs}"
-                       mkdir -p "${live_rofs}"
-                       case d in
-                               *.dir)
-                                       # do nothing # mount -o bind "${d}" "${live_rofs}"
-                                       ;;
-                               *)
-                                       case "${UNIONTYPE}" in
-                                               unionfs-fuse)
-                                                       mount -o bind "${d}" "${live_rofs}"
-                                                       ;;
-                                               *)
-                                                       mount -o move "${d}" "${live_rofs}"
-                                                       ;;
-                                       esac
-                                       ;;
-                       esac
-               done
-       fi
-
-       # Adding custom persistence
-       if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ]
-       then
-               local custom_mounts="/tmp/custom_mounts.list"
-               rm -rf ${custom_mounts} 2> /dev/null
-
-               # Gather information about custom mounts from devies detected as overlays
-               get_custom_mounts ${custom_mounts} ${overlay_devices}
-
-               [ -n "${DEBUG}" ] && cp ${custom_mounts} "/live/persistence"
-
-               # Now we do the actual mounting (and symlinking)
-               local used_overlays=""
-               used_overlays=$(activate_custom_mounts ${custom_mounts})
-               rm ${custom_mounts}
-
-               # Close unused overlays (e.g. due to missing $persistence_list)
-               for overlay in ${overlay_devices}
-               do
-                       if echo ${used_overlays} | grep -qve "^\(.* \)\?${device}\( .*\)\?$"
-                       then
-                               close_persistence_media ${overlay}
-                       fi
-               done
-
-               # Look for other snapshots to copy in
-               [ -n "${root_snapdata}" ] && try_snap "${root_snapdata}" "${rootmnt}" "ROOT"
-               # This second type should be removed when snapshot grow smarter
-               [ -n "${home_snapdata}" ] && try_snap "${home_snapdata}" "${rootmnt}" "HOME" "/home"
-       fi
-
-       mkdir -p "${rootmnt}/live"
-       mount -o move /live "${rootmnt}/live" >/dev/null 2>&1 || mount -o bind /live "${rootmnt}/live" || log_warning_msg "Unable to move or bind /live to ${rootmnt}/live"
-
-       # shows cow fs on /overlay for use by live-snapshot
-       mkdir -p "${rootmnt}/live/overlay"
-       mount -o move /live/overlay "${rootmnt}/live/overlay" >/dev/null 2>&1 || mount -o bind /overlay "${rootmnt}/live/overlay" || log_warning_msg "Unable to move or bind /overlay to ${rootmnt}/live/overlay"
-
-}
-
-check_dev ()
-{
-       sysdev="${1}"
-       devname="${2}"
-       skip_uuid_check="${3}"
-
-       # support for fromiso=.../isofrom=....
-       if [ -n "$FROMISO" ]
-       then
-               ISO_DEVICE=$(dirname $FROMISO)
-               if ! [ -b $ISO_DEVICE ]
-               then
-                       # to support unusual device names like /dev/cciss/c0d0p1
-                       # as well we have to identify the block device name, let's
-                       # do that for up to 15 levels
-                       i=15
-                       while [ -n "$ISO_DEVICE" ] && [ "$i" -gt 0 ]
-                       do
-                               ISO_DEVICE=$(dirname ${ISO_DEVICE})
-                               [ -b "$ISO_DEVICE" ] && break
-                               i=$(($i -1))
-                       done
-               fi
-
-               if [ "$ISO_DEVICE" = "/" ]
-               then
-                       echo "Warning: device for bootoption isofrom= ($FROMISO) not found.">>/live-boot.log
-               else
-                       fs_type=$(get_fstype "${ISO_DEVICE}")
-                       if is_supported_fs ${fs_type}
-                       then
-                               mkdir /isofrom
-                               mount -t $fs_type "$ISO_DEVICE" /isofrom
-                               ISO_NAME="$(echo $FROMISO | sed "s|$ISO_DEVICE||")"
-                               loopdevname=$(setup_loop "/isofrom/${ISO_NAME}" "loop" "/sys/block/loop*" "" '')
-                               devname="${loopdevname}"
-                       else
-                               echo "Warning: unable to mount $ISO_DEVICE." >>/live-boot.log
-                       fi
-               fi
-       fi
-
-       if [ -z "${devname}" ]
-       then
-               devname=$(sys2dev "${sysdev}")
-       fi
-
-       if [ -d "${devname}" ]
-       then
-               mount -o bind "${devname}" $mountpoint || continue
-
-               if is_live_path $mountpoint
-               then
-                       echo $mountpoint
-                       return 0
-               else
-                       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}" ]
-       then
-               loopdevname=$(setup_loop "${devname}" "loop" "/sys/block/loop*" "${LIVE_MEDIA_OFFSET}" '')
-               devname="${loopdevname}"
-       fi
-
-       fstype=$(get_fstype "${devname}")
-
-       if is_supported_fs ${fstype}
-       then
-               devuid=$(blkid -o value -s UUID "$devname")
-               [ -n "$devuid" ] && grep -qs "\<$devuid\>" $tried && continue
-               mount -t ${fstype} -o ro,noatime "${devname}" ${mountpoint} || continue
-               [ -n "$devuid" ] && echo "$devuid" >> $tried
-
-               if [ -n "${FINDISO}" ]
-               then
-                       if [ -f ${mountpoint}/${FINDISO} ]
-                       then
-                               umount ${mountpoint}
-                               mkdir -p /live/findiso
-                               mount -t ${fstype} -o ro,noatime "${devname}" /live/findiso
-                               loopdevname=$(setup_loop "/live/findiso/${FINDISO}" "loop" "/sys/block/loop*" 0 "")
-                               devname="${loopdevname}"
-                               mount -t iso9660 -o ro,noatime "${devname}" ${mountpoint}
-                       else
-                               umount ${mountpoint}
-                       fi
-               fi
-
-               if is_live_path ${mountpoint} && \
-                       ([ "${skip_uuid_check}" ] || matches_uuid ${mountpoint})
-               then
-                       echo ${mountpoint}
-                       return 0
-               else
-                       umount ${mountpoint} 2>/dev/null
-               fi
-       fi
-
-       if [ -n "${LIVE_MEDIA_OFFSET}" ]
-       then
-               losetup -d "${loopdevname}"
-       fi
-
-       return 1
-}
-
-find_livefs ()
-{
-       timeout="${1}"
-
-       # don't start autodetection before timeout has expired
-       if [ -n "${LIVE_MEDIA_TIMEOUT}" ]
-       then
-               if [ "${timeout}" -lt "${LIVE_MEDIA_TIMEOUT}" ]
-               then
-                       return 1
-               fi
-       fi
-
-       # first look at the one specified in the command line
-       case "${LIVE_MEDIA}" in
-               removable-usb)
-                       for sysblock in $(removable_usb_dev "sys")
-                       do
-                               for dev in $(subdevices "${sysblock}")
-                               do
-                                       if check_dev "${dev}"
-                                       then
-                                               return 0
-                                       fi
-                               done
-                       done
-                       return 1
-                       ;;
-
-               removable)
-                       for sysblock in $(removable_dev "sys")
-                       do
-                               for dev in $(subdevices "${sysblock}")
-                               do
-                                       if check_dev "${dev}"
-                                       then
-                                               return 0
-                                       fi
-                               done
-                       done
-                       return 1
-                       ;;
-
-               *)
-                       if [ ! -z "${LIVE_MEDIA}" ]
-                       then
-                               if check_dev "null" "${LIVE_MEDIA}" "skip_uuid_check"
-                               then
-                                       return 0
-                               fi
-                       fi
-                       ;;
-       esac
-
-       # or do the scan of block devices
-       # prefer removable devices over non-removable devices, so scan them first
-       devices_to_scan="$(removable_dev 'sys') $(non_removable_dev 'sys')"
-
-       for sysblock in $devices_to_scan
-       do
-               devname=$(sys2dev "${sysblock}")
-               [ -e "$devname" ] || continue
-               fstype=$(get_fstype "${devname}")
-
-               if /lib/udev/cdrom_id ${devname} > /dev/null
-               then
-                       if check_dev "null" "${devname}"
-                       then
-                               return 0
-                       fi
-               elif is_nice_device "${sysblock}"
-               then
-                       for dev in $(subdevices "${sysblock}")
-                       do
-                               if check_dev "${dev}"
-                               then
-                                       return 0
-                               fi
-                       done
-               elif [ "${fstype}" = "squashfs" -o \
-                       "${fstype}" = "btrfs" -o \
-                       "${fstype}" = "ext2" -o \
-                       "${fstype}" = "ext3" -o \
-                       "${fstype}" = "ext4" -o \
-                       "${fstype}" = "jffs2" ]
-               then
-                       # This is an ugly hack situation, the block device has
-                       # an image directly on it.  It's hopefully
-                       # live-boot, so take it and run with it.
-                       ln -s "${devname}" "${devname}.${fstype}"
-                       echo "${devname}.${fstype}"
-                       return 0
-               fi
-       done
-
-       return 1
-}
-
-integrity_check ()
-{
-       media_mountpoint="${1}"
-
-       log_begin_msg "Checking media integrity"
-
-       cd ${media_mountpoint}
-       /bin/md5sum -c md5sum.txt < /dev/tty8 > /dev/tty8
-       RC="${?}"
-
-       log_end_msg
-
-       if [ "${RC}" -eq 0 ]
-       then
-               log_success_msg "Everything ok, will reboot in 10 seconds."
-               sleep 10
-               cd /
-               umount ${media_mountpoint}
-               sync
-               echo u > /proc/sysrq-trigger
-               echo b > /proc/sysrq-trigger
-       else
-               panic "Not ok, a media defect is likely, switch to VT8 for details."
-       fi
-}
-
-mountroot ()
-{
-       if [ -x /scripts/local-top/cryptroot ]; then
-           /scripts/local-top/cryptroot
-       fi
-
-       exec 6>&1
-       exec 7>&2
-       exec > live-boot.log
-       exec 2>&1
-       tail -f live-boot.log >&7 &
-       tailpid="${!}"
-
-       # Ensure 'panic' function is overridden
-       . /scripts/live-functions
-
-       Arguments
-
-       maybe_break live-premount
-       log_begin_msg "Running /scripts/live-premount"
-       run_scripts /scripts/live-premount
-       log_end_msg
-
-       # Needed here too because some things (*cough* udev *cough*)
-       # changes the timeout
-
-       if [ ! -z "${NETBOOT}" ] || [ ! -z "${FETCH}" ] || [ ! -z "${HTTPFS}" ] || [ ! -z "${FTPFS}" ]
-       then
-               if do_netmount
-               then
-                       livefs_root="${mountpoint}"
-               else
-                       panic "Unable to find a live file system on the network"
-               fi
-       else
-               if [ -n "${ISCSI_PORTAL}" ]
-               then
-                       do_iscsi && livefs_root="${mountpoint}"
-               elif [ -n "${PLAIN_ROOT}" ] && [ -n "${ROOT}" ]
-               then
-                       # Do a local boot from hd
-                       livefs_root=${ROOT}
-               else
-                       if [ -x /usr/bin/memdiskfind ]
-                       then
-                               MEMDISK=$(/usr/bin/memdiskfind)
-
-                               if [ $? -eq 0 ]
-                               then
-                                       # We found a memdisk, set up phram
-                                       modprobe phram phram=memdisk,${MEMDISK}
-
-                                       # Load mtdblock, the memdisk will be /dev/mtdblock0
-                                       modprobe mtdblock
-                               fi
-                       fi
-
-                       # Scan local devices for the image
-                       i=0
-                       while [ "$i" -lt 60 ]
-                       do
-                               livefs_root=$(find_livefs ${i})
-
-                               if [ -n "${livefs_root}" ]
-                               then
-                                       break
-                               fi
-
-                               sleep 1
-                               i="$(($i + 1))"
-                       done
-               fi
-       fi
-
-       if [ -z "${livefs_root}" ]
-       then
-               panic "Unable to find a medium containing a live file system"
-       fi
-
-       if [ "${INTEGRITY_CHECK}" ]
-       then
-               integrity_check "${livefs_root}"
-       fi
-
-       if [ "${TORAM}" ]
-       then
-               live_dest="ram"
-       elif [ "${TODISK}" ]
-       then
-               live_dest="${TODISK}"
-       fi
-
-       if [ "${live_dest}" ]
-       then
-               log_begin_msg "Copying live media to ${live_dest}"
-               copy_live_to "${livefs_root}" "${live_dest}"
-               log_end_msg
-       fi
-
-       # if we do not unmount the ISO we can't run "fsck /dev/ice" later on
-       # because the mountpoint is left behind in /proc/mounts, so let's get
-       # rid of it when running from RAM
-       if [ -n "$FROMISO" ] && [ "${TORAM}" ]
-       then
-         losetup -d /dev/loop0
-         grep -q /isofrom /proc/mounts && umount /isofrom
-       fi
-
-       if [ -n "${MODULETORAMFILE}" ] || [ -n "${PLAIN_ROOT}" ]
-       then
-               setup_unionfs "${livefs_root}" "${rootmnt}"
-       else
-               mac="$(get_mac)"
-               mac="$(echo ${mac} | sed 's/-//g')"
-               mount_images_in_directory "${livefs_root}" "${rootmnt}" "${mac}"
-       fi
-
-
-       if [ -n "${ROOT_PID}" ] ; then
-               echo "${ROOT_PID}" > "${rootmnt}"/live/root.pid
-       fi
-
-       log_end_msg
-
-       # unionfs-fuse needs /dev to be bind-mounted for the duration of
-       # live-bottom; udev's init script will take care of things after that
-       if [ "${UNIONTYPE}" = unionfs-fuse ]
-       then
-               mount -n -o bind /dev "${rootmnt}/dev"
-       fi
-
-       # Move to the new root filesystem so that programs there can get at it.
-       if [ ! -d /root/live/image ]
-       then
-               mkdir -p /root/live/image
-               mount --move /live/image /root/live/image
-       fi
-
-       # aufs2 in kernel versions around 2.6.33 has a regression:
-       # directories can't be accessed when read for the first the time,
-       # causing a failure for example when accessing /var/lib/fai
-       # when booting FAI, this simple workaround solves it
-       ls /root/* >/dev/null 2>&1
-
-       # Move findiso directory to the new root filesystem so that programs there can get at it.
-       if [ -d /live/findiso ] && [ ! -d /root/live/findiso ]
-       then
-               mkdir -p /root/live/findiso
-               mount -n --move /live/findiso /root/live/findiso
-       fi
-
-       # if we do not unmount the ISO we can't run "fsck /dev/ice" later on
-       # because the mountpoint is left behind in /proc/mounts, so let's get
-       # rid of it when running from RAM
-       if [ -n "$FINDISO" ] && [ "${TORAM}" ]
-       then
-               losetup -d /dev/loop0
-
-               if is_mountpoint /live/findiso
-               then
-                       umount /root/live/findiso
-                       rmdir --ignore-fail-on-non-empty /root/live/findiso \
-                               >/dev/null 2>&1 || true
-               fi
-       fi
-
-       # copy snapshot configuration if exists
-       if [ -f snapshot.conf ]
-       then
-               log_begin_msg "Copying snapshot.conf to ${rootmnt}/etc/live/boot.d"
-               if [ ! -d "${rootmnt}/etc/live/boot.d" ]
-               then
-                       mkdir -p "${rootmnt}/etc/live/boot.d"
-               fi
-               cp snapshot.conf "${rootmnt}/etc/live/boot.d/"
-               log_end_msg
-       fi
-
-       if [ -f /etc/resolv.conf ] && [ ! -s ${rootmnt}/etc/resolv.conf ]
-       then
-               log_begin_msg "Copying /etc/resolv.conf to ${rootmnt}/etc/resolv.conf"
-               cp -v /etc/resolv.conf ${rootmnt}/etc/resolv.conf
-               log_end_msg
-       fi
-
-       maybe_break live-bottom
-       log_begin_msg "Running /scripts/live-bottom\n"
-
-       run_scripts /scripts/live-bottom
-       log_end_msg
-
-       if [ "${UNIONFS}" = unionfs-fuse ]
-       then
-               umount "${rootmnt}/dev"
-       fi
-
-       exec 1>&6 6>&-
-       exec 2>&7 7>&-
-       kill ${tailpid}
-       [ -w "${rootmnt}/var/log/" ] && cp live-boot.log "${rootmnt}/var/log/" 2>/dev/null
-}
diff --git a/scripts/live-bottom/08persistence_excludes b/scripts/live-bottom/08persistence_excludes
deleted file mode 100755 (executable)
index 633f6ac..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-# Persistence enhancer script
-# This script saves precious time on slow persistence devices/image files
-# and writes on flash based device.
-# a tmpfs on $PERSTMP is mounted and directories listed in
-# /etc/live-persistence.binds will be copied there and then bind mounted back.
-
-#set -e
-
-# initramfs-tools header
-
-PREREQ=""
-
-prereqs()
-{
-       echo "${PREREQ}"
-}
-
-case "${1}" in
-       prereqs)
-               prereqs
-               exit 0
-               ;;
-esac
-
-# live-boot header
-
-if [ -z "${PERSISTENCE}" ] || [ -n "${NOPERSISTENCE}" ] || [ -z "${PERSISTENCE_IS_ON}" ] || [ ! -f /root/etc/live-persistence.binds ]
-then
-       exit 0
-fi
-
-. /scripts/live-functions
-
-# live-boot script
-
-dirs="$(sed -e '/^ *$/d' -e '/^#.*$/d' /root/etc/live-persistence.binds | tr '\n' '\0')"
-if [ -z "${dirs}" ]
-then
-       exit 0
-fi
-
-log_begin_msg "Moving persistence bind mounts"
-
-PERSTMP="/root/live/persistence-binds"
-CPIO="/bin/cpio"
-
-if [ ! -d "${PERSTMP}" ]
-then
-       mkdir -p "${PERSTMP}"
-fi
-
-mount -t tmpfs tmpfs "${PERSTMP}"
-
-for dir in $(echo "${dirs}" | tr '\0' '\n')
-do
-       if [ ! -e "/root/${dir}" ] && [ ! -L "/root/${dir}" ]
-       then
-               # directory do not exists, create it
-               mkdir -p "/root/${dir}"
-       elif [ ! -d "/root/${dir}" ]
-       then
-               # it is not a directory, skip it
-               break
-       fi
-
-       # Copy previous content if any
-       cd "/root/${dir}"
-       find . -print0 | ${CPIO} -pumd0 "${PERSTMP}/${dir}"
-       cd "${OLDPWD}"
-
-       # Bind mount it to origin
-       mount -o bind "${PERSTMP}/${dir}" "/root/${dir}"
-done
-
-log_end_msg
diff --git a/scripts/live-bottom/10validateroot b/scripts/live-bottom/10validateroot
deleted file mode 100755 (executable)
index d4d1620..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/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-bottom/12fstab b/scripts/live-bottom/12fstab
deleted file mode 100755 (executable)
index 7f43937..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/bin/sh
-
-#set -e
-
-# initramfs-tools header
-
-PREREQ=""
-FSTAB=/root/etc/fstab
-
-prereqs()
-{
-       echo "${PREREQ}"
-}
-
-case "${1}" in
-       prereqs)
-               prereqs
-               exit 0
-               ;;
-esac
-
-# live-boot header
-
-. /scripts/live-functions
-
-if [ -n "${NOFSTAB}" ]
-then
-       exit 0
-fi
-
-log_begin_msg "Configuring fstab"
-
-# live-boot script
-
-if ! grep -qs  "^${UNIONTYPE}" "${FSTAB}"
-then
-       echo "${UNIONTYPE} / ${UNIONTYPE} rw 0 0" >> "${FSTAB}"
-fi
-
-if ! grep -qs "^tmpfs /tmp" "${FSTAB}"
-then
-       echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> "${FSTAB}"
-fi
-
-if [ -n "${SWAPON}" ]
-then
-       devices=""
-
-       for device in /dev/[hs]d[a-z][0-9]*
-       do
-               if ! [ -b "${device}" ]
-               then
-                       continue
-               fi
-
-               /sbin/blkid -o udev -p ${device%%[0-9]*} | grep -q "^ID_FS_USAGE=raid" && continue
-
-               magic=$(/bin/dd if="${device}" bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue
-
-               if [ "${magic}" = "SWAPSPACE2" -o "${magic}" = "SWAP-SPACE" ]
-               then
-                       #log "Found ${device}"
-                       devices="${devices} ${device}"
-               fi
-       done
-
-       # Remove all auto swap entries
-       if grep -qs  "swap swap" "${FSTAB}"
-       then
-               grep -v "swap swap" "${FSTAB}" > "${FSTAB}".tmp
-               mv "${FSTAB}".tmp "${FSTAB}"
-       fi
-
-       # Add new swap entries
-       for device in ${devices}
-       do
-               echo "${device} swap swap defaults 0 0" >> "${FSTAB}"
-       done
-fi
-
-# disabled for now
-#rm -f /root/etc/rcS.d/S*checkroot.sh
-
-if [ "${NOFASTBOOT}" != "Yes" ]
-then
-       touch root/fastboot
-fi
-
-log_end_msg
diff --git a/scripts/live-bottom/23networking b/scripts/live-bottom/23networking
deleted file mode 100755 (executable)
index 86d4562..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/bin/sh
-
-#set -e
-
-# initramfs-tools header
-
-PREREQ=""
-
-prereqs()
-{
-       echo "${PREREQ}"
-}
-
-case "${1}" in
-       prereqs)
-               prereqs
-               exit 0
-               ;;
-esac
-
-# live-boot header
-
-if [ -n "${NONETWORKING}" ]
-then
-       exit 0
-fi
-
-. /scripts/live-functions
-
-log_begin_msg "Preconfiguring networking"
-
-# live-boot script
-
-IFFILE="/root/etc/network/interfaces"
-
-if [ "${STATICIP}" = "frommedia" -a -e  "${IFFILE}" ]
-then
-       # will use existent /etc/network/interfaces
-       log_end_msg
-       exit 0
-fi
-
-cat > "${IFFILE}" << EOF
-auto lo
-iface lo inet loopback
-
-EOF
-
-udevadm trigger
-udevadm settle
-
-if [ -z "${NETBOOT}" -a -n "${STATICIP}" -a "${STATICIP}" != "frommedia" ]
-then
-       parsed=$(echo "${STATICIP}" | sed -e 's/,/ /g')
-
-       for ifline in ${parsed}
-       do
-               ifname="$(echo ${ifline} | cut -f1 -d ':')"
-               ifaddress="$(echo ${ifline} | cut -f2 -d ':')"
-               ifnetmask="$(echo ${ifline} | cut -f3 -d ':')"
-               ifgateway="$(echo ${ifline} | cut -f4 -d ':')"
-
-cat >> "${IFFILE}" << EOF
-allow-hotplug ${ifname}
-iface ${ifname} inet static
-    address ${ifaddress}
-    netmask ${ifnetmask}
-EOF
-
-if [ -n "${ifgateway}" ]
-then
-
-cat >> "${IFFILE}" << EOF
-    gateway ${ifgateway}
-
-EOF
-
-fi
-
-       done
-else
-       if [ -z "${NETBOOT}" ] || [ -n "${DHCP}" ]
-       then
-               # default, dhcp assigned
-               method="dhcp"
-       else
-               # make sure that the preconfigured interface would not get reassigned by dhcp
-               # on startup by ifup script - otherwise our root fs might be disconnected!
-               method="manual"
-       fi
-
-       # iterate the physical interfaces and add them to the interfaces list and also add when ethdevice= called on cmdline
-       if [ "${method}" != dhcp ] || ([ ! -x /root/usr/sbin/NetworkManager ] && [ ! -x /root/usr/sbin/wicd ]) || [ ! -z "${ETHDEVICE}" ]
-       then
-               for interface in /sys/class/net/eth* /sys/class/net/ath* /sys/class/net/wlan*
-               do
-                       [ -e ${interface} ] || continue
-                       i="$(basename ${interface})"
-
-cat >> "${IFFILE}" << EOF
-allow-hotplug ${i}
-iface ${i} inet ${method}
-
-EOF
-
-               done
-       fi
-
-       if [ ! -f /root/etc/resolv.conf ] || [ -z "$(cat /root/etc/resolv.conf)" ]
-       then
-               if [ -f /netboot.config ]
-               then
-                       # create a resolv.conf if it is not present or empty
-                       cp /netboot.config /root/var/log/netboot.config
-
-                       rc_search=$(cat netboot.config | awk '/domain/{print $3}')
-                       rc_server0=$(cat netboot.config | awk '/dns0/{print $5}')
-                       rc_server1=$(cat netboot.config | awk '/dns0/{print $8}')
-                       rc_server0="nameserver ${rc_server0}"
-
-                       if [ "${rc_server1}" = "0.0.0.0" ]
-                       then
-                               rc_server1=""
-                       else
-                               rc_server1="nameserver ${rc_server1}"
-                       fi
-
-cat > /root/etc/resolv.conf << EOF
-# /etc/resolv.conf
-# Autogenerated by live-boot
-search ${rc_search}
-domain ${rc_search}
-${rc_server0}
-${rc_server1}
-EOF
-
-                       cat /root/etc/resolv.conf >> /root/var/log/netboot.config
-               fi
-       fi
-fi
-
-#if [ ! -x /root/usr/sbin/NetworkManager ]
-#then
-#      for i in eth0 eth1 eth2 ath0 wlan0
-#      do
-#              grep -q "iface ${i}" ${IFFILE} && continue
-#
-#cat >> "${IFFILE}" << EOF
-#allow-hotplug ${i}
-#iface ${i} inet dhcp
-#
-#EOF
-#
-#      done
-#fi
-
-log_end_msg
diff --git a/scripts/live-premount/modules b/scripts/live-premount/modules
deleted file mode 100755 (executable)
index 1af7a9e..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-#set -e
-
-# initramfs-tools header
-
-PREREQ="udev"
-
-prereqs()
-{
-       echo "${PREREQ}"
-}
-
-case "${1}" in
-       prereqs)
-               prereqs
-               exit 0
-               ;;
-esac
-
-# live-boot script
-
-# The following modprobe entry is a workaround to live-boot not
-# finding the root filesytem.
-#
-# See also:
-#  * http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-May/001459.html
-#  * http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-June/001517.html
-#  * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=363047
-
-modprobe -q ide-generic
-modprobe -q esp
diff --git a/scripts/live-premount/readonly b/scripts/live-premount/readonly
deleted file mode 100755 (executable)
index 71483bd..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-#set -e
-
-# initramfs-tools header
-
-PREREQ="udev"
-
-prereqs()
-{
-       echo "${PREREQ}"
-}
-
-case "${1}" in
-       prereqs)
-               prereqs
-               exit 0
-               ;;
-esac
-
-# live-boot script
-
-# make sure all harddisk devices are read-only
-# this is important for forensic investigations
-if grep -qe forensic -qe readonly /proc/cmdline
-then
-       for device in /dev/hd* /dev/sd* /dev/vd*
-       do
-               if [ -b "$device" ]
-               then
-                       printf " * Setting device %-9s to read-only mode: " $device >/dev/console
-                       blockdev --setro $device && printf "done [ execute \"blockdev --setrw %-9s\" to unlock]\n" $device >/dev/console || printf "failed\n" >/dev/console
-               fi
-       done
-fi
diff --git a/scripts/live-premount/select_eth_device b/scripts/live-premount/select_eth_device
deleted file mode 100755 (executable)
index fe86313..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/bin/sh
-
-# Original script by Andreas Teuchert <ant+dl@hsg-kl.de>
-# Modified by Frédéric Boiteux <fboiteux@calistel.com>
-
-PREREQ="blacklist udev"
-
-prereqs()
-{
-       echo "$PREREQ"
-}
-
-case $1 in
-# get pre-requisites
-prereqs)
-       prereqs
-       exit 0
-       ;;
-esac
-
-# Boot type in initramfs's config
-bootconf=$(egrep '^BOOT=' /conf/initramfs.conf | tail -1)
-
-# can be superseded by command line (used by Debian-Live's netboot for example)
-for ARGUMENT in $(cat /proc/cmdline); do
-       case "${ARGUMENT}" in
-               netboot=*)
-                       NETBOOT="${ARGUMENT#netboot=}"
-                       ;;
-       esac
-done
-
-if [ "$bootconf" != "BOOT=nfs" ] &&
-   [ "$NETBOOT" = "" ] &&
-   [ "$FETCH" = "" ] &&
-   [ "$FTPFS" = "" ] &&
-   [ "$HTTPFS" = "" ]
-then
-    # Not a net boot : nothing to do
-    exit 0
-fi
-
-# we want to do some basic IP
-modprobe -q af_packet
-
-# Available Ethernet interfaces ?
-l_interfaces=""
-echo "Waiting for ethernet card(s) up... If this fails, maybe the ethernet card is not supported by the kernel `uname -r`?"
-while [ -z "$l_interfaces" ]; do
-  l_interfaces="$(cd /sys/class/net/ && ls -d eth* 2>/dev/null)"
-done
-
-if [ $(echo $l_interfaces | wc -w) -lt 2 ]; then
-       # only one interface : no choice
-       echo "DEVICE=$l_interfaces" >> /conf/param.conf
-       exit 0
-fi
-
-# If user force to use specific device, write it
-for ARGUMENT in $(cat /proc/cmdline); do
-    case "${ARGUMENT}" in
-        live-netdev=*)
-        NETDEV="${ARGUMENT#live-netdev=}"
-        echo "DEVICE=$NETDEV" >> /conf/param.conf
-       echo "Found live-netdev parameter in /proc/cmdline. Force to use network device $NETDEV."
-        exit 0
-        ;;
-    esac
-done
-
-found_eth_dev=""
-while true; do
-       echo -n "Looking for a connected Ethernet interface ..."
-
-       for interface in $l_interfaces; do
-               # ATTR{carrier} is not set if this is not done
-               echo -n " $interface ?"
-               ipconfig -c none -d $interface -t 1 >/dev/null 2>&1
-       done
-
-       echo ''
-
-       for step in 1 2 3 4 5; do
-               for interface in $l_interfaces; do
-                       carrier=$(cat /sys/class/net/$interface/carrier \
-                               2>/dev/null)
-                       # link detected
-                       if [ "$carrier" = 1 ]; then
-                               echo "Connected $interface found"
-                               # inform initrd's init script :
-                               found_eth_dev="$found_eth_dev $interface"
-                       fi
-               done
-               if [ -n "$found_eth_dev" ]; then
-                       echo "DEVICE='$found_eth_dev'" >> /conf/param.conf
-                       exit 0
-               else
-                       # wait a bit
-                       sleep 1
-               fi
-       done
-done