debian-cd-clone/tools/boot/sarge/boot-powerpc

84 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
#
# Do install stuff for powerpc, including making bootable CDs
# Works with debian-installer
#
# $1 is the CD number
# $2 is the temporary CD build dir
. $BASEDIR/tools/boot/$CODENAME/common.sh
set -e
N=$1
CDDIR=$2
INSTALLDIR=$CDDIR/install
if [ "$DI_WWW_HOME" = "default" ];then
DI_WWW_HOME="http://people.debian.org/~luther/debian-installer/daily-powerpc-built/current"
fi
if [ ! "$DI_DIST" ]; then
DI_DIST="$DI_CODENAME"
fi
cd $CDDIR/..
# Only disk 1* bootable
if [ $N != 1 -a $N != 1_NONUS ]; then
# we don't need HFS cruft on anything but CD 1
:> $N.mkisofs_opts
exit 0
fi
install_languages $CDDIR
echo -n "--netatalk -hfs -probe -map $BASEDIR/data/hfs.map" \
> $N.mkisofs_opts
# We are still missing this for prep
#echo -n " -prep-boot install/prep/boot.bin" >> $N.mkisofs_opts
# For newworld Mac booting - Note, no spaces in volid!
echo -n " -part -no-desktop -hfs-bless CD$N/install -hfs-volid Debian/PowerPC_${CODENAME}" \
>> $N.mkisofs_opts
cd $INSTALLDIR
# Extract yaboot from the archive
if [ -z "$YABOOT_DEBUG" ]; then
YADEB="$($BASEDIR/tools/apt-selection cache show yaboot | \
grep ^Filename | awk '{print $2}')"
(ar p "${MIRROR}/${YADEB}" data.tar.gz | \
tar zxf - -C . ./usr/lib/yaboot/yaboot)
mv usr/lib/yaboot/yaboot .
rm -rf usr
else
cp -f $YABOOT_DEBUG yaboot
fi
#
# generate/download images for "powerpc"
# (missing: bootvars1.3b.sit.hqx, BootX_1.2.2.sit, boot-floppy-hfs.img)
BUILD_DATE=$(date +%Y%m%d)
cat $BASEDIR/data/sarge/yaboot/boot.msg \
| sed "s/\${MEDIA_TYPE}/CDROM/" \
| sed "s/\${DEBIAN_VERSION}/${CODENAME}/g" \
| sed "s/\${BUILD_DATE}/${BUILD_DATE}/g" \
> boot.msg
cat $BASEDIR/data/sarge/yaboot/yaboot.conf \
| sed "s/CODENAME/${CODENAME}/g" > yaboot.conf
cp $BASEDIR/data/sarge/yaboot/ofboot.b ofboot.b
for subarch in powerpc power3 power4
do
mkdir $subarch
if [ ! "$DI_WWW_HOME" ];then
DI_DIR="$MIRROR/dists/$DI_DIST/main/installer-$ARCH/current/images/$subarch/cdrom"
else
DI_DIR="di_stuff"
mkdir "$DI_DIR"
wget -r -nd --no-parent -P "$DI_DIR" "$DI_WWW_HOME/$subarch/cdrom/"
fi
cp "$DI_DIR"/vmlinu* "$subarch"
cp "$DI_DIR"/initrd.gz "$subarch"
rm -rf di_stuff
done
exit 0