[SCM] debian-live branch, master, updated. 1.0_a47-1-54-gbcd8472

Chris Lamb chris at chris-lamb.co.uk
Fri Jun 20 00:45:18 UTC 2008


The following commit has been merged in the master branch:
commit bcd8472821e9e73162b7e5778d2b1356fe3c0353
Author: Chris Lamb <chris at chris-lamb.co.uk>
Date:   Fri Jun 20 01:38:21 2008 +0100

    Add support for generation of sparc netboot images.
    
    Signed-off-by: Chris Lamb <chris at chris-lamb.co.uk>

diff --git a/helpers/lh_binary_net b/helpers/lh_binary_net
index 9e9c91b..43c1dc6 100755
--- a/helpers/lh_binary_net
+++ b/helpers/lh_binary_net
@@ -52,6 +52,72 @@ Check_lockfile .lock
 # Creating lock file
 Create_lockfile .lock
 
+if [ "${LH_ARCHITECTURE}" = "sparc" ]
+then
+	# Checking depends
+	Check_package chroot/usr/bin/elftoaout sparc-utils
+
+	# Restoring cache
+	Restore_cache cache/packages_binary
+
+	# Installing depends
+	Install_package
+
+	# Set target and source directories
+	DESTDIR="tftpboot"
+	case "${LH_INITRAMFS}" in
+		casper)
+			ORIGDIR="binary/casper"
+			;;
+
+		live-initramfs)
+			ORIGDIR="binary/live"
+			;;
+	esac
+
+	# Find defaults
+	DEFAULT_FLAVOUR="$(echo ${LH_LINUX_FLAVOURS} | awk '{ print $1 }')"
+	DEFAULT_KERNEL="$(basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR})"
+	DEFAULT_INITRD="initrd.img-$(echo ${DEFAULT_KERNEL} | sed -e 's|vmlinuz-||')"
+	DEFAULT_MAP="$(echo chroot/boot/System.map-*${DEFAULT_FLAVOUR})"
+
+	gzip -cd ${ORIGDIR}/${DEFAULT_KERNEL} > kernel.tmp
+
+	mkdir -p ${DESTDIR}
+	rm -f ${DESTDIR}/boot.img
+	elftoaout -o ${DESTDIR}/boot.img kernel.tmp
+
+	case "${DEFAULT_FLAVOUR}" in
+		sparc32)
+			piggyback ${DESTDIR}/boot.img ${DEFAULT_MAP} ${ORIGDIR}/${DEFAULT_INITRD}
+			;;
+		sparc64)
+			piggyback64 ${DESTDIR}/boot.img ${DEFAULT_MAP} ${ORIGDIR}/${DEFAULT_INITRD}
+			;;
+		*)
+			Echo_error "Invalid default kernel flavour for sparc \"${DEFAULT_FLAVOUR}\""
+			exit 1;
+			;;
+	esac
+
+	# Pad boot.img
+	REMAINDER=$((( 4 - $(stat -c %s ${DESTDIR}/boot.img) % 4 ) % 4))
+	dd if=/dev/zero bs=1 count=${REMAINDER} >> ${DESTDIR}/boot.img
+
+	# No need for kernel and initrd images in the binary
+	rm -f ${ORIGDIR}/vmlinuz-*
+	rm -f ${ORIGDIR}/initrd.img-*
+
+	# Clean temporaries
+	rm -f kernel.tmp
+
+	# Saving cache
+	Save_cache cache/packages_binary
+
+	# Removing depends
+	Remove_package
+fi
+
 # Remove old binary
 rm -f binary-net.tar.bz2
 rm -f binary-net.tar.gz
diff --git a/helpers/lh_binary_silo b/helpers/lh_binary_silo
index 22900f8..8bddb2b 100755
--- a/helpers/lh_binary_silo
+++ b/helpers/lh_binary_silo
@@ -39,8 +39,8 @@ case "${LH_BINARY_IMAGES}" in
 		;;
 
 	net)
-		Echo_error "not yet supported, aborting (FIXME)."
-		exit 1
+		# silo not required for sparc netbooting
+		exit 0
 		;;
 esac
 

-- 
debian-live



More information about the debian-live-changes mailing list