diff options
| author | Michael Prokop <mika@grml.org> | 2009-10-26 12:47:20 +0100 |
|---|---|---|
| committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 17:48:06 +0100 |
| commit | d2a27717cc6ba6688942fcbfbf49164f01253291 (patch) | |
| tree | 4332cc24a667db17d3e98159d6a3aa0cdd01676c /scripts | |
| parent | 1492bea7cab5998e281097e6b1dda07f9bfdbf25 (diff) | |
| download | live-boot-d2a27717cc6ba6688942fcbfbf49164f01253291.tar.gz live-boot-d2a27717cc6ba6688942fcbfbf49164f01253291.zip | |
Adding support for isofrom/fromiso bootoption.
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/live | 25 |
1 files changed, 25 insertions, 0 deletions
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}" |
