copy_exec /sbin/udevtrigger /sbin
copy_exec /sbin/udevsettle /sbin
fi
-copy_exec /usr/bin/udevinfo /bin
+if [ -x /usr/bin/udevinfo ]
+then
+ copy_exec /usr/bin/udevinfo /bin
+fi
# Program: wget
if [ -x /usr/bin/wget ]
# live-initramfs script
-# Create a fake fstab only if it is not already there
+# Create a fake fstab only if it doesn't exist or if its the debootstrap template
if [ ! -f "${FSTAB}" ] || grep -qs 'UNCONFIGURED FSTAB FOR BASE SYSTEM' "${FSTAB}"
then
- cat >> ${FSTAB} << EOF
+
+cat > ${FSTAB} << EOF
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
-${UNIONTYPE} / ${UNIONTYPE} rw 0 0
-tmpfs /tmp tmpfs nosuid,nodev 0 0
EOF
+
+fi
+
+if ! grep -qs "^${UNIONTYPE}" "${FSTAB}"
+then
+ echo "${UNIONTYPE} / ${UNIONTYPE} rw 0 0" >> "${FSTAB}"
+fi
+
+if ! grep -qs "^tmpfs /tmp" "${FSTAB}"
+then
+ echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> "${FSTAB}"
+fi
+
+if [ -z "${NOSWAP}" ]
+then
+ devices=""
+
+ for device in /dev/[hs]d[a-z][0-9]*
+ do
+ if ! [ -b "${device}" ]
+ then
+ continue
+ fi
+
+ /lib/udev/vol_id ${device%%[0-9]*} 2>/dev/null | grep -q "^ID_FS_USAGE=raid" && continue
+
+ magic=$(/bin/dd if="${device}" bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue
+
+ if [ "${magic}" = "SWAPSPACE2" -o "${magic}" = "SWAP-SPACE" ]
+ then
+ #log "Found ${device}"
+ devices="${devices} ${device}"
+ fi
+ done
+
+ # Remove all auto swap entries
+ if grep -qs "swap swap" "${FSTAB}"
+ then
+ grep -v "swap swap" "${FSTAB}" > "${FSTAB}".tmp
+ mv "${FSTAB}".tmp "${FSTAB}"
+ fi
+
+ # Add new swap entries
+ for device in ${devices}
+ do
+ echo "${device} swap swap defaults 0 0" >> "${FSTAB}"
+ done
fi
# disabled for now
+++ /dev/null
-#!/bin/sh
-
-#set -e
-
-# initramfs-tools header
-
-PREREQ=""
-
-prereqs()
-{
- echo "${PREREQ}"
-}
-
-case "${1}" in
- prereqs)
- prereqs
- exit 0
- ;;
-esac
-
-# live-initramfs header
-
-if [ -z "${SWAPON}" ] || [ -n "${NOFSTAB}" ]
-then
- exit 0
-fi
-
-. /scripts/live-functions
-
-log_begin_msg "Setting up swap"
-
-# live-initramfs script
-
-FSTAB=/root/etc/fstab
-devices=""
-
-for device in /dev/[hs]d[a-z][0-9]*
-do
- if ! [ -b "${device}" ]
- then
- continue
- fi
-
- /lib/udev/vol_id ${device%%[0-9]*} 2>/dev/null | grep -q "^ID_FS_USAGE=raid" && continue
-
- magic=$(/bin/dd if="${device}" bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue
-
- if [ "${magic}" = "SWAPSPACE2" -o "${magic}" = "SWAP-SPACE" ]
- then
- #log "Found ${device}"
- devices="${devices} ${device}"
- fi
-done
-
-for device in ${devices}
-do
-
-cat >> ${FSTAB} << EOF
-${device} swap swap defaults 0 0
-EOF
-
-done
-
-log_end_msg
if [ -d /root/etc/default/kdm.d/ ]
then
- printf 'LANGUAGE=%s\n' "${LANG}" >> /root/etc/default/kdm.d/live-autologin
+ if ! grep -qs "^LANGUAGE" "${LANG}"
+ then
+ printf 'LANGUAGE=%s\n' "${LANG}" >> /root/etc/default/kdm.d/live-autologin
+ fi
elif [ -f /root/etc/kde3/kdm/kdmrc ]
then
sed -i -r -e "s/#Language=.*/Language=${language}/" \
really_export LANG
- printf 'LANG="%s"\n' "${LANG}" >> /root/etc/default/locale
- printf 'LANG="%s"\n' "${LANG}" >> /root/etc/environment
+ printf 'LANG="%s"\n' "${LANG}" > /root/etc/default/locale
+ printf 'LANG="%s"\n' "${LANG}" > /root/etc/environment
printf '%s %s\n' "${LANG}" "${codepage}" > /root/etc/locale.gen
if [ -z "${SILENT}" ]
if [ -d /root/etc/default/kdm.d/ ]
then
+ if ! grep -qs "^AUTOLOGIN" /root/etc/default/kdm.d/live-autologin
+ then
cat >> /root/etc/default/kdm.d/live-autologin << EOF
AUTOLOGINUSER=${USERNAME}
AUTOLOGINDELAY=0
EOF
+ fi
+
elif [ -f /root/etc/kde3/kdm/kdmrc ]
then
# Configure KDM autologin
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
+
sys2dev ()
{
sysdev=${1#/sys}
- echo "/dev/$(udevinfo -q name -p ${sysdev} 2>/dev/null|| echo ${sysdev##*/})"
+ echo "/dev/$($udevinfo -q name -p ${sysdev} 2>/dev/null|| echo ${sysdev##*/})"
}
subdevices ()