From f2a1b5d4d35cd89b637b10725d7c336353d59fce Mon Sep 17 00:00:00 2001 From: Steve McIntyre Date: Thu, 27 Aug 2015 14:48:43 +0100 Subject: [PATCH] Add kernels and other bits to armel/armhf images Backported from master --- debian/changelog | 2 ++ tools/boot/jessie/boot-arm | 55 ++++++++++++++++++++++++++++++++++++-- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index c7a02eb6..c504bcfa 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,8 @@ debian-cd (3.1.17-jessie) UNRELEASED; urgency=medium + Add support for debian-edu builds + tools/sort_deps: Improved handling of too-large packages + tools/start_new_disc: shorten VOLID when possible + + tools/boot/jessie/boot-arm: Add kernels and other bits to + armel/armhf images -- Steve McIntyre <93sam@debian.org> Mon, 20 Apr 2015 12:36:57 +0100 diff --git a/tools/boot/jessie/boot-arm b/tools/boot/jessie/boot-arm index 80da3cbe..e502d06d 100755 --- a/tools/boot/jessie/boot-arm +++ b/tools/boot/jessie/boot-arm @@ -15,14 +15,17 @@ set -e N=$1 CDDIR=$2 +INSTALLDIR="install" if [ "$DI_WWW_HOME" = "default" ];then # Tempting as it might be to merge these two definitions using $ARCH, # do *not* do that - these defs are parsed out by other scripts that # won't cope with that if [ "$ARCH" = armel ]; then DI_WWW_HOME="http://d-i.debian.org/daily-images/armel/daily" + CUT=3 elif [ "$ARCH" = armhf ]; then DI_WWW_HOME="http://d-i.debian.org/daily-images/armhf/daily" + CUT=3 else echo "$0: unknown arch $ARCH; abort" exit 1 @@ -34,6 +37,54 @@ cd $CDDIR/.. add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J -joliet-long" -# Arm* is currently not bootable directly from CD in jessie, so bail out here -echo "$ARCH booting disabled for $CODENAME, check with Sledge" +# Strip NONUS part of disk number +# NN will be 1...N so it can be used as an index +NN=`echo $N | sed -e 's/_NONUS//'` + +# Exit if this is not CD#1/DVD#1 +if [ $NN != 1 ] ; then exit 0; fi + +# Armel/armhf is currently not bootable directly from CD, and there's +# not a lot we can do about that. But add the needed files in the +# right place so that users can find them, at least: +# +# kernel(s) +# initramfs +# DTBs +# etc... +# +# The best wasy to find all the files is to parse d-i's MANIFEST file +# and work from there. +mkdir -p $CDDIR/$INSTALLDIR +cd $CDDIR/$INSTALLDIR + +if [ ! "$DI_WWW_HOME" ];then + if [ ! "$DI_DIR" ];then + DI_DIR="$MIRROR/dists/$DI_DIST/main/installer-$ARCH/current/images" + fi + cp "$DI_DIR/MANIFEST" MANIFEST +else + wget "$DI_WWW_HOME/MANIFEST" -O MANIFEST +fi + +for image in $(awk '{print $1}' MANIFEST); do + if [ ! -e "$image" ]; then + dir=$(dirname $image) + mkdir -p $dir + if [ -n "$LOCAL" -a -f "${LOCALDEBS:-$MIRROR}/dists/$DI_DIST/local/installer-$ARCH/current/images/$image" ]; then + cp "${LOCALDEBS:-$MIRROR}/dists/$DI_DIST/local/installer-$ARCH/current/images/$image" "$image" + elif [ ! "$DI_WWW_HOME" ];then + if [ ! "$DI_DIR" ];then + DI_DIR="$MIRROR/dists/$DI_DIST/main/installer-$ARCH/current/images" + fi + cp -a "$DI_DIR/$image" "$image" + else + wget --no-parent -r -nH --cut-dirs=3 "$DI_WWW_HOME/$image" + fi + fi +done + +# Clean up in case we had to use wget :-( +find . -name 'index.html*' -delete + exit 0