#!/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 #set -x N=$1 CDDIR=$2 INSTALLDIR=$CDDIR/install if [ "$DI_WWW_HOME" = "default" ];then DI_WWW_HOME="https://d-i.debian.org/daily-images/powerpc/daily" try_di_image_cache fi cd $CDDIR/.. add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "--iso-level 4" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "--netatalk" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-hfs" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-probe" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-map $BASEDIR/data/hfs.map" # Recommended size for a HFS Catalog is 4 megas per giga, defaults to 4 megas # MAXDISKBLOCKS is measured in 2K blocks newsize=`echo "$MAXDISKBLOCKS * 2048 / 256" | bc` add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-hfs-parms MAX_XTCSIZE=$newsize" # Only disk 1* bootable if [ $N != 1 ] ; then exit 0 fi add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "--chrp-boot" # For newworld Mac booting - Note, no spaces in volid! add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-part" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-no-desktop" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-hfs-bless CD$N/install" add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-hfs-volid Debian/PowerPC_${CODENAME}" cd $INSTALLDIR # Extract yaboot from the archive if [ -z "$YABOOT_DEBUG" ]; then YADEB=$(find_pkg_file yaboot) if [ -z "$YADEB" ]; then echo "ERROR: the yaboot package is required." >&2 exit 1 fi (dpkg --fsys-tarfile "$MIRROR/$YADEB" | \ tar xf - -C . ./usr/lib/yaboot/yaboot) mv usr/lib/yaboot/yaboot . rm -rf usr if [ -n "$ARCHIVE_EXTRACTED_SOURCES" ]; then echo $YADEB >> $CDDIR/../$N.pkgs_extracted find_pkg_file yaboot source >> $CDDIR/../$N.pkgs_extracted fi 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) cp $BASEDIR/data/$DI_CODENAME/yaboot/ofboot.b ofboot.b if [ "$DESKTOP"x = ""x ] || [ "$DESKTOP"x = "all"x ] ; then DEFAULT_DESKTOP="$UNSPEC_DESKTOP_DEFAULT" else DEFAULT_DESKTOP="$DESKTOP" fi for subarch in powerpc powerpc64 #prep do case $subarch in powerpc|prep) bitness= yabootconf=mac32.conf yabootmsg=boot32.msg ;; powerpc64) bitness=64 yabootconf=yaboot.conf yabootmsg=boot.msg ;; esac cat $BASEDIR/data/$DI_CODENAME/yaboot/$yabootconf \ | sed "s/CODENAME/${CODENAME}/g" \ > $yabootconf cat $BASEDIR/data/$DI_CODENAME/yaboot/$yabootmsg \ | sed "s/\${MEDIA_TYPE}/CDROM/" \ | sed "s/\${DEBIAN_VERSION}/${CODENAME}/g" \ | sed "s/\${BUILD_DATE}/${BUILD_DATE}/g" \ | sed "s/\${DEFAULT_DESKTOP}/${DEFAULT_DESKTOP}/g" \ > $yabootmsg if [ -n "$KERNEL_PARAMS" ]; then sed -i "/^[[:space:]]\+append=\"/ s|append=\"|append=\"$KERNEL_PARAMS |" $yabootconf fi if [ ! "$DI_WWW_HOME" ];then if [ ! "$DI_DIR" ];then DI_DIR="$MIRROR/dists/$DI_DIST/main/installer-$ARCH/current/images" fi if ! cp -a "$DI_DIR/$subarch/cdrom" "$subarch" && [ "$bitness" ]; then cp -a "$DI_DIR/$subarch/cdrom${bitness}" "$subarch" fi else if ! wget -r -nd --no-parent --level=1 -P "$subarch" -R 'index*' "$DI_WWW_HOME/$subarch/cdrom/" && [ "$bitness" ]; then wget -r -nd --no-parent --level=1 -P "$subarch" -R 'index*' "$DI_WWW_HOME/$subarch/cdrom${bitness}/" fi fi done if [ -f prep/vmlinuz-prep.initrd ]; then add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-prep-boot install/prep/vmlinuz-prep.initrd" elif [ -f powerpc/vmlinuz-prep.initrd ]; then # We are still missing this for prep add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-prep-boot install/powerpc/vmlinuz-prep.initrd" fi # Copy pegasos forth script, since pegasos machines don't support yaboot yet. cat $BASEDIR/data/$DI_CODENAME/pegasos/pegasos \ | sed "s/\${MEDIA_TYPE}/CDROM/" \ | sed "s/\${DEBIAN_VERSION}/${CODENAME}/g" \ | sed "s/\${BUILD_DATE}/${BUILD_DATE}/g" \ > pegasos # Let's copy the IBM CHRP stuff into place now. cd $CDDIR mkdir ppc mkdir ppc/chrp cp $BASEDIR/data/$DI_CODENAME/chrp/bootinfo.txt ppc mkdir etc cp $INSTALLDIR/yaboot.conf etc exit 0