[Debian-live-changes] r1452 - in dists/trunk/live-initramfs: hooks scripts

Daniel Baumann daniel at alioth.debian.org
Fri May 11 10:04:52 UTC 2007


Author: daniel
Date: 2007-05-11 10:04:51 +0000 (Fri, 11 May 2007)
New Revision: 1452

Modified:
   dists/trunk/live-initramfs/hooks/live
   dists/trunk/live-initramfs/scripts/live-functions
   dists/trunk/live-initramfs/scripts/live-helpers
Log:


Modified: dists/trunk/live-initramfs/hooks/live
===================================================================
--- dists/trunk/live-initramfs/hooks/live	2007-05-11 09:48:42 UTC (rev 1451)
+++ dists/trunk/live-initramfs/hooks/live	2007-05-11 10:04:51 UTC (rev 1452)
@@ -27,7 +27,7 @@
 # Handling live-initramfs
 
 # Configuration
-if [ -f /etc/live.conf ]
+if [ -r /etc/live.conf ]
 then
 	. /etc/live.conf
 
@@ -109,7 +109,7 @@
 auto_add_modules net
 
 # Custom keymap (usefull when using encryption)
-if [ -x /bin/loadkeys ] && [ -f /etc/console/boottime.kmap.gz ]
+if [ -x /bin/loadkeys ] && [ -r /etc/console/boottime.kmap.gz ]
 then
 	copy_exec /bin/loadkeys /bin
 

Modified: dists/trunk/live-initramfs/scripts/live-functions
===================================================================
--- dists/trunk/live-initramfs/scripts/live-functions	2007-05-11 09:48:42 UTC (rev 1451)
+++ dists/trunk/live-initramfs/scripts/live-functions	2007-05-11 10:04:51 UTC (rev 1452)
@@ -1,3 +1,4 @@
+#!/bin/sh
 
 . /scripts/functions
 . /live.vars
@@ -3,19 +4,23 @@
 
 # Override this so we don't call PROGRESS
-log_end_msg()
+log_end_msg ()
 {
-	if [ -x /sbin/usplash_write ]; then
+	if [ -x /sbin/usplash_write ]
+	then
 		/sbin/usplash_write "SUCCESS ok"
 	fi
+
 	_log_msg "Done."
 }
 
 # Print a message and wait for enter
-log_wait_msg()
+log_wait_msg ()
 {
-	if [ -x /sbin/usplash_write ]; then
+	if [ -x /sbin/usplash_write ]
+	then
 		/sbin/usplash_write "INPUTENTER $@"
 		read nunya < /dev/.initramfs/usplash_outfifo
 	fi
+
 	_log_msg "Waiting: $@ ..."
 }
@@ -24,12 +29,14 @@
 really_export ()
 {
 	STRING="${1}"
-	VALUE="$(eval echo -n \${$STRING})"
+	VALUE="`eval echo -n \${$STRING}`"
 
-	if [ -f /live.vars ] && cat /live.vars | grep -sq "export ${STRING}" ; then
+	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}"
 }

Modified: dists/trunk/live-initramfs/scripts/live-helpers
===================================================================
--- dists/trunk/live-initramfs/scripts/live-helpers	2007-05-11 09:48:42 UTC (rev 1451)
+++ dists/trunk/live-initramfs/scripts/live-helpers	2007-05-11 10:04:51 UTC (rev 1452)
@@ -1,231 +1,298 @@
-## Casper helper functions, used by casper on boot and by casper-snapshot
+#!/bin/sh
 
-if [ "${BUILD_SYSTEM}" = "Ubuntu" ]; then
-    MP_QUIET="-Q"
-elif [ "${BUILD_SYSTEM}" = "Debian" ]; then
-    MP_QUIET="-q"
+# live-initramfs helper functions, used by live-intramfs on boot and by live-snapshot
+
+if [ "${BUILD_SYSTEM}" = "Debian" ]
+then
+	MP_QUIET="-q"
+elif [ "${BUILD_SYSTEM}" = "Ubuntu" ]
+then
+	MP_QUIET="-Q"
 else
-    MP_QUIET=""
+	MP_QUIET=""
 fi
 
-if [ ! -x "/bin/fstype" ]; then
-    # klibc not in path -> not in initramfs
-    export PATH="${PATH}:/usr/lib/klibc/bin"
+if [ ! -x /bin/fstype ]
+then
+	# klibc not in path -> not in initramfs
+	export PATH="${PATH}:/usr/lib/klibc/bin"
 fi
 
-sys2dev() {
-    sysdev=${1#/sys}
-    echo "/dev/$(udevinfo -q name -p ${sysdev} 2>/dev/null|| echo ${sysdev##*/})"
+sys2dev ()
+{
+	sysdev=${1#/sys}
+	echo "/dev/$(udevinfo -q name -p ${sysdev} 2>/dev/null|| echo ${sysdev##*/})"
 }
 
-subdevices() {
-    sysblock=$1
-    r=""
-    for dev in "${sysblock}" "${sysblock}"/*; do
-        if [ -e "${dev}/dev" ]; then
-            r="${r} ${dev}"
-        fi
-    done
-    echo ${r}
+subdevices ()
+{
+	sysblock=$1
+	r=""
+
+	for dev in "${sysblock}" "${sysblock}"/*
+	do
+		if [ -e "${dev}/dev" ]
+		then
+			r="${r} ${dev}"
+		fi
+	done
+
+	echo ${r}
 }
 
-get_fstype() {
-    local FSTYPE
-    local FSSIZE
-    eval $(fstype < $1)
-    if [ "$FSTYPE" != "unknown" ]; then
-        echo $FSTYPE
-        return 0
-    fi
-    /lib/udev/vol_id -t $1 2>/dev/null
+get_fstype ()
+{
+	local FSTYPE
+	local FSSIZE
+
+	eval `fstype < $1`
+
+	if [ "$FSTYPE" != "unknown" ]
+	then
+		echo $FSTYPE
+		return 0
+	fi
+
+	/lib/udev/vol_id -t $1 2>/dev/null
 }
 
-where_is_mounted() {
-    device=$1
-    if grep -q "^$device " /proc/mounts; then
-        grep "^$device " /proc/mounts | read d mountpoint rest
-        echo $mountpoint
-        return 0
-    fi
-    return 1
+where_is_mounted ()
+{
+	device=$1
+
+	if grep -q "^$device " /proc/mounts
+	then
+		grep "^$device " /proc/mounts | read d mountpoint rest
+		echo $mountpoint
+		return 0
+	fi
+
+	return 1
 }
 
-lastline() {
-    while read lines ; do
-        line=${lines}
-    done
-    echo "${line}"
+lastline ()
+{
+	while read lines
+	do
+		line=${lines}
+	done
+
+	echo "${line}"
 }
 
 base_path ()
 {
-    testpath="${1}"
-    mounts="$(awk '{print $2}' /proc/mounts)"
-    testpath="$(busybox realpath ${testpath})"
+	testpath="${1}"
+	mounts="`awk '{print $2}' /proc/mounts`"
+	testpath="`busybox realpath ${testpath}`"
 
-    while true ; do
-        if echo "${mounts}" | grep -qs "^${testpath}" ; then
-            set -- `echo "${mounts}" | grep "^${testpath}" | lastline`
-            echo ${1}
-            break
-        else
-            testpath=`dirname $testpath`
-        fi
-    done
+	while true
+	do
+		if echo "${mounts}" | grep -qs "^${testpath}"
+		then
+			set -- `echo "${mounts}" | grep "^${testpath}" | lastline`
+			echo ${1}
+			break
+		else
+			testpath=`dirname $testpath`
+		fi
+	done
 }
 
 fs_size ()
 {
-    # Returns used/free fs kbytes + 5% more
-    # You could pass a block device as $1 or the mount point as $2
+	# Returns used/free fs kbytes + 5% more
+	# You could pass a block device as $1 or the mount point as $2
 
-    dev="${1}"
-    mountp="${2}"
-    used="${3}"
+	dev="${1}"
+	mountp="${2}"
+	used="${3}"
 
-    if [ -z "${mountp}" ]; then
-        mountp=$(where_is_mounted "${dev}")
-        if [ "$?" -gt 0 ]; then
-            mountp="/mnt/tmp_fs_size"
-            mkdir -p "${mountp}"
-            mount -t $(get_fstype "${dev}") -o ro "${dev}" "${mountp}"
-            doumount=1
-        fi
-    fi
+	if [ -z "${mountp}" ]
+	then
+		mountp="`where_is_mounted ${dev}`"
 
-    if [ "${used}" = "used" ]; then
-        size=$(du -ks ${mountp} | cut -f1)
-        size=$(expr ${size} + ${size} / 20 ) # FIXME: 5% more to be sure
-    else
-        # free space
-        size="$(df -k | grep -s ${mountp} | awk '{print $4}')"
-    fi
+		if [ "$?" -gt 0 ]
+		then
+			mountp="/mnt/tmp_fs_size"
 
-    if [ -n "${doumount}" ]; then
-        umount "${mountp}"
-        rmdir "${mountp}"
-    fi
-    echo "${size}"
+			mkdir -p "${mountp}"
+			mount -t "`get_fstype ${dev}`" -o ro "${dev}" "${mountp}"
+			doumount=1
+		fi
+	fi
+
+	if [ "${used}" = "used" ]
+	then
+		size="`du -ks ${mountp} | cut -f1`"
+		size=$(expr ${size} + ${size} / 20 ) # FIXME: 5% more to be sure
+	else
+		# free space
+		size="`df -k | grep -s ${mountp} | awk '{print $4}'`"
+	fi
+
+	if [ -n "${doumount}" ]
+	then
+		umount "${mountp}"
+		rmdir "${mountp}"
+	fi
+
+	echo "${size}"
 }
 
-load_keymap()
+load_keymap ()
 {
 	# Load custom keymap
-	if [ -x /bin/loadkeys -a -r /etc/boottime.kmap.gz ]; then
+	if [ -x /bin/loadkeys ] && [ -r /etc/boottime.kmap.gz ]
+	then
 		loadkeys /etc/boottime.kmap.gz
 	fi
 }
 
-setup_loop() {
-    local fspath=$1
-    local module=$2
-    local pattern=$3
-    local offset=$4
-    local encryption=$5
+setup_loop ()
+{
+	local fspath=$1
+	local module=$2
+	local pattern=$3
+	local offset=$4
+	local encryption=$5
 
-    modprobe ${MP_QUIET} -b "$module"
-    udevsettle
+	modprobe ${MP_QUIET} -b "$module"
+	udevsettle
 
-    for loopdev in $pattern; do
-        if [ "$(cat $loopdev/size)" -eq 0 ]; then
-            dev=$(sys2dev "${loopdev}")
-	    options=''
-	    if [ 0 -lt "${offset}" ]; then
-	        options="${options} -o ${offset}"
-	    fi
-	    if [ -z "${encryption}" ]; then
-	    	losetup ${options} "${dev}" "${fspath}"
-            else
-	        # Loop AES encryption
-		while true; do
-		    load_keymap
-		    echo -n "Enter passphrase for ${fspath}: " >&6
-		    read -s passphrase
-		    echo "${passphrase}" > /tmp/passphrase
-		    exec 9</tmp/passphrase
-		    /sbin/losetup ${options} -e "${encryption}" -p 9 "${dev}" "${fspath}"
-		    error=$?
-		    exec 9<&-
-		    rm -f /tmp/passphrase
-		    if [ 0 -eq ${error} ]; then
-		        unset error
-			break
-		    fi
-		    echo -n "Something went wrong... Retry? [YES/no] " >&6
-		    read answer
-		    if [ 'no' = "${answer}" ]; then
-		        unset answer
-			break
-		    fi
-		done
-            fi
-            echo "$dev"
-            return 0
-        fi
-    done
-    panic "No loop devices available"
+	for loopdev in $pattern
+	do
+		if [ "$(cat $loopdev/size)" -eq 0 ]
+		then
+			dev="`sys2dev ${loopdev}`"
+			options=""
+
+			if [ 0 -lt "${offset}" ]
+			then
+				options="${options} -o ${offset}"
+			fi
+
+			if [ -z "${encryption}" ]
+			then
+				losetup ${options} "${dev}" "${fspath}"
+			else
+				# Loop AES encryption
+				while true
+				do
+					load_keymap
+					echo -n "Enter passphrase for ${fspath}: " >&6
+					read -s passphrase
+					echo "${passphrase}" > /tmp/passphrase
+					exec 9</tmp/passphrase
+					/sbin/losetup ${options} -e "${encryption}" -p 9 "${dev}" "${fspath}"
+					error=$?
+					exec 9<&-
+					rm -f /tmp/passphrase
+
+					if [ 0 -eq ${error} ]
+					then
+						unset error
+						break
+					fi
+
+					echo -n "Something went wrong... Retry? [YES/no] " >&6
+					read answer
+
+					if [ 'no' = "${answer}" ]
+					then
+						unset answer
+						break
+					fi
+				done
+			fi
+
+			echo "$dev"
+			return 0
+		fi
+	done
+
+	panic "No loop devices available"
 }
 
 try_mount ()
 {
-    dev="${1}"
-    mountp="${2}"
-    opts="${3}"
+	dev="${1}"
+	mountp="${2}"
+	opts="${3}"
 
-    if where_is_mounted ${dev} > /dev/null; then
-        mount -o remount,"${opts}" ${dev} $(where_is_mounted ${dev}) || panic "Remounting failed"
-        mount -o bind $(where_is_mounted ${dev}) ${mountp} || panic "Cannot bind-mount"
-    else
-        mount -t $(get_fstype "${dev}") -o "${opts}" "${dev}" "${mountp}" || panic "Cannot mount ${dev} on ${mountp}"
-    fi
+	if where_is_mounted ${dev} > /dev/null
+	then
+		mount -o remount,"${opts}" ${dev} $(where_is_mounted ${dev}) || panic "Remounting failed"
+		mount -o bind $(where_is_mounted ${dev}) ${mountp} || panic "Cannot bind-mount"
+	else
+		mount -t $(get_fstype "${dev}") -o "${opts}" "${dev}" "${mountp}" || panic "Cannot mount ${dev} on ${mountp}"
+	fi
 }
 
-find_cow_device() {
-    pers_label="${1}"
-    cow_backing="/${pers_label}-backing"
-    for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop); do
-        for dev in $(subdevices "${sysblock}"); do
-            devname=$(sys2dev "${dev}")
-            if [ "$(/lib/udev/vol_id -l $devname 2>/dev/null)" = "${pers_label}" ]; then
-                echo "$devname"
-                return
-            elif [ "$(get_fstype ${devname})" = "vfat" ]; then # FIXME: all supported block devices should be scanned
-                mkdir -p "${cow_backing}"
-                try_mount "${devname}" "${cow_backing}" "rw"
-                if [ -e "${cow_backing}/${pers_label}" ]; then
-                    echo $(setup_loop "${cow_backing}/${pers_label}" "loop" "/sys/block/loop*")
-                    return 0
-                else
-                    umount ${cow_backing}
-                fi
-            fi
-        done
-    done
+find_cow_device ()
+{
+	pers_label="${1}"
+	cow_backing="/${pers_label}-backing"
+
+	for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop)
+	do
+		for dev in $(subdevices "${sysblock}")
+		do
+			devname=$(sys2dev "${dev}")
+
+			if [ "$(/lib/udev/vol_id -l $devname 2>/dev/null)" = "${pers_label}" ]
+			then
+				echo "$devname"
+				return
+			elif [ "$(get_fstype ${devname})" = "vfat" ] # FIXME: all supported block devices should be scanned
+			then
+				mkdir -p "${cow_backing}"
+				try_mount "${devname}" "${cow_backing}" "rw"
+
+				if [ -e "${cow_backing}/${pers_label}" ]
+				then
+					echo $(setup_loop "${cow_backing}/${pers_label}" "loop" "/sys/block/loop*")
+					return 0
+				else
+					umount ${cow_backing}
+				fi
+			fi
+		done
+	done
 }
 
-find_files()
-# return the first of $filenames found on vfat and ext2 devices
-# FIXME: merge with above function
+find_files ()
 {
-    filenames="${1}"
-    snap_backing="/snap-backing"
-    for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop); do
-        for dev in $(subdevices "${sysblock}"); do
-            devname=$(sys2dev "${dev}")
-            devfstype="$(get_fstype ${devname})"
-            if [ "${devfstype}" = "vfat" ] ||  [ "${devfstype}" = "ext2" ] ; then # FIXME: all supported block devices should be scanned
-                mkdir -p "${snap_backing}"
-                try_mount "${devname}" "${snap_backing}" "ro"
-                for filename in ${filenames}; do
-                    if [ -e "${snap_backing}/${filename}" ]; then
-                        echo "${devname} ${snap_backing} ${filename}"
-                        return 0
-                    fi
-                done
-                umount ${snap_backing}
-            fi
-        done
-    done
-}
+	# return the first of $filenames found on vfat and ext2 devices
+	# FIXME: merge with above function
 
+	filenames="${1}"
+	snap_backing="/snap-backing"
 
+	for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop)
+	do
+		for dev in $(subdevices "${sysblock}")
+		do
+			devname=$(sys2dev "${dev}")
+			devfstype="$(get_fstype ${devname})"
+
+			if [ "${devfstype}" = "vfat" ] ||  [ "${devfstype}" = "ext2" ]
+			then
+				# FIXME: all supported block devices should be scanned
+				mkdir -p "${snap_backing}"
+				try_mount "${devname}" "${snap_backing}" "ro"
+
+				for filename in ${filenames}
+				do
+					if [ -e "${snap_backing}/${filename}" ]
+					then
+						echo "${devname} ${snap_backing} ${filename}"
+						return 0
+					fi
+				done
+
+				umount ${snap_backing}
+			fi
+		done
+	done
+}




More information about the Debian-live-changes mailing list