r2726 - dists/trunk/live-initramfs/scripts
matth-guest at alioth.debian.org
matth-guest at alioth.debian.org
Fri Aug 10 20:23:07 UTC 2007
Author: matth-guest
Date: 2007-08-10 20:23:07 +0000 (Fri, 10 Aug 2007)
New Revision: 2726
Modified:
dists/trunk/live-initramfs/scripts/live
Log:
http tarball toram feature
Modified: dists/trunk/live-initramfs/scripts/live
===================================================================
--- dists/trunk/live-initramfs/scripts/live 2007-08-09 21:20:02 UTC (rev 2725)
+++ dists/trunk/live-initramfs/scripts/live 2007-08-10 20:23:07 UTC (rev 2726)
@@ -8,7 +8,7 @@
echo "/root/usr/lib" >> /etc/ld.so.conf
mountpoint="/live/image"
-LIVE_MEDIA_PATH="/live"
+LIVE_MEDIA_PATH="live"
root_persistence="live-rw"
home_persistence="home-rw"
@@ -55,7 +55,7 @@
set -x
;;
- fetch=*)
+ fetch=*)
FETCH="${ARGUMENT#fetch=}"
export FETCH
;;
@@ -405,13 +405,22 @@
return 1
fi
- # begin copying..
+ # begin copying (or uncompressing)
mkdir "${copyto}"
echo "mount -t ${fstype} ${mount_options} ${dev} ${copyto}"
mount -t "${fstype}" ${mount_options} "${dev}" "${copyto}"
- cp -a ${copyfrom}/* ${copyto} # "cp -a" from busybox also copies hidden files
- umount ${copyfrom}
- mount -r --move ${copyto} ${copyfrom}
+
+ if [ "$extension" == "tgz" ]; then
+ cd "${copyto}"
+ tar zxf "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
+ rm -f "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
+ mount -r --move "${copyto}" "${rootmnt}"
+ cd "${OLDPWD}"
+ else
+ cp -a ${copyfrom}/* ${copyto} # "cp -a" from busybox also copies hidden files
+ umount ${copyfrom}
+ mount -r --move ${copyto} ${copyfrom}
+ fi
rmdir ${copyto}
return 0
}
@@ -459,10 +468,18 @@
do_httpmount() {
rc=1
- [ "$quiet" != "y" ] && log_begin_msg "Trying wget ${FETCH} -O ${mountpoint}/$(basename ${FETCH})"
- mkdir -p "${mountpoint}/${LIVE_MEDIA_PATH}"
- wget "${FETCH}" -O "${mountpoint}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
- [ $? -eq 0 ] && rc=0
+ extension=`echo "${FETCH}" | sed 's/\(.*\)\.\(.*\)/\2/'`
+ case "${extension}" in
+ squashfs|tgz|tar)
+ [ "$quiet" != "y" ] && log_begin_msg "Trying wget ${FETCH} -O ${mountpoint}/$(basename ${FETCH})"
+ mkdir -p "${mountpoint}/${LIVE_MEDIA_PATH}"
+ wget "${FETCH}" -O "${mountpoint}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
+ [ $? -eq 0 ] && rc=0
+ [ "${extension}" == "tgz" ] && live_dest="ram"
+ ;;
+ *)
+ [ "$quiet" != "y" ] && log_begin_msg "Unrecognized archive extension for ${FETCH}"
+ esac
return ${rc}
}
More information about the debian-live-changes
mailing list