#!/bin/bash # # boot-m68k v 1.13 (c) Steve McIntyre , # Chris Lawrence , Christian Steigies , # Michael Schmitz # Released under GPL 31 Mar 1999 # See the file COPYING for license details # Released as part of the slink_cd package, not much use standalone # # Do install stuff for m68k, including making bootable CDs # # Enjoy! This is all completely free. # - Chris Lawrence # # Rewritten by Steve McIntyre in sh to # interface better with the slink_cd package and cope with the mirror # layout, 28 Feb 1999. # Hopefully this will do the same job as the python map stuff did, it # appears to... # # If you're burning a CD, use the mkhybrid in potato (HFS is broken in the # slink version of mkhybrid; at least it is for me). Please don't use Joliet # extensions; some Mac kernels have apparently been known to choke on them # (and you really shouldn't be supporting a Microsoft Standard anyway :-) # # You may also want the following: # * A copy of the Linux/m68k FAQ # * A copy of my m68k-specific README and m68k-tools directories # * The m68k kernel sources from sunsite.auc.dk:/projects/680x0 # (Sunsite-Denmark is rsync-capable at sunsite.auc.dk::ftp) # I recommend getting the 2.0.36 and 2.2.1-pre2 sources at least. # (Actually 2.0.36 is non-essential since it's on the CDs already; # you probably DO want the 2.2.1-pre2 tree however [under v2.1!]). # # MVME/BVME users will love you if you also include the "tools" directory # from the FTP site, since they may want/need rawwrite for MS-DOS. # # The first two items are in a tar file at master.debian.org:~lawrencc, along # with a silly rsync script that will accomplish the last item. set -e N=$1 CDDIR=$2 cd $CDDIR/.. # Only disk 1 bootable if [ $N != 1 ]; then echo -n "--netatalk -j -hfs -probe -map $BASEDIR/data/hfs.map" \ > $N.mkisofs_opts exit 0 fi echo -n "--netatalk -j -hfs -probe -map $BASEDIR/data/hfs.map" \ > $N.mkisofs_opts echo -n " -b install/bvme6000/resc1440.bin -c install/bvme6000/boot.catalog" \ >> $N.mkisofs_opts DISKSROOT="$MIRROR/dists/$CODENAME/main/disks-$ARCH/current" INSTALLDIR="$CDDIR/install" cd $INSTALLDIR #vecho Installing Amiga files lha xqf $DISKSROOT/amiga/amigainstall.lha mv debian amiga mv debian.info amiga.info cp $DISKSROOT/amiga/* amiga # Needs to be executable chmod a+x amiga/amiboot-5.6 # Add .info files for amiga tar -C .. -xzf $BASEDIR/data/cts_amiga_info.tar.gz for file in `tar tzf $BASEDIR/data/cts_amiga_info.tar.gz` do chmod a+r ../$file done # And fix a few things up... mkdir common mv basecont.txt.info common mv ../README.info ../README.m68k.info cp ../README.1ST.info ../README.multicd.info #vecho Installing Atari files lha xqf $DISKSROOT/atari/install.lzh mv debian atari cp $DISKSROOT/atari/* atari #vecho Installing Mac files tar -C .. -zxf $DISKSROOT/source/macinstall.tar.gz cp $DISKSROOT/mac/* mac for TYPE in common bvme6000 mvme162 mvme167 source do #vecho Installing $TYPE files if [ ! -d $TYPE ] ; then mkdir $TYPE fi cp $DISKSROOT/$TYPE/* $TYPE done vecho hexbin Mac files cd $INSTALLDIR/mac hexbin *.hqx vecho Installing m68k FAQ and tools mkdir $CDDIR/tmp cd $CDDIR/tmp tar xzf $BASEDIR/data/m68k-cd-misc.tar.gz mv m68k-faq m68k-tools .. mv update-kernels ../update-kernels.m68k cd .. rm -rf tmp cd $CDDIR # make mountpoint and temp HFS filesystem image rm -rf /var/tmp/mnt-macinstall mkdir /var/tmp/mnt-macinstall dd if=/dev/zero of=/var/tmp/macinstall-temp.img bs=1024 count=1440 hformat /var/tmp/macinstall-temp.img # mount it (':' is top dir) using hfsutils hmount /var/tmp/macinstall-temp.img # copy booter and preferences files in place (color table missing but # Penguin-17 has colors fixed anyway hcopy -b install/mac/Penguin-17.hqx : hcopy -b install/mac/Penguin_Prefs.hqx :"Penguin Prefs" hcopy -b "install/mac/Penguin_Prefs_(autoboot).hqx" :"Penguin Prefs (autoboot)" # unmount HFS image humount /var/tmp/macinstall-temp.img # mount this HFS floppy image again as netatalk using the loopback mount command if [ ! 'mount -t hfs -o loop,fork=netatalk,afpd /var/tmp/macinstall-temp.img /var/tmp/mnt-macinstall' ] ; then # We managed to mount it loop-back # copy over both Penguin-15 and .AppleDouble/Penguin-15 # copy over both Penguin Prefs and .AppleDouble/Penguin Prefs # (.AppleDouble files go into .AppleDouble subdir of target dir) cp /var/tmp/mnt-macinstall/Penguin* install/mac/ mkdir install/mac/.AppleDouble cp /var/tmp/mnt-macinstall/.AppleDouble/Penguin* install/mac/.AppleDouble/ # unmount, cleanup umount /var/tmp/mnt-macinstall rm /var/tmp/macinstall-temp.img rmdir /var/tmp/mnt-macinstall else # We failed to mount it. Use the fallback tar.gz that we have echo HFS loopback mount failed on /var/tmp/macinstall-temp.img echo This is not fatal, but check that you have permissions to do this echo and that you have HFS support in your kernel... echo Extracting $BASEDIR/data/macinstall-cd.tar.gz instead. tar xzf $BASEDIR/data/macinstall-cd.tar.gz fi # # can remove the .hqx stuff now I guess. # # make CD image using the command # mkhybrid -map --netatalk -a -j -hfs -r -V