From 0b23566984bd09f571b00153f351dbf7e32c6185 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Mon, 26 Oct 2009 12:47:20 +0100 Subject: [PATCH] Adding support for isofrom/fromiso bootoption. --- scripts/live | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/scripts/live b/scripts/live index 0fa3900..fa76eb1 100755 --- a/scripts/live +++ b/scripts/live @@ -97,6 +97,11 @@ Arguments () export HOSTNAME LIVECONF ;; + isofrom=*|fromiso=*) + FROMISO="${ARGUMENT#*=}" + export FROMISO + ;; + username=*) USERNAME="${ARGUMENT#username=}" LIVECONF="changed" @@ -1384,6 +1389,17 @@ check_dev () devname="${2}" skip_uuid_check="${3}" + # support for fromiso=.../isofrom=.... + if [ -n "$FROMISO" ] + then + mkdir /isofrom + ISO_DEVICE="$(echo $FROMISO | sed 's|\(/dev/[a-z]*[0-9]*\).*|\1|')" + mount "$ISO_DEVICE" /isofrom + ISO_NAME="$(echo $FROMISO | sed 's|/dev/[a-z]*[0-9]*/||')" + loopdevname=$(setup_loop "/isofrom/${ISO_NAME}" "loop" "/sys/block/loop*" "" '') + devname="${loopdevname}" + fi + if [ -z "${devname}" ] then devname=$(sys2dev "${sysdev}") @@ -1655,6 +1671,15 @@ mountroot () log_end_msg fi + # if we do not unmount the ISO we can't run "fsck /dev/ice" later on + # because the mountpoint is left behind in /proc/mounts, so let's get + # rid of it when running from RAM + if [ -n "$FROMISO" ] && [ "${TORAM}" ] + then + losetup -d /dev/loop0 + grep -q /isofrom /proc/mounts && umount /isofrom + fi + if [ -n "${MODULETORAMFILE}" ] || [ -n "${PLAIN_ROOT}" ] then setup_unionfs "${livefs_root}" "${rootmnt}" -- 2.1.4