diff options
author | Chris Lamb <chris@chris-lamb.co.uk> | 2008-06-20 01:38:21 +0100 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 19:03:36 +0100 |
commit | 730cf9e4ebd6d839c1b550803ee91454cc9c61c8 (patch) | |
tree | c120cea32a2944c9e6c00b239a335a5744a41ca3 /helpers/lh_binary_net | |
parent | 9f1a88d0d925aac6c373f661eb75790b43696d95 (diff) | |
download | live-build-730cf9e4ebd6d839c1b550803ee91454cc9c61c8.zip live-build-730cf9e4ebd6d839c1b550803ee91454cc9c61c8.tar.gz |
Add support for generation of sparc netboot images.
Diffstat (limited to 'helpers/lh_binary_net')
-rwxr-xr-x | helpers/lh_binary_net | 66 |
1 files changed, 66 insertions, 0 deletions
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 |