From fab83506a057755c198bcce9dabde1aafa388860 Mon Sep 17 00:00:00 2001 From: Steve McIntyre Date: Fri, 11 Sep 2015 18:26:35 +0100 Subject: [PATCH] We don't have bootable mips CDs any more So copy other kernel and initramfs options onto CD#1 so that end users might actually be able to boot *something* by hand. --- debian/changelog | 2 ++ tools/boot/stretch/boot-mips | 49 ++++++++++++++++++++++++++---------- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/debian/changelog b/debian/changelog index 08829814..321a5531 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,8 @@ debian-cd (3.1.18) UNRELEASED; urgency=medium * Add firmware bundles in cpio.gz format too to help netboot users. Thanks to Alex Owen for the patch, slightly tweaked. * Add kernels and other bits to armel/armhf images (Closes: #795844) + * Do similar for mips images, now r4k-ip22 cdrom images are no longer + built. [ Didier Raboud ] * For stretch, swap amd64 and i386 to let the first be the norm, and the diff --git a/tools/boot/stretch/boot-mips b/tools/boot/stretch/boot-mips index 82492136..3aec342d 100755 --- a/tools/boot/stretch/boot-mips +++ b/tools/boot/stretch/boot-mips @@ -12,37 +12,60 @@ set -e N=$1 -CDROOT=$2 +CDDIR=$2 +INSTALLDIR="install" if [ "$DI_WWW_HOME" = "default" ];then DI_WWW_HOME="http://d-i.debian.org/daily-images/mips/daily/" try_di_image_cache fi -add_mkisofs_opt $CDROOT/../$N.mkisofs_opts "-J -joliet-long" +add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J -joliet-long" # Only disk 1* bootable if [ $N != 1 -a $N != 1_NONUS ]; then exit 0 fi +# Mips 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 +# 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 - DI_DIR="di_stuff" - wget -P "$DI_DIR/r4k-ip22" "$DI_WWW_HOME/r4k-ip22/cdrom-boot.img" -# r5k-ip32 has no cdrom boot image yet -# wget -P "$DI_DIR/r5k-ip32" "$DI_WWW_HOME/r5k-ip32/cdrom-boot.img" + wget "$DI_WWW_HOME/MANIFEST" -O MANIFEST fi -install -m 644 -D "$DI_DIR"/r4k-ip22/cdrom-boot.img "$CDROOT"/install/r4k-ip22-boot.img -#r5k-ip32 has no cdrom boot image yet -#install -m 644 -D "$DI_DIR"/r5k-ip32/cdrom-boot.img "$CDROOT"/install/r5k-ip32-boot.img -install_languages $CDROOT +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 -add_mkisofs_opt $CDROOT/../$N.mkisofs_opts "-mips-boot install/r4k-ip22-boot.img" -#r5k-ip32 has no cdrom boot image yet -#add_mkisofs_opt $CDROOT/../$N.mkisofs_opts "-mips-boot install/r5k-ip32-boot.img" +# Clean up in case we had to use wget :-( +find . -name 'index.html*' -delete exit 0