#!/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/$DI_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/d-i/images/daily" 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 "--chrp-boot --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 # Recommended size for a HFS Catalog is 4 megas per giga, defaults to 4 megas if [ -n "$SIZELIMIT1" ];then if [ "$SIZELIMIT1" -gt 1000000000 ];then let newsize="$SIZELIMIT1"/256 echo "-hfs-parms MAX_XTCSIZE=$newsize" >> $N.mkisofs_opts fi else if [ -n "$SIZELIMIT" ] && [ "$SIZELIMIT" -gt 1000000000 ];then let newsize="$SIZELIMIT"/256 echo "-hfs-parms MAX_XTCSIZE=$newsize" >> $N.mkisofs_opts fi fi 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 if [ ! "$DI_WWW_HOME" ];then cp -a "$MIRROR/dists/$DI_DIST/main/installer-$ARCH/current/images/$subarch/cdrom" "$subarch" if [ "$subarch" = "powerpc" ]; then cp -a "$MIRROR/dists/$DI_DIST/main/installer-$ARCH/current/images/$subarch/cdrom-minimal" "$subarch/minimal" else # Supported for netboot only on POWER3 and POWER4. rm -rf "$subarch/2.4" # POWER3 and POWER4 PReP machines do not exist. rm -f "$subarch/vmlinuz-prep.initrd" fi else wget -r -nd --no-parent --level=1 -P "$subarch" -R index* "$DI_WWW_HOME/$subarch/cdrom/" if [ $subarch = powerpc ]; then wget -r -nd --no-parent --level=1 -P "$subarch/2.4" -R index* "$DI_WWW_HOME/$subarch/cdrom/2.4/" wget -r -nd --no-parent --level=1 -P "$subarch/minimal" -R index* "$DI_WWW_HOME/$subarch/cdrom-minimal/" wget -r -nd --no-parent --level=1 -P "$subarch/minimal/2.4" -R index* "$DI_WWW_HOME/$subarch/cdrom-minimal/2.4/" else # POWER3 and POWER4 PReP machines do not exist. rm -f "$subarch/vmlinuz-prep.initrd" fi fi # Save some space with hardlinks; these kernels are identical. if [ -e powerpc/vmlinux ] && [ -e powerpc/minimal/vmlinux ]; then ln -f powerpc/vmlinux powerpc/minimal/vmlinux fi if [ -e powerpc/2.4/vmlinux ] && [ -e powerpc/minimal/2.4/vmlinux ]; then ln -f powerpc/2.4/vmlinux powerpc/minimal/2.4/vmlinux fi done exit 0