LANGUAGES = $(shell cd manpages/po && ls)
-SCRIPTS = backends/*/* bin/* scripts/*.sh scripts/*/*-*
+SCRIPTS = backend/*/* frontend/* components/*
all: build
@echo "Nothing to build."
install:
- # Installing scripts
+ # Installing components
mkdir -p $(DESTDIR)/lib/live
- cp -r scripts/boot.sh scripts/boot $(DESTDIR)/lib/live
+ cp components/* $(DESTDIR)/lib/live
# Installing executables
mkdir -p $(DESTDIR)/usr/share/initramfs-tools/hooks
- cp backends/initramfs-tools/live.hook $(DESTDIR)/usr/share/initramfs-tools/hooks/live
+ cp backend/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
+ cp backend/initramfs-tools/live.script $(DESTDIR)/usr/share/initramfs-tools/scripts/live
+
+ mkdir -p $(DESTDIR)/bin
+ cp frontend/* $(DESTDIR)/bin
# Installing docs
mkdir -p $(DESTDIR)/usr/share/doc/live-boot
uninstall:
# Uninstalling executables
- rm -f $(DESTDIR)/sbin/live-swapfile
- rmdir --ignore-fail-on-non-empty $(DESTDIR)/sbin > /dev/null 2>&1 || true
+ rm -f $(DESTDIR)/bin/live-boot
+ rm -f $(DESTDIR)/bin/live-swapfile
+ rmdir --ignore-fail-on-non-empty $(DESTDIR)/bin > /dev/null 2>&1 || true
rm -f $(DESTDIR)/usr/share/initramfs-tools/hooks/live
rm -f $(DESTDIR)/usr/share/initramfs-tools/scripts/live
#set -e
-. /lib/live/boot.sh
+. /bin/live-boot
DRACUT_FIXME ()
{
done
# Checking live-boot
-if [ ! -e /lib/live/boot ]
+if [ ! -e /bin/live-boot ]
then
echo
echo "W: live-boot-initramfs-tools (backend) installed without live-boot,"
[ "${QUIET}" ] || echo -n " core"
+mkdir -p "${DESTDIR}/bin"
+cp -a /bin/live-boot /lib/live/boot "${DESTDIR}/bin"
+
mkdir -p "${DESTDIR}/lib/live"
-cp -a /lib/live/boot.sh /lib/live/boot "${DESTDIR}/lib/live"
+cp -a /lib/live/boot "${DESTDIR}/lib/live"
# klibc dependencies
for FILE in /lib/libacl* /lib/libblkid* /lib/libuuid* /lib/libdevmapper* /lib/libattr*
do
- if [ ! -e "${DESTDIR}"/"${FILE}" ] && ls ${FILE} > /dev/null 2>&1
+ if [ ! -e "${DESTDIR}/${FILE}" ] && ls "${FILE}" > /dev/null 2>&1
then
- cp -a "${FILE}" "${DESTDIR}"/"${FILE}"
+ cp -a "${FILE}" "${DESTDIR}/${FILE}"
fi
done
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
+ mkdir -p "${DESTDIR}/lib/udev/rules.d"
+ cp -p /lib/udev/rules.d/60-cdrom_id.rules "${DESTDIR}/lib/udev/rules.d"
fi
[ "${QUIET}" ] || echo -n " filesystems"
then
copy_exec /bin/loadkeys
- mkdir -p "${DESTDIR}"/etc
- cp /etc/console/boottime.kmap.gz "${DESTDIR}"/etc
+ mkdir -p "${DESTDIR}/etc"
+ cp /etc/console/boottime.kmap.gz "${DESTDIR}/etc"
fi
# Configuration: Unique ID
if [ -n "${LIVE_GENERATE_UUID}" ]
then
- mkdir -p "${DESTDIR}"/conf
- uuidgen -r > "${DESTDIR}"/conf/uuid.conf
+ mkdir -p "${DESTDIR}/conf"
+ uuidgen -r > "${DESTDIR}/conf/uuid.conf"
fi
# Filesystem: btrfs
#set -e
-. /lib/live/boot.sh
+. /bin/live-boot
. /scripts/functions
Debug ()
{
- for _PARAMETER in ${_CMDLINE}
+ for _PARAMETER in ${LIVE_BOOT_CMDLINE}
do
case "${_PARAMETER}" in
live-boot.debug|debug)
- LIVE_DEBUG="true"
+ LIVE_BOOT_DEBUG="true"
;;
esac
done
- case "${LIVE_DEBUG}" in
+ case "${LIVE_BOOT_DEBUG}" in
true)
;;
Read_only ()
{
- for _PARAMETER in ${_CMDLINE}
+ for _PARAMETER in ${LIVE_BOOT_CMDLINE}
do
case "${_PARAMETER}" in
live-boot.read-only=*|read-only=*)
Verify_checksums ()
{
- for _PARAMETER in ${_CMDLINE}
+ for _PARAMETER in ${LIVE_BOOT_CMDLINE}
do
case "${_PARAMETER}" in
live-boot.verify-checksums=*|verify-checksums=*)
# Unmount live-media
cd /
- umount -f ${_MOUNTPOINT} > /dev/null 2>&1
+ umount -f "${_MOUNTPOINT}" > /dev/null 2>&1
sync
# Attempt to remount all mounted filesystems read-only
Swap ()
{
- for _PARAMETER in ${_CMDLINE}
+ for _PARAMETER in ${LIVE_BOOT_CMDLINE}
do
case "${_PARAMETER}" in
live-boot.swap=*|swap=*)
--- /dev/null
+#!/bin/sh
+
+PATH="/root/usr/bin:/root/usr/sbin:/root/bin:/root/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
+export PATH
+
+echo "/root/lib" >> /etc/ld.so.conf
+echo "/root/usr/lib" >> /etc/ld.so.conf
+
+mountpoint="/live/medium"
+alt_mountpoint="/media"
+LIVE_MEDIA_PATH="live"
+
+HOSTNAME="host"
+
+mkdir -p "${mountpoint}"
+mkdir -p /var/lib/live/boot
+
+# Create /etc/mtab for debug purpose and future syncs
+mkdir -p /etc
+touch /etc/mtab
+
+if [ ! -x "/bin/fstype" ]
+then
+ # klibc not in path -> not in initramfs
+ PATH="${PATH}:/usr/lib/klibc/bin"
+ export PATH
+fi
+
+custom_overlay_label="persistence"
+persistence_list="persistence.conf"
Cmdline_old ()
{
- for _PARAMETER in ${_CMDLINE}
+ for _PARAMETER in ${LIVE_BOOT_CMDLINE}
do
case "${_PARAMETER}" in
skipconfig)
tail -f boot.log >&7 &
tailpid="${!}"
- . /live.vars
-
- _CMDLINE="$(cat /proc/cmdline)"
+ LIVE_BOOT_CMDLINE="${LIVE_BOOT_CMDLINE:-$(cat /proc/cmdline)}"
Cmdline_old
Debug
#set -e
-file_pattern_matches()
-{
- [ -e "$1" ]
-}
-
is_live_path()
{
DIRECTORY="${1}/${LIVE_MEDIA_PATH}"
for FILESYSTEM in squashfs ext2 ext3 ext4 xfs dir jffs
do
- if file_pattern_matches "${DIRECTORY}/"*.${FILESYSTEM}
+ if ls "${DIRECTORY}/"*.${FILESYSTEM} > /dev/null 2>&1
then
return 0
fi
{
sysfs_path="${1#/sys}"
- if /sbin/udevadm test-builtin path_id "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci)"
+ if udevadm test-builtin 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]$'
if is_supported_fs ${fstype}
then
devuid=$(blkid -o value -s UUID "$devname")
- [ -n "$devuid" ] && grep -qs "\<$devuid\>" $tried && continue
+ [ -n "$devuid" ] && grep -qs "\<$devuid\>" /var/lib/live/boot/devices-already-tried-to-mount && continue
mount -t ${fstype} -o ro,noatime "${devname}" ${mountpoint} || continue
- [ -n "$devuid" ] && echo "$devuid" >> $tried
+ [ -n "$devuid" ] && echo "$devuid" >> /var/lib/live/boot/devices-already-tried-to-mount
if [ -n "${FINDISO}" ]
then
return 1
}
-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}"
-}
-
is_in_list_separator_helper ()
{
local sep element list
sys2dev ()
{
sysdev=${1#/sys}
- echo "/dev/$($udevinfo -q name -p ${sysdev} 2>/dev/null|| echo ${sysdev##*/})"
+ echo "/dev/$(udevadm info -q name -p ${sysdev} 2>/dev/null|| echo ${sysdev##*/})"
}
subdevices ()
}
# Try to mount $device to the place expected by live-boot. If $device
-# is already mounted somewhere, move it to the expected place. If
-# we're only probing $device (to check if it has custom persistence)
+# is already mounted somewhere, move it to the expected place. If $device
+# ends with a "/" this is a directory path.
+# If we're only probing $device (to check if it has custom persistence)
# $probe should be set, which suppresses warnings upon failure. On
# success, print the mount point for $device.
mount_persistence_media ()
device=${1}
probe=${2}
+ # get_custom_mounts() might call this with a directory path instead
+ # of a block device path. This means we have found sub-directory path
+ # underneath /lib/live/mounts/persistence, so we're done
+ if [ -d "${device}" ]
+ then
+ echo "${device}"
+ return 0
+ fi
+
+ if [ ! -b "${device}" ]
+ then
+ return 1
+ fi
+
backing="/live/persistence/$(basename ${device})"
mkdir -p "${backing}"
fi
elif [ "${backing}" != "${old_backing}" ]
then
- if mount --move ${old_backing} ${backing} >/dev/null
+ if ! mount --move ${old_backing} ${backing} >/dev/null
then
- echo ${backing}
- return 0
- else
[ -z "${probe}" ] && log_warning_msg "Failed to move persistence media ${device}"
rmdir "${backing}"
return 1
fi
+ mount_opts="rw,noatime"
+ if [ -n "${PERSISTENCE_READONLY}" ]
+ then
+ mount_opts="ro,noatime"
+ fi
+ if ! mount -o "remount,${mount_opts}" "${backing}" >/dev/null
+ then
+ log_warning_msg "Failed to remount persistence media ${device} writable"
+ # Don't unmount or rmdir the new mountpoint in this case
+ fi
+ echo ${backing}
+ return 0
else
# This means that $device has already been mounted on
# the place expected by live-boot, so we're done.
for label in ${overlays}
do
- path=${backing}/${PERSISTENCE_PATH}${label}
+ path=${backing}/${PERSISTENCE_PATH}/${label}
if [ -f "${path}" ]
then
local loopdev
fi
}
+probe_for_directory_name ()
+{
+ local overlays dev ret backing
+ overlays="${1}"
+ dev="${2}"
+
+ ret=""
+ backing="$(mount_persistence_media ${dev} probe)"
+ if [ -z "${backing}" ]
+ then
+ return
+ fi
+
+ for label in ${overlays}
+ do
+ path=${backing}/${PERSISTENCE_PATH}/${label}
+ if [ -d "${path}" ]
+ then
+ # in this case the "device" ends with a "/"
+ ret="${ret} ${label}=${backing}/${PERSISTENCE_PATH}/${label%%/}/"
+ fi
+ 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 returns a whitespace
white_listed_devices="${2}"
ret=""
- black_listed_devices="$(what_is_mounted_on /live/medium) $(what_is_mounted_on /live/findiso) $(what_is_mounted_on /live/fromiso)"
+ #
+ # The devices that are hosting the actual live rootfs should not be
+ # used for persistence storage since otherwise you might mount a
+ # parent directory on top of a sub-directory of the same filesystem
+ # in one union together.
+ #
+ black_listed_devices=""
+ for d in /live/rootfs/* /live/findiso /live/fromiso
+ do
+ black_listed_devices="${black_listed_devices} $(what_is_mounted_on d)"
+ done
for dev in $(storage_devices "${black_listed_devices}" "${white_listed_devices}")
do
fi
fi
+ # Probe for directory with matching name on mounted partition
+ if is_in_comma_sep_list directory ${PERSISTENCE_STORAGE}
+ then
+ result=$(probe_for_directory_name "${overlays}" ${dev})
+ if [ -n "${result}" ]
+ then
+ ret="${ret} ${result}"
+ continue
+ fi
+ fi
+
# Close luks device if it isn't used
if [ -z "${result}" ] && [ -n "${luks_device}" ] && is_active_luks_mapping "${luks_device}"
then
for device in ${devices}
do
- if [ ! -b "${device}" ]
- then
- continue
- fi
-
local device_name backing include_list
device_name="$(basename ${device})"
backing=$(mount_persistence_media ${device})
if [ -r "${backing}/${persistence_list}" ]
then
include_list="${backing}/${persistence_list}"
- elif [ -r "${backing}/${old_persistence_list}" ]
- then
- include_list="${backing}/${old_persistence_list}"
else
continue
fi
- if [ -n "${DEBUG}" ] && [ -e "${include_list}" ]
+ if [ -n "${LIVE_BOOT_DEBUG}" ] && [ -e "${include_list}" ]
then
cp ${include_list} /live/persistence/${persistence_list}.${device_name}
fi
modprobe iscsi_tcp
local debugopt
debugopt=""
- [ "${DEBUG}" = "true" ] && debugopt="-d 8"
+ [ "${LIVE_BOOT_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
# 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
+ rc_search=$(cat netboot.config | awk '/domain/ { print $3 }')
+ rc_server0="$(cat netboot.config | awk '/dns0/ { print $5 }')"
cat > /root/etc/resolv.conf << EOF
-# /etc/resolv.conf
-# Autogenerated by live-boot
search ${rc_search}
domain ${rc_search}
-${rc_server0}
-${rc_server1}
+nameserver ${rc_server0}
EOF
+ rc_server1=$(cat netboot.config | awk '/dns0/ { print $8 }')
+
+ if [ "${rc_server1}" ! = "0.0.0.0" ]
+ then
+ echo "nameserver ${rc_server1}" >> /root/etc/resolv.conf
+ fi
+
cat /root/etc/resolv.conf >> /root/var/log/netboot.config
fi
fi
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.
+ # 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
- for device in /sys/class/net/*
- do
- if [ -f "$device/address" ]
- then
- current_mac=$(cat "$device/address")
+ # look for devices with matching mac address, and set DEVICE to
+ # appropriate value if match is found.
- if [ "$bootif_mac" = "$current_mac" ]
+ for device in /sys/class/net/*
+ do
+ if [ -f "$device/address" ]
then
- DEVICE=${device##*/}
- break
+ current_mac=$(cat "$device/address")
+
+ if [ "$bootif_mac" = "$current_mac" ]
+ then
+ DEVICE=${device##*/}
+ break
+ fi
fi
- fi
- done
+ done
fi
-
}
do_netsetup ()
# Gather information about custom mounts from devies detected as overlays
get_custom_mounts ${custom_mounts} ${overlay_devices}
- [ -n "${DEBUG}" ] && cp ${custom_mounts} "/lib/live/mount/persistence"
+ [ -n "${LIVE_BOOT_DEBUG}" ] && cp ${custom_mounts} "/lib/live/mount/persistence"
# Now we do the actual mounting (and symlinking)
local used_overlays
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}
+ for ARGUMENT in ${LIVE_BOOT_CMDLINE}
do
case "${ARGUMENT}" in
netboot=*)
fi
# If user force to use specific device, write it
- for ARGUMENT in ${_CMDLINE}
+ for ARGUMENT in ${LIVE_BOOT_CMDLINE}
do
case "${ARGUMENT}" in
live-netdev=*)
if [ -z "${MODULETORAM}" ]
then
- size=$(fs_size "" ${copyfrom}/${LIVE_MEDIA_PATH} "used")
+ size=$(fs_size "" ${copyfrom}/ "used")
else
MODULETORAMFILE="${copyfrom}/${LIVE_MEDIA_PATH}/${MODULETORAM}"
fi
done
-for _SCRIPT in /lib/live/boot/????-*
+for _COMONENT in /lib/live/boot/????-*
do
- if [ -e "${_SCRIPT}" ]
+ if [ -e "${_COMONENT}" ]
then
- . ${_SCRIPT}
+ . ${_COMONENT}
fi
done
#!/bin/sh
-## live-boot(7) - System Boot Scripts
+## live-boot(7) - System Boot Components
## Copyright (C) 2006-2013 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH LIVE\-BOOT 7 2013\-05\-27 4.0~a13\-1 "Live Systems Project"
+.TH LIVE\-BOOT 7 13.09.2013 4.0~a14\-1 "Live Systems Project"
.SH NAME
-\fBlive\-boot\fP \- System Boot Scripts
+\fBlive\-boot\fP \- System Boot Components
.SH DESCRIPTION
-\fBlive\-boot\fP contains the scripts that configure a live system during the
+\fBlive\-boot\fP contains the components that configure a live system during the
boot process (early userspace).
.PP
.\" FIXME
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\fP(5)). Overlay image files have extensions which
-determines their filesystem, e.g. "persistence.ext4".
+(see \fIpersistence.conf\fP(5)). Overlay image files are named "persistence".
.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
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH LIVE\-BOOT conf 2013\-05\-27 4.0~a13\-1 "Live Systems Project"
+.TH LIVE\-BOOT conf 13.09.2013 4.0~a14\-1 "Live Systems Project"
.SH NAME
\fBpersistence.conf\fP \- Configuration file for persistence media in live\-boot
-.TH LIVE\-BOOT 7 2013\-05\-27 4.0~a13-1 "Live Systems Project"
+.TH LIVE\-BOOT 7 2013\-09\-13 4.0~a14-1 "Live Systems Project"
.SH NAME
-\fBlive\-boot\fR \- System Boot Scripts
+\fBlive\-boot\fR \- System Boot Components
.SH DESCRIPTION
-\fBlive\-boot\fR contains the scripts that configure a live system during the boot process (early userspace).
+\fBlive\-boot\fR contains the components that configure a live system during the boot process (early userspace).
.PP
.\" FIXME
live\-boot is a hook for the initramfs\-tools, used to generate a initramfs capable to boot live systems, such as those created by \fIlive\-helper\fR(7). This includes the Live systems ISOs, netboot tarballs, and usb stick images.
.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 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".
+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 are named "persistence".
.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
-.TH LIVE\-BOOT conf 2013\-05\-27 4.0~a13-1 "Live Systems Project"
+.TH LIVE\-BOOT conf 2013\-09\-13 4.0~a14-1 "Live Systems Project"
.SH NAME
\fBpersistence.conf\fR \- Configuration file for persistence media in
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH LIVE\-BOOT 7 2013\-05\-27 4.0~a13\-1 "Proyecto Live Systems"
+.TH LIVE\-BOOT 7 13.09.2013 4.0~a14\-1 "Proyecto Live Systems"
.SH NOMBRE
-\fBlive\-boot\fP \- Scripts de Arranque del Sistema
+\fBlive\-boot\fP \- Componentes de Arranque del Sistema
.SH DESCRIPCIÓN
-\fBlive\-boot\fP contiene los scripts que configuran un sistema en vivo durante
-el proceso de arranque (early userspace).
+\fBlive\-boot\fP contiene los componentes que configuran un sistema en vivo
+durante el proceso de arranque (early userspace).
.PP
.\" FIXME
live\-boot es un hook para initramfs\-tools, usado para generar un initramfs
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".
+\fIpersistence.conf\fP(5)). Los ficheros imagen overlay tienen, como nombre,
+"persistence".
.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
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH LIVE\-BOOT conf 2013\-05\-27 4.0~a13\-1 "Proyecto Live Systems"
+.TH LIVE\-BOOT conf 13.09.2013 4.0~a14\-1 "Proyecto Live Systems"
.SH NOMBRE
\fBpersistence.conf\fP \- Fichero para configurar medios de almacenamiento con
#
msgid ""
msgstr ""
-"Project-Id-Version: live-boot 4.0~a13-1\n"
-"POT-Creation-Date: 2013-05-27 16:45+0300\n"
+"Project-Id-Version: live-boot 4.0~a14-1\n"
+"POT-Creation-Date: 2013-09-13 14:16+0300\n"
"PO-Revision-Date: 2013-04-13 16:48+0100\n"
"Last-Translator: Carlos Zuferri <chals@altorricon.com>\n"
"Language-Team: none\n"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
-msgid "2013-05-27"
-msgstr "27.05.2013"
+#, no-wrap
+msgid "2013-09-13"
+msgstr "13.09.2013"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
-msgid "4.0~a13-1"
-msgstr "4.0~a13-1"
+#, no-wrap
+msgid "4.0~a14-1"
+msgstr "4.0~a14-1"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
#. type: Plain text
#: en/live-boot.7:5
-msgid "B<live-boot> - System Boot Scripts"
+msgid "B<live-boot> - System Boot Components"
msgstr ""
#. type: SH
#. type: Plain text
#: en/live-boot.7:8
msgid ""
-"B<live-boot> contains the scripts that configure a live system during the "
+"B<live-boot> contains the components that configure a live system during the "
"boot process (early userspace)."
msgstr ""
"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\"."
+"\" (see I<persistence.conf>(5)). Overlay image files are named \"persistence"
+"\"."
msgstr ""
#. type: IP
#
msgid ""
msgstr ""
-"Project-Id-Version: live-boot 4.0~a13-1\n"
-"POT-Creation-Date: 2013-05-27 16:45+0300\n"
+"Project-Id-Version: live-boot 4.0~a14-1\n"
+"POT-Creation-Date: 2013-09-13 14:16+0300\n"
"PO-Revision-Date: 2013-04-13 16:48+0100\n"
"Last-Translator: Carlos Zuferri <chals@altorricon.com>\n"
"Language-Team: none\n"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
-msgid "2013-05-27"
-msgstr "27.05.2013"
+#, no-wrap
+msgid "2013-09-13"
+msgstr "13.09.2013"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
-msgid "4.0~a13-1"
-msgstr "4.0~a13-1"
+#, no-wrap
+msgid "4.0~a14-1"
+msgstr "4.0~a14-1"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
#
msgid ""
msgstr ""
-"Project-Id-Version: live-boot 4.0~a13-1\n"
-"POT-Creation-Date: 2013-05-27 16:45+0300\n"
-"PO-Revision-Date: 2013-04-13 22:38+0100\n"
+"Project-Id-Version: live-boot 4.0~a14-1\n"
+"POT-Creation-Date: 2013-09-13 14:16+0300\n"
+"PO-Revision-Date: 2013-06-25 20:42+0100\n"
"Last-Translator: Carlos Zuferri <chals@altorricon.com>\n"
"Language-Team: none\n"
"Language: es\n"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
-msgid "2013-05-27"
-msgstr "27.05.2013"
+#, no-wrap
+msgid "2013-09-13"
+msgstr "13.09.2013"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
-msgid "4.0~a13-1"
-msgstr "4.0~a13-1"
+#, no-wrap
+msgid "4.0~a14-1"
+msgstr "4.0~a14-1"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
#. type: Plain text
#: en/live-boot.7:5
-msgid "B<live-boot> - System Boot Scripts"
-msgstr "B<live-boot> - Scripts de Arranque del Sistema"
+msgid "B<live-boot> - System Boot Components"
+msgstr "B<live-boot> - Componentes de Arranque del Sistema"
#. type: SH
#: en/live-boot.7:6 en/persistence.conf.5:7
#. type: Plain text
#: en/live-boot.7:8
msgid ""
-"B<live-boot> contains the scripts that configure a live system during the "
+"B<live-boot> contains the components that configure a live system during the "
"boot process (early userspace)."
msgstr ""
-"B<live-boot> contiene los scripts que configuran un sistema en vivo durante "
-"el proceso de arranque (early userspace)."
+"B<live-boot> contiene los componentes que configuran un sistema en vivo "
+"durante el proceso de arranque (early userspace)."
#. FIXME
#. type: Plain text
"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\"."
+"\" (see I<persistence.conf>(5)). Overlay image files are named \"persistence"
+"\"."
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\"."
+"conf>(5)). Los ficheros imagen overlay tienen, como nombre, \"persistence\"."
#. type: IP
#: en/live-boot.7:111
#
msgid ""
msgstr ""
-"Project-Id-Version: live-boot 4.0~a13-1\n"
-"POT-Creation-Date: 2013-05-27 16:45+0300\n"
+"Project-Id-Version: live-boot 4.0~a14-1\n"
+"POT-Creation-Date: 2013-09-13 14:16+0300\n"
"PO-Revision-Date: 2013-04-13 16:38+0100\n"
"Last-Translator: Carlos Zuferri <chals@altorricon.com>\n"
"Language-Team: none\n"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
-msgid "2013-05-27"
-msgstr "27.05.2013"
+#, no-wrap
+msgid "2013-09-13"
+msgstr "13.09.2013"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
-msgid "4.0~a13-1"
-msgstr "4.0~a13-1"
+#, no-wrap
+msgid "4.0~a14-1"
+msgstr "4.0~a14-1"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
msgid ""
msgstr ""
"Project-Id-Version: live-boot VERSION\n"
-"POT-Creation-Date: 2013-05-27 16:45+0300\n"
+"POT-Creation-Date: 2013-09-13 14:16+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"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
#, no-wrap
-msgid "2013-05-27"
+msgid "2013-09-13"
msgstr ""
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
#, no-wrap
-msgid "4.0~a13-1"
+msgid "4.0~a14-1"
msgstr ""
#. type: TH
#. type: Plain text
#: en/live-boot.7:5
-msgid "B<live-boot> - System Boot Scripts"
+msgid "B<live-boot> - System Boot Components"
msgstr ""
#. type: SH
#. type: Plain text
#: en/live-boot.7:8
msgid ""
-"B<live-boot> contains the scripts that configure a live system during the "
+"B<live-boot> contains the components that configure a live system during the "
"boot process (early userspace)."
msgstr ""
"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\"."
+"\" (see I<persistence.conf>(5)). Overlay image files are named \"persistence"
+"\"."
msgstr ""
#. type: IP
msgid ""
msgstr ""
"Project-Id-Version: live-boot VERSION\n"
-"POT-Creation-Date: 2013-05-27 16:45+0300\n"
+"POT-Creation-Date: 2013-09-13 14:16+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"
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
#, no-wrap
-msgid "2013-05-27"
+msgid "2013-09-13"
msgstr ""
#. type: TH
#: en/live-boot.7:1 en/persistence.conf.5:1
#, no-wrap
-msgid "4.0~a13-1"
+msgid "4.0~a14-1"
msgstr ""
#. type: TH
+++ /dev/null
-#!/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/medium"
-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
-
-custom_overlay_label="persistence"
-persistence_list="persistence.conf"
-old_persistence_list="live-persistence.conf"
-
-if [ ! -f /live.vars ]
-then
- touch /live.vars
-fi
+++ /dev/null
-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 not
-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
-----------------
-
-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