[SCM] live-boot branch, debian, updated. debian/2.0_a4-1-11-g4836a17

Daniel Baumann daniel at debian.org
Sat Jun 5 12:22:51 UTC 2010


The following commit has been merged in the debian branch:
commit 1e66336542c679459e2b5804f58950f0c3210718
Author: Michal Suchanek <hramrach at centrum.cz>
Date:   Fri Jun 4 09:23:59 2010 +0200

    Adding support for booting iso images over http or wget.

diff --git a/scripts/live b/scripts/live
index fd4a5e4..a9c0f13 100755
--- a/scripts/live
+++ b/scripts/live
@@ -8,6 +8,7 @@ echo "/root/lib" >> /etc/ld.so.conf
 echo "/root/usr/lib" >> /etc/ld.so.conf
 
 mountpoint="/live/image"
+ext_mountpoint="/ext_volume"
 LIVE_MEDIA_PATH="live"
 
 root_persistence="live-rw"
@@ -791,19 +792,25 @@ do_netmount ()
 do_httpmount ()
 {
 	rc=1
-	dest="${mountpoint}/${LIVE_MEDIA_PATH}"
-	mount -t ramfs ram "${mountpoint}"
-	mkdir -p "${dest}"
 
 	for webfile in HTTPFS FTPFS FETCH
 	do
-		url="$(eval echo \"\$\{${webfile}\}\")"
-		extension="$(echo "${url}" | sed 's/\(.*\)\.\(.*\)/\2/')"
+		local url="$(eval echo \"\$\{${webfile}\}\")"
+		local extension="$(echo "${url}" | sed 's/\(.*\)\.\(.*\)/\2/')"
 
 		if [ -n "$url" ]
 		then
 			case "${extension}" in
-				squashfs|tgz|tar)
+				iso|squashfs|tgz|tar)
+					if [ "${extension}" = "iso" ]
+					then
+						mkdir -p "${ext_mountpoint}"
+						dest="${ext_mountpoint}"
+					else
+						local dest="${mountpoint}/${LIVE_MEDIA_PATH}"
+						mount -t ramfs ram "${mountpoint}"
+						mkdir -p "${dest}"
+					fi
 					if [ "${webfile}" = "FETCH" ]
 					then
 						case "$url" in
@@ -834,6 +841,12 @@ do_httpmount ()
 					fi
 					[ ${?} -eq 0 ] && rc=0
 					[ "${extension}" = "tgz" ] && live_dest="ram"
+					if [ "${extension}" = "iso" ]
+					then
+						isoloop=$(setup_loop "${dest}/$(basename "${url}")" "loop" "/sys/block/loop*" "" '')
+						mount -t iso9660 "${isoloop}" "${mountpoint}"
+						rc=${?}
+					fi
 					break
 					;;
 
@@ -846,6 +859,11 @@ do_httpmount ()
 
 	if [ ${rc} != 0 ]
 	then
+		if [ -d "${ext_mountpoint}" ]
+		then
+		        umount "${ext_mountpoint}"
+			rmdir "${ext_mountpoint}"
+		fi
 		umount "${mountpoint}"
 	elif [ "${webfile}"  != "FETCH" ] ; then
 		NETBOOT="${webfile}"

-- 
live-boot



More information about the debian-live-changes mailing list