From afd4fad6cfdbf24093d34f56c09fe98bca246d61 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 5 Jun 2012 21:50:07 +0200 Subject: [PATCH] Adding upstream version 3.0~a31. --- Makefile | 9 +- VERSION | 2 +- backends/initramfs-tools/live.hook | 4 - bin/live-preseed | 25 -- bin/live-reconfigure | 70 ---- {etc => examples}/live-persistence.binds | 0 {etc => examples}/live-snapshot.exclude_list | 0 {etc => examples}/live-snapshot.list | 0 manpages/de/live-boot.de.7 | 2 +- manpages/de/live-persistence.conf.de.5 | 2 +- manpages/de/live-snapshot.de.1 | 2 +- manpages/en/live-boot.7 | 2 +- manpages/en/live-persistence.conf.5 | 2 +- manpages/en/live-snapshot.1 | 2 +- manpages/es/live-boot.es.7 | 86 ++-- manpages/es/live-persistence.conf.es.5 | 43 +- manpages/es/live-snapshot.es.1 | 71 +++- manpages/po/de/live-boot.7.po | 6 +- manpages/po/de/live-persistence.conf.5.po | 6 +- manpages/po/de/live-snapshot.1.po | 6 +- manpages/po/es/live-boot.7.po | 81 ++-- manpages/po/es/live-persistence.conf.5.po | 36 +- manpages/po/es/live-snapshot.1.po | 67 ++- manpages/pot/live-boot.7.pot | 4 +- manpages/pot/live-persistence.conf.5.pot | 4 +- manpages/pot/live-snapshot.1.pot | 4 +- scripts/boot.sh | 587 --------------------------- scripts/boot/cmdline.sh | 70 ++-- scripts/boot/misc-helpers.sh | 360 ++++++++++++++++ scripts/boot/mountroot.sh | 230 +++++++++++ 30 files changed, 841 insertions(+), 942 deletions(-) delete mode 100755 bin/live-preseed delete mode 100755 bin/live-reconfigure rename {etc => examples}/live-persistence.binds (100%) rename {etc => examples}/live-snapshot.exclude_list (100%) rename {etc => examples}/live-snapshot.list (100%) create mode 100755 scripts/boot/mountroot.sh diff --git a/Makefile b/Makefile index 4aac9bc..79a9388 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ SHELL := sh -e LANGUAGES = $(shell cd manpages/po && ls) -SCRIPTS = bin/* backends/initramfs-tools/* scripts/*.sh scripts/*/* +SCRIPTS = backends/*/* bin/* scripts/*.sh scripts/*/* all: build @@ -49,9 +49,6 @@ install: 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 $(DESTDIR)/usr/share/live-boot - 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 @@ -62,7 +59,7 @@ install: 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 + cp -r examples/* $(DESTDIR)/usr/share/doc/live-boot/examples # (FIXME) # Installing manpages @@ -86,8 +83,6 @@ uninstall: rm -f $(DESTDIR)/sbin/live-snapshot $(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 -f $(DESTDIR)/usr/share/initramfs-tools/scripts/live diff --git a/VERSION b/VERSION index d056a44..4fe660f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.0~a30-1 +3.0~a31-1 diff --git a/backends/initramfs-tools/live.hook b/backends/initramfs-tools/live.hook index 5fc01ec..4d01777 100755 --- a/backends/initramfs-tools/live.hook +++ b/backends/initramfs-tools/live.hook @@ -57,10 +57,6 @@ cp -a /lib/live/boot.sh /lib/live/boot "${DESTDIR}/lib/live" # Directories mkdir -p "${DESTDIR}"/lib/live-boot -# Executables -copy_exec /usr/share/live-boot/live-reconfigure /bin -copy_exec /usr/share/live-boot/live-preseed /bin - # klibc dependencies for FILE in /lib/libacl* /lib/libblkid* /lib/libuuid* /lib/libdevmapper* /lib/libattr* do diff --git a/bin/live-preseed b/bin/live-preseed deleted file mode 100755 index c0933e6..0000000 --- a/bin/live-preseed +++ /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 index 16cb51d..0000000 --- a/bin/live-reconfigure +++ /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/etc/live-persistence.binds b/examples/live-persistence.binds similarity index 100% rename from etc/live-persistence.binds rename to examples/live-persistence.binds diff --git a/etc/live-snapshot.exclude_list b/examples/live-snapshot.exclude_list similarity index 100% rename from etc/live-snapshot.exclude_list rename to examples/live-snapshot.exclude_list diff --git a/etc/live-snapshot.list b/examples/live-snapshot.list similarity index 100% rename from etc/live-snapshot.list rename to examples/live-snapshot.list diff --git a/manpages/de/live-boot.de.7 b/manpages/de/live-boot.de.7 index fe38748..a70f125 100644 --- a/manpages/de/live-boot.de.7 +++ b/manpages/de/live-boot.de.7 @@ -3,7 +3,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIVE\-BOOT 7 05.06.2012 3.0~a30\-1 "Debian Live Project" +.TH LIVE\-BOOT 7 05.06.2012 3.0~a31\-1 "Debian Live Project" .SH NAME \fBlive\-boot\fP \- System Boot Scripts diff --git a/manpages/de/live-persistence.conf.de.5 b/manpages/de/live-persistence.conf.de.5 index 9045999..ae5b183 100644 --- a/manpages/de/live-persistence.conf.de.5 +++ b/manpages/de/live-persistence.conf.de.5 @@ -3,7 +3,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIVE\-BOOT conf 05.06.2012 3.0~a30\-1 "Debian Live Project" +.TH LIVE\-BOOT conf 05.06.2012 3.0~a31\-1 "Debian Live Project" .SH NAME \fBlive\-persistence.conf\fP \- Configuration file for persistence media in diff --git a/manpages/de/live-snapshot.de.1 b/manpages/de/live-snapshot.de.1 index 8518b3f..3c13106 100644 --- a/manpages/de/live-snapshot.de.1 +++ b/manpages/de/live-snapshot.de.1 @@ -3,7 +3,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIVE\-BOOT 1 05.06.2012 3.0~a30\-1 "Debian Live Project" +.TH LIVE\-BOOT 1 05.06.2012 3.0~a31\-1 "Debian Live Project" .SH NAME \fBlive\-snapshot\fP \- simple script to ease persistence usage diff --git a/manpages/en/live-boot.7 b/manpages/en/live-boot.7 index 7863439..2606bbb 100644 --- a/manpages/en/live-boot.7 +++ b/manpages/en/live-boot.7 @@ -1,4 +1,4 @@ -.TH LIVE\-BOOT 7 2012\-06\-05 3.0~a30-1 "Debian Live Project" +.TH LIVE\-BOOT 7 2012\-06\-05 3.0~a31-1 "Debian Live Project" .SH NAME \fBlive\-boot\fR \- System Boot Scripts diff --git a/manpages/en/live-persistence.conf.5 b/manpages/en/live-persistence.conf.5 index bdc8116..1ea2a79 100644 --- a/manpages/en/live-persistence.conf.5 +++ b/manpages/en/live-persistence.conf.5 @@ -1,4 +1,4 @@ -.TH LIVE\-BOOT conf 2012\-06\-05 3.0~a30-1 "Debian Live Project" +.TH LIVE\-BOOT conf 2012\-06\-05 3.0~a31-1 "Debian Live Project" .SH NAME \fBlive-persistence.conf\fR \- Configuration file for persistence media in diff --git a/manpages/en/live-snapshot.1 b/manpages/en/live-snapshot.1 index 94046e0..81e4a86 100644 --- a/manpages/en/live-snapshot.1 +++ b/manpages/en/live-snapshot.1 @@ -1,4 +1,4 @@ -.TH LIVE\-BOOT 1 2012\-06\-05 3.0~a30-1 "Debian Live Project" +.TH LIVE\-BOOT 1 2012\-06\-05 3.0~a31-1 "Debian Live Project" .SH NAME \fBlive\-snapshot\fR \- simple script to ease persistence usage diff --git a/manpages/es/live-boot.es.7 b/manpages/es/live-boot.es.7 index 28a0374..f18888f 100644 --- a/manpages/es/live-boot.es.7 +++ b/manpages/es/live-boot.es.7 @@ -3,7 +3,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIVE\-BOOT 7 05.06.2012 3.0~a30\-1 "Proyecto Debian Live" +.TH LIVE\-BOOT 7 05.06.2012 3.0~a31\-1 "Proyecto Debian Live" .SH NOMBRE \fBlive\-boot\fP \- Scripts de Arranque del Sistema @@ -49,10 +49,11 @@ raíz (/etc/live/boot.conf, /etc/live/boot.d/*.conf), o en el medio en vivo .\" FIXME \fBlive\-boot\fP incluye los siguientes parámetros. .IP \fBaccess\fP=\fIACCESS\fP 4 -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. +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" @@ -73,8 +74,9 @@ 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 -Due to current limitations in busybox's wget and DNS resolution, an URL can -not contain a hostname but an IP only. +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 @@ -185,16 +187,17 @@ 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 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 +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/archivo (con el nombre de fichero +correcto). Overlays con la etiqueta/nombre "full\-ov", que se montará en / o +"custom\-ov", que puede ser completamente personalizado (ver +\fIlive\-persistence.conf\fP(5)); las instantáneas tienen la etiqueta/nombre +"live\-sn" o "home\-sn" y se extraerán respectivamente en / o /home (ver +\fIlive\-snapshot\fP(1) para más información). El orden en que se tratan son: +full\-ov, custom\-ov, live\-sn, home\-sn. Los ficheros imagen overlay y los +ficheros archivo instantáneas tienen extensiones que determinan el tipo de +fichero o de sistema de ficheros, por ejemplo, "custom\-ov.ext4" y "home\-sn.squashfs". .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 @@ -269,17 +272,33 @@ unionfs. .\" FIXME .SH "FICHEROS (antiguos)" .IP \fB/etc/live.conf\fP 4 -Some variables can be configured via this config file (inside the live -system). +#\-#\-#\-#\-# live\-snapshot.1.po (live\-snapshot) #\-#\-#\-#\-# +Algunas variables pueden ser configuradas a través de este fichero de +configuración (dentro del sistema en vivo). +#\-#\-#\-#\-# live\-boot.7.po (live\-boot) #\-#\-#\-#\-# +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 -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. +#\-#\-#\-#\-# live\-snapshot.1.po (live\-snapshot) #\-#\-#\-#\-# +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. +#\-#\-#\-#\-# live\-boot.7.po (live\-boot) #\-#\-#\-#\-# +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. .IP \fB/etc/live\-persistence.binds\fP 4 Este fichero opcional (que reside en el sistema rootfs, no en los medios en vivo) se utiliza como una lista de directorios que no necesitan ser @@ -312,8 +331,17 @@ original. \fIlive\-tools\fP(7) .SH "PÁGINA WEB" -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 +#\-#\-#\-#\-# live\-snapshot.1.po (live\-snapshot) #\-#\-#\-#\-# +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 +<\fIhttp://live.debian.net/manual/\fP>. +#\-#\-#\-#\-# live\-boot.7.po (live\-boot) #\-#\-#\-#\-# +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>. +#\-#\-#\-#\-# live\-persistence.conf.5.po (live\-persistence.conf) #\-#\-#\-#\-# +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 diff --git a/manpages/es/live-persistence.conf.es.5 b/manpages/es/live-persistence.conf.es.5 index 7a7eed2..e7dc500 100644 --- a/manpages/es/live-persistence.conf.es.5 +++ b/manpages/es/live-persistence.conf.es.5 @@ -3,7 +3,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIVE\-BOOT conf 05.06.2012 3.0~a30\-1 "Proyecto Debian Live" +.TH LIVE\-BOOT conf 05.06.2012 3.0~a31\-1 "Proyecto Debian Live" .SH NOMBRE \fBlive\-persistence.conf\fP \- Fichero para configurar medios de almacenamiento @@ -17,9 +17,9 @@ completamente personalizable a través del fichero \fBlive\-persistence.conf\fP almacenado en la raíz de su sistema de ficheros. Cualquier volumen con una de esas etiquetas debe tener uno de esos ficheros, o si no será ignorado. .PP -The format of \fBlive\-persistence.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: +El formato de \fBlive\-persistence.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]... @@ -65,14 +65,14 @@ opciones \fBlink\fP o \fBunion\fP (ver debajo). Los montajes personalizados definidos en \fBlive\-persistence.conf\fP aceptan las siguientes opciones en una lista separada por comas: .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). +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): @@ -178,7 +178,7 @@ Enlace: Enlace: /home/user2/.bashrc \-> \fIVOL\fP/config\-files/user2/.bashrc (de b) .TP -Directorios: +Directorio: /homea/user2/.ssh (de c) .TP Enlace: @@ -210,8 +210,17 @@ tendría que ser copiado en \fIVOL\fP/usr durante la preinstalación inicial. \fIlive\-tools\fP(7) .SH "PÁGINA WEB" -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 +#\-#\-#\-#\-# live\-snapshot.1.po (live\-snapshot) #\-#\-#\-#\-# +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 +<\fIhttp://live.debian.net/manual/\fP>. +#\-#\-#\-#\-# live\-boot.7.po (live\-boot) #\-#\-#\-#\-# +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>. +#\-#\-#\-#\-# live\-persistence.conf.5.po (live\-persistence.conf) #\-#\-#\-#\-# +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 @@ -222,5 +231,5 @@ correo de Debian Live a la dirección <\fIdebian\-live@lists.debian.org\fP>. .SH AUTOR -live\-persistence.conf was written by anonym <\fIanonym@lavabit.com\fP> -for the Debian project. +live\-persistence.conf fue escrito por anonym <\fIanonym@lavabit.com\fP> +para el proyecto Debian. diff --git a/manpages/es/live-snapshot.es.1 b/manpages/es/live-snapshot.es.1 index 26db71f..0fe250c 100644 --- a/manpages/es/live-snapshot.es.1 +++ b/manpages/es/live-snapshot.es.1 @@ -3,7 +3,7 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH LIVE\-BOOT 1 05.06.2012 3.0~a30\-1 "Proyecto Debian Live" +.TH LIVE\-BOOT 1 05.06.2012 3.0~a31\-1 "Proyecto Debian Live" .SH NOMBRE \fBlive\-snapshot\fP \- sencillo script para facilitar el uso de la persistencia @@ -34,11 +34,13 @@ usos. Sin embargo puede ser práctico especificar "/home" y \-\-type ext4 para preparar un fichero imagen adecuado para ser directamente montado por live\-boot como home. .IP "\-d, \-\-device \fIDEVICE\fP" 4 -sets the device where the media with 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. +establece el dispositivo donde los medios con la instantánea/persistencia +fichero/partición será puesto. Si no se especifica, se usará un tmpfs y se +hará un enlace al escritorio del usuario para que pueda moverlo donde sea +necesario. Si el dispositivo no tiene sistema de ficheros, se creará +automáticamente un ext4 fs con una etiqueta de acuerdo a los valores +especificados después del valor "\-\-output" o con un valor por defecto +adecuado. .IP "\-e, \-\-exclude\-list \fIFILE\fP" 4 un fichero que contiene una lista de nombres de ficheros/rutas que no deben guardarse. Esta lista de exclusión será recordada en el medio de la @@ -65,22 +67,38 @@ muestra información de la versión y sale. .SH FICHEROS .IP \fB/etc/live.conf\fP 4 -Some variables can be configured via this config file (inside the live -system). +#\-#\-#\-#\-# live\-snapshot.1.po (live\-snapshot) #\-#\-#\-#\-# +Algunas variables pueden ser configuradas a través de este fichero de +configuración (dentro del sistema en vivo). +#\-#\-#\-#\-# live\-boot.7.po (live\-boot) #\-#\-#\-#\-# +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 -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. +#\-#\-#\-#\-# live\-snapshot.1.po (live\-snapshot) #\-#\-#\-#\-# +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. +#\-#\-#\-#\-# live\-boot.7.po (live\-boot) #\-#\-#\-#\-# +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. .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: -i.e. their content does not need to survive reboots when using the -persistence features. +Este fichero opcional (que reside en el sistema rootfs, no en los medios en +vivo) se utiliza como una lista de directorios que no necesitan ser +persistentes: es decir, su contenido no necesita sobrevivir tras reiniciar +cuando se utiliza la persistencia. .br Esto ahorra costosas escrituras y acelera las operaciones sobre los datos volátiles, tales como las caches web y los archivos temporales (como por @@ -103,8 +121,17 @@ experimental que sólo funciona con objetivos cpio en este momento. \fIlive\-tools\fP(7) .SH "PÁGINA WEB" -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 +#\-#\-#\-#\-# live\-snapshot.1.po (live\-snapshot) #\-#\-#\-#\-# +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 +<\fIhttp://live.debian.net/manual/\fP>. +#\-#\-#\-#\-# live\-boot.7.po (live\-boot) #\-#\-#\-#\-# +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>. +#\-#\-#\-#\-# live\-persistence.conf.5.po (live\-persistence.conf) #\-#\-#\-#\-# +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 diff --git a/manpages/po/de/live-boot.7.po b/manpages/po/de/live-boot.7.po index 71f84e9..f6e46e5 100644 --- a/manpages/po/de/live-boot.7.po +++ b/manpages/po/de/live-boot.7.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: live-boot 3.0~a28-1\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"Project-Id-Version: live-boot 3.0~a31-1\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: 2012-04-08 22:48+0300\n" "Last-Translator: Daniel Baumann \n" "Language-Team: none\n" @@ -30,7 +30,7 @@ msgstr "05.06.2012" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a30-1" +msgid "3.0~a31-1" msgstr "" #. type: TH diff --git a/manpages/po/de/live-persistence.conf.5.po b/manpages/po/de/live-persistence.conf.5.po index 6ac758f..0c2111b 100644 --- a/manpages/po/de/live-persistence.conf.5.po +++ b/manpages/po/de/live-persistence.conf.5.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: live-boot 3.0~a28-1\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"Project-Id-Version: live-boot 3.0~a31-1\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: 2012-04-08 22:48+0300\n" "Last-Translator: Daniel Baumann \n" "Language-Team: none\n" @@ -30,7 +30,7 @@ msgstr "05.06.2012" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a30-1" +msgid "3.0~a31-1" msgstr "" #. type: TH diff --git a/manpages/po/de/live-snapshot.1.po b/manpages/po/de/live-snapshot.1.po index 5f9676f..a485c39 100644 --- a/manpages/po/de/live-snapshot.1.po +++ b/manpages/po/de/live-snapshot.1.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: live-boot 3.0~a28-1\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"Project-Id-Version: live-boot 3.0~a31-1\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: 2012-04-08 22:48+0300\n" "Last-Translator: Daniel Baumann \n" "Language-Team: none\n" @@ -30,7 +30,7 @@ msgstr "05.06.2012" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a30-1" +msgid "3.0~a31-1" msgstr "" #. type: TH diff --git a/manpages/po/es/live-boot.7.po b/manpages/po/es/live-boot.7.po index b96ee1a..018f31f 100644 --- a/manpages/po/es/live-boot.7.po +++ b/manpages/po/es/live-boot.7.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: live-boot 3.0~a28-1\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"Project-Id-Version: live-boot 3.0~a31-1\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: 2012-05-13 18:30+0100\n" "Last-Translator: Carlos Zuferri «chals» \n" "Language-Team: none\n" @@ -29,9 +29,9 @@ msgstr "05.06.2012" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 -#, fuzzy, no-wrap -msgid "3.0~a30-1" -msgstr "3.0~a28-1" +#, no-wrap +msgid "3.0~a31-1" +msgstr "3.0~a31-1" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 @@ -180,12 +180,6 @@ msgstr "B=I" #. type: Plain text #: en/live-boot.7:33 -#, fuzzy -#| 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, " -#| "v2=moderate visual impairment, v3=blindness, m1=minor motor difficulties, " -#| "m2=moderate motor difficulties." 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, " @@ -269,10 +263,6 @@ msgstr "" #. type: Plain text #: en/live-boot.7:52 -#, fuzzy -#| msgid "" -#| "Due to current limitations in busyboxs wget and DNS resolution, an URL " -#| "can not contain a hostname but an IP only." msgid "" "Due to current limitations in busybox's wget and DNS resolution, an URL can " "not contain a hostname but an IP only." @@ -398,10 +388,9 @@ msgstr "" #. type: IP #: en/live-boot.7:75 -#, fuzzy, no-wrap -#| msgid "B" +#, no-wrap msgid "B" -msgstr "B" +msgstr "B" #. type: Plain text #: en/live-boot.7:77 @@ -699,19 +688,6 @@ msgstr "B" #. type: Plain text #: en/live-boot.7:113 -#, fuzzy -#| 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" -#| "(5)); snapshots are labeled/named either \"live-sn\" or \"home-sn\" and " -#| "will be extracted into / or /home, respectively (see I(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\"." 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/" @@ -999,7 +975,6 @@ msgstr "B" #. type: Plain text #: en/live-boot.7:145 en/live-snapshot.1:45 -#, fuzzy msgid "" "Some variables can be configured via this config file (inside the live " "system)." @@ -1009,7 +984,7 @@ msgstr "" "configuración (dentro del sistema en vivo).\n" "#-#-#-#-# live-boot.7.po (live-boot) #-#-#-#-#\n" "Algunas variables pueden ser configuradas a través de este fichero de " -"configuración (en el interior del sistema en vivo)." +"configuración (dentro del sistema en vivo)." #. type: IP #: en/live-boot.7:145 en/live-snapshot.1:45 @@ -1019,7 +994,6 @@ msgstr "B" #. type: Plain text #: en/live-boot.7:147 en/live-snapshot.1:47 -#, fuzzy 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 \"/" @@ -1031,24 +1005,24 @@ msgid "" "are loaded in alphanumeric order." msgstr "" "#-#-#-#-# live-snapshot.1.po (live-snapshot) #-#-#-#-#\n" -"Este fichero opcional (en el interior 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.\n" +"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.\n" "#-#-#-#-# live-boot.7.po (live-boot) #-#-#-#-#\n" -"Este fichero opcional (en el interior 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 " +"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: IP @@ -1159,7 +1133,6 @@ msgstr "PÁGINA WEB" #. type: Plain text #: en/live-boot.7:173 en/live-persistence.conf.5:204 en/live-snapshot.1:65 -#, fuzzy msgid "" "More information about live-boot and the Debian Live project can be found on " "the homepage at EIE and in the manual at " @@ -1171,8 +1144,8 @@ msgstr "" "EIE.\n" "#-#-#-#-# live-boot.7.po (live-boot) #-#-#-#-#\n" "Se puede encontrar más información acerca de live-boot y el proyecto Debian " -"Live en la página web EIE y en el manual " -"en EIE.\n" +"Live en la página web EIE y en el manual en " +"EIE.\n" "#-#-#-#-# live-persistence.conf.5.po (live-persistence.conf) #-#-#-#-#\n" "Se puede encontrar más información acerca de live-boot y el proyecto Debian " "Live en la página web EIE y en el manual en " diff --git a/manpages/po/es/live-persistence.conf.5.po b/manpages/po/es/live-persistence.conf.5.po index 1f80837..e554e72 100644 --- a/manpages/po/es/live-persistence.conf.5.po +++ b/manpages/po/es/live-persistence.conf.5.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: live-boot 3.0~a28-1\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"Project-Id-Version: live-boot 3.0~a31-1\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: \n" "Last-Translator: Carlos Zuferri «chals» \n" "Language-Team: none\n" @@ -28,9 +28,9 @@ msgstr "05.06.2012" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 -#, fuzzy, no-wrap -msgid "3.0~a30-1" -msgstr "3.0~a28-1" +#, no-wrap +msgid "3.0~a31-1" +msgstr "3.0~a31-1" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 @@ -85,7 +85,6 @@ msgstr "PÁGINA WEB" #. type: Plain text #: en/live-boot.7:173 en/live-persistence.conf.5:204 en/live-snapshot.1:65 -#, fuzzy msgid "" "More information about live-boot and the Debian Live project can be found on " "the homepage at EIE and in the manual at " @@ -97,8 +96,8 @@ msgstr "" "EIE.\n" "#-#-#-#-# live-boot.7.po (live-boot) #-#-#-#-#\n" "Se puede encontrar más información acerca de live-boot y el proyecto Debian " -"Live en la página web EIE y en el manual " -"en EIE.\n" +"Live en la página web EIE y en el manual en " +"EIE.\n" "#-#-#-#-# live-persistence.conf.5.po (live-persistence.conf) #-#-#-#-#\n" "Se puede encontrar más información acerca de live-boot y el proyecto Debian " "Live en la página web EIE y en el manual en " @@ -156,11 +155,6 @@ msgstr "" #. type: Plain text #: en/live-persistence.conf.5:17 -#, fuzzy -#| msgid "" -#| "The format of B allow empty lines and lines " -#| "starting with a \"#\" (used for comments), both which will be ignored. A " -#| "so called \"custom mount\" has the format:" msgid "" "The format of B allows empty lines and lines starting " "with a \"#\" (used for comments), both which will be ignored. A so called " @@ -273,16 +267,6 @@ msgstr "B=I" #. type: Plain text #: en/live-persistence.conf.5:69 -#, fuzzy -#| msgid "" -#| "When given, store the persistence changes into I on the persistence " -#| "media. I must be a relative path (w.r.t. 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 type of persistence)." msgid "" "When given, store the persistence changes into I on the persistence " "media. I must be a relative path (with respect to the persistence " @@ -602,7 +586,7 @@ msgstr "/home/user2/.bashrc -E I/config-files/user2/.bashrc (de b)" #: en/live-persistence.conf.5:168 #, no-wrap msgid "Dir:" -msgstr "Directorios:" +msgstr "Directorio:" #. type: Plain text #: en/live-persistence.conf.5:171 @@ -659,10 +643,6 @@ msgstr "I(7)" #. type: Plain text #: en/live-persistence.conf.5:213 -#, fuzzy -#| msgid "" -#| "live.persist was written by anonym EIE for " -#| "the Debian project." msgid "" "live-persistence.conf was written by anonym EIE " "for the Debian project." diff --git a/manpages/po/es/live-snapshot.1.po b/manpages/po/es/live-snapshot.1.po index 8c64719..c35ada9 100644 --- a/manpages/po/es/live-snapshot.1.po +++ b/manpages/po/es/live-snapshot.1.po @@ -4,8 +4,8 @@ # msgid "" msgstr "" -"Project-Id-Version: live-boot 3.0~a28-1\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"Project-Id-Version: live-boot 3.0~a31-1\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: 2012-05-13 18:37+0100\n" "Last-Translator: Carlos Zuferri «chals» \n" "Language-Team: none\n" @@ -28,9 +28,9 @@ msgstr "05.06.2012" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 -#, fuzzy, no-wrap -msgid "3.0~a30-1" -msgstr "3.0~a28-1" +#, no-wrap +msgid "3.0~a31-1" +msgstr "3.0~a31-1" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 @@ -64,7 +64,6 @@ msgstr "B" #. type: Plain text #: en/live-boot.7:145 en/live-snapshot.1:45 -#, fuzzy msgid "" "Some variables can be configured via this config file (inside the live " "system)." @@ -74,7 +73,7 @@ msgstr "" "configuración (dentro del sistema en vivo).\n" "#-#-#-#-# live-boot.7.po (live-boot) #-#-#-#-#\n" "Algunas variables pueden ser configuradas a través de este fichero de " -"configuración (en el interior del sistema en vivo)." +"configuración (dentro del sistema en vivo)." #. type: IP #: en/live-boot.7:145 en/live-snapshot.1:45 @@ -84,7 +83,6 @@ msgstr "B" #. type: Plain text #: en/live-boot.7:147 en/live-snapshot.1:47 -#, fuzzy 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 \"/" @@ -96,24 +94,24 @@ msgid "" "are loaded in alphanumeric order." msgstr "" "#-#-#-#-# live-snapshot.1.po (live-snapshot) #-#-#-#-#\n" -"Este fichero opcional (en el interior 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.\n" +"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.\n" "#-#-#-#-# live-boot.7.po (live-boot) #-#-#-#-#\n" -"Este fichero opcional (en el interior 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 " +"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: IP @@ -171,7 +169,6 @@ msgstr "PÁGINA WEB" #. type: Plain text #: en/live-boot.7:173 en/live-persistence.conf.5:204 en/live-snapshot.1:65 -#, fuzzy msgid "" "More information about live-boot and the Debian Live project can be found on " "the homepage at EIE and in the manual at " @@ -183,8 +180,8 @@ msgstr "" "EIE.\n" "#-#-#-#-# live-boot.7.po (live-boot) #-#-#-#-#\n" "Se puede encontrar más información acerca de live-boot y el proyecto Debian " -"Live en la página web EIE y en el manual " -"en EIE.\n" +"Live en la página web EIE y en el manual en " +"EIE.\n" "#-#-#-#-# live-persistence.conf.5.po (live-persistence.conf) #-#-#-#-#\n" "Se puede encontrar más información acerca de live-boot y el proyecto Debian " "Live en la página web EIE y en el manual en " @@ -305,14 +302,6 @@ msgstr "-d, --device I" #. type: Plain text #: en/live-snapshot.1:25 -#, fuzzy -#| 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." msgid "" "sets the device where the media with the snapshot/persistence file/partition " "will be put. If it is not specified, a tmpfs will be used and linked to the " @@ -439,12 +428,6 @@ msgstr "muestra información de la versión y sale." #. type: Plain text #: en/live-snapshot.1:49 -#, fuzzy -#| 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." 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: i.e. " diff --git a/manpages/pot/live-boot.7.pot b/manpages/pot/live-boot.7.pot index 0c655f9..29be366 100644 --- a/manpages/pot/live-boot.7.pot +++ b/manpages/pot/live-boot.7.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: live-boot VERSION\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,7 +31,7 @@ msgstr "" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a30-1" +msgid "3.0~a31-1" msgstr "" #. type: TH diff --git a/manpages/pot/live-persistence.conf.5.pot b/manpages/pot/live-persistence.conf.5.pot index dd3d63a..a1a0291 100644 --- a/manpages/pot/live-persistence.conf.5.pot +++ b/manpages/pot/live-persistence.conf.5.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: live-boot VERSION\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,7 +31,7 @@ msgstr "" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a30-1" +msgid "3.0~a31-1" msgstr "" #. type: TH diff --git a/manpages/pot/live-snapshot.1.pot b/manpages/pot/live-snapshot.1.pot index 35dbcce..8e97c87 100644 --- a/manpages/pot/live-snapshot.1.pot +++ b/manpages/pot/live-snapshot.1.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: live-boot VERSION\n" -"POT-Creation-Date: 2012-06-05 19:38+0300\n" +"POT-Creation-Date: 2012-06-05 21:45+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -31,7 +31,7 @@ msgstr "" #. type: TH #: en/live-boot.7:1 en/live-persistence.conf.5:1 en/live-snapshot.1:1 #, no-wrap -msgid "3.0~a30-1" +msgid "3.0~a31-1" msgstr "" #. type: TH diff --git a/scripts/boot.sh b/scripts/boot.sh index 736e587..2809f42 100755 --- a/scripts/boot.sh +++ b/scripts/boot.sh @@ -68,590 +68,3 @@ 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 -} - -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 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 - - 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 -} - -mountroot () -{ - 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 - - case "${LIVE_DEBUG}" in - true) - set -x - ;; - esac - - case "${LIVE_READ_ONLY}" in - true) - Read_only - ;; - esac - - Select_eth_device - - # 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 - - case "${LIVE_VERIFY_CHECKSUMS}" in - true) - Verify_checksums "${livefs_root}" - ;; - esac - - 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}"/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 /root/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 - - if ! [ -d "/root/usr/share/live-boot" ] - then - panic "A wrong rootfs was mounted." - fi - - persistence_exclude - fstab - Netbase - - case "${LIVE_SWAPON}" in - true) - Swapon - ;; - esac - - if [ "${UNIONFS}" = unionfs-fuse ] - then - umount "${rootmnt}/dev" - fi - - exec 1>&6 6>&- - exec 2>&7 7>&- - kill ${tailpid} - [ -w "${rootmnt}/var/log/" ] && mkdir -p /var/log/live && cp boot.log "${rootmnt}/var/log/live" 2>/dev/null -} diff --git a/scripts/boot/cmdline.sh b/scripts/boot/cmdline.sh index fbfd3d6..296d1f7 100755 --- a/scripts/boot/cmdline.sh +++ b/scripts/boot/cmdline.sh @@ -50,38 +50,38 @@ Cmdline () ;; ethdevice=*) - DEVICE="${ARGUMENT#ethdevice=}" + DEVICE="${_PARAMETER#ethdevice=}" ETHDEVICE="${DEVICE}" export DEVICE ETHDEVICE ;; ethdevice-timeout=*) - ETHDEV_TIMEOUT="${ARGUMENT#ethdevice-timeout=}" + ETHDEV_TIMEOUT="${_PARAMETER#ethdevice-timeout=}" export ETHDEV_TIMEOUT ;; fetch=*) - FETCH="${ARGUMENT#fetch=}" + FETCH="${_PARAMETER#fetch=}" export FETCH ;; findiso=*) - FINDISO="${ARGUMENT#findiso=}" + FINDISO="${_PARAMETER#findiso=}" export FINDISO ;; ftpfs=*) - FTPFS="${ARGUMENT#ftpfs=}" + FTPFS="${_PARAMETER#ftpfs=}" export FTPFS ;; httpfs=*) - HTTPFS="${ARGUMENT#httpfs=}" + HTTPFS="${_PARAMETER#httpfs=}" export HTTPFS ;; iscsi=*) - ISCSI="${ARGUMENT#iscsi=}" + ISCSI="${_PARAMETER#iscsi=}" #ip:port - separated by ; ISCSI_PORTAL="${ISCSI%;*}" if echo "${ISCSI_PORTAL}" | grep -q , ; then @@ -94,7 +94,7 @@ Cmdline () ;; isofrom=*|fromiso=*) - FROMISO="${ARGUMENT#*=}" + FROMISO="${_PARAMETER#*=}" export FROMISO ;; @@ -104,7 +104,7 @@ Cmdline () ;; ip=*) - STATICIP="${ARGUMENT#ip=}" + STATICIP="${_PARAMETER#ip=}" if [ -z "${STATICIP}" ] then @@ -115,47 +115,47 @@ Cmdline () ;; live-media=*|bootfrom=*) - LIVE_MEDIA="${ARGUMENT#*=}" + LIVE_MEDIA="${_PARAMETER#*=}" export LIVE_MEDIA ;; live-media-encryption=*|encryption=*) - LIVE_MEDIA_ENCRYPTION="${ARGUMENT#*=}" + LIVE_MEDIA_ENCRYPTION="${_PARAMETER#*=}" export LIVE_MEDIA_ENCRYPTION ;; live-media-offset=*) - LIVE_MEDIA_OFFSET="${ARGUMENT#live-media-offset=}" + LIVE_MEDIA_OFFSET="${_PARAMETER#live-media-offset=}" export LIVE_MEDIA_OFFSET ;; live-media-path=*) - LIVE_MEDIA_PATH="${ARGUMENT#live-media-path=}" + LIVE_MEDIA_PATH="${_PARAMETER#live-media-path=}" export LIVE_MEDIA_PATH ;; live-media-timeout=*) - LIVE_MEDIA_TIMEOUT="${ARGUMENT#live-media-timeout=}" + LIVE_MEDIA_TIMEOUT="${_PARAMETER#live-media-timeout=}" export LIVE_MEDIA_TIMEOUT ;; module=*) - MODULE="${ARGUMENT#module=}" + MODULE="${_PARAMETER#module=}" export MODULE ;; netboot=*) - NETBOOT="${ARGUMENT#netboot=}" + NETBOOT="${_PARAMETER#netboot=}" export NETBOOT ;; nfsopts=*) - NFSOPTS="${ARGUMENT#nfsopts=}" + NFSOPTS="${_PARAMETER#nfsopts=}" export NFSOPTS ;; nfsoverlay=*) - NFS_COW="${ARGUMENT#nfsoverlay=}" + NFS_COW="${_PARAMETER#nfsoverlay=}" export NFS_COW ;; @@ -170,7 +170,7 @@ Cmdline () ;; ramdisk-size=*) - ramdisk_size="${ARGUMENT#ramdisk-size=}" + ramdisk_size="${_PARAMETER#ramdisk-size=}" ;; persistence) @@ -179,21 +179,21 @@ Cmdline () ;; persistence-encryption=*) - PERSISTENCE_ENCRYPTION="${ARGUMENT#*=}" + PERSISTENCE_ENCRYPTION="${_PARAMETER#*=}" export PERSISTENCE_ENCRYPTION ;; persistence-media=*) - PERSISTENCE_MEDIA="${ARGUMENT#*=}" + PERSISTENCE_MEDIA="${_PARAMETER#*=}" export PERSISTENCE_MEDIA ;; persistence-method=*) - PERSISTENCE_METHOD="${ARGUMENT#*=}" + PERSISTENCE_METHOD="${_PARAMETER#*=}" export PERSISTENCE_METHOD ;; persistence-path=*) - PERSISTENCE_PATH="${ARGUMENT#persistence-path=}" + PERSISTENCE_PATH="${_PARAMETER#persistence-path=}" export PERSISTENCE_PATH ;; persistence-read-only) @@ -202,17 +202,17 @@ Cmdline () ;; persistence-storage=*) - PERSISTENCE_STORAGE="${ARGUMENT#persistence-storage=}" + PERSISTENCE_STORAGE="${_PARAMETER#persistence-storage=}" export PERSISTENCE_STORAGE ;; 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=}" + old_root_overlay_label="${old_root_overlay_label}-${_PARAMETER#persistence-subtext=}" + old_home_overlay_label="${old_home_overlay_label}-${_PARAMETER#persistence-subtext=}" + custom_overlay_label="${custom_overlay_label}-${_PARAMETER#persistence-subtext=}" + root_snapshot_label="${root_snapshot_label}-${_PARAMETER#persistence-subtext=}" + old_root_snapshot_label="${root_snapshot_label}-${_PARAMETER#persistence-subtext=}" + home_snapshot_label="${home_snapshot_label}-${_PARAMETER#persistence-subtext=}" ;; nopersistence) @@ -226,7 +226,7 @@ Cmdline () ;; noprompt=*) - NOPROMPT="${ARGUMENT#noprompt=}" + NOPROMPT="${_PARAMETER#noprompt=}" export NOPROMPT ;; @@ -246,7 +246,7 @@ Cmdline () ;; todisk=*) - TODISK="${ARGUMENT#todisk=}" + TODISK="${_PARAMETER#todisk=}" export TODISK ;; @@ -257,7 +257,7 @@ Cmdline () toram=*) TORAM="true" - MODULETORAM="${ARGUMENT#toram=}" + MODULETORAM="${_PARAMETER#toram=}" export TORAM MODULETORAM ;; @@ -277,12 +277,12 @@ Cmdline () ;; root=*) - ROOT="${ARGUMENT#root=}" + ROOT="${_PARAMETER#root=}" export ROOT ;; union=*) - UNIONTYPE="${ARGUMENT#union=}" + UNIONTYPE="${_PARAMETER#union=}" export UNIONTYPE ;; esac diff --git a/scripts/boot/misc-helpers.sh b/scripts/boot/misc-helpers.sh index 856a023..8970327 100755 --- a/scripts/boot/misc-helpers.sh +++ b/scripts/boot/misc-helpers.sh @@ -2,6 +2,366 @@ #set -e +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 +} + +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 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 + + 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 +} + really_export () { STRING="${1}" diff --git a/scripts/boot/mountroot.sh b/scripts/boot/mountroot.sh new file mode 100755 index 0000000..bad0a78 --- /dev/null +++ b/scripts/boot/mountroot.sh @@ -0,0 +1,230 @@ +#!/bin/sh + +# set -e + +mountroot () +{ + 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 + + case "${LIVE_DEBUG}" in + true) + set -x + ;; + esac + + case "${LIVE_READ_ONLY}" in + true) + Read_only + ;; + esac + + Select_eth_device + + # 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 + + case "${LIVE_VERIFY_CHECKSUMS}" in + true) + Verify_checksums "${livefs_root}" + ;; + esac + + 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}"/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 /root/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 + + if ! [ -d "/lib/live/boot" ] + then + panic "A wrong rootfs was mounted." + fi + + persistence_exclude + fstab + Netbase + + case "${LIVE_SWAPON}" in + true) + Swapon + ;; + esac + + if [ "${UNIONFS}" = unionfs-fuse ] + then + umount "${rootmnt}/dev" + fi + + exec 1>&6 6>&- + exec 2>&7 7>&- + kill ${tailpid} + [ -w "${rootmnt}/var/log/" ] && mkdir -p /var/log/live && cp boot.log "${rootmnt}/var/log/live" 2>/dev/null +} -- 2.1.4