diff --git a/helpers/lh_binary_net b/helpers/lh_binary_net
index 9e9c91bdc..43c1dc669 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 22900f8f0..8bddb2b26 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