* CD install directory created by moving disks-m68k/<boot-floppies-version>

and replacing it with a symlink to the install directory.
This commit is contained in:
Nick Holgate 2000-06-14 22:00:14 +00:00
parent cc912c27fb
commit 5c07ab6020
1 changed files with 40 additions and 159 deletions

View File

@ -1,184 +1,65 @@
#!/bin/bash
#
# boot-m68k v 1.13 (c) Steve McIntyre <stevem@chiark.greenend.org.uk>,
# Chris Lawrence <lawrencc@debian.org>, Christian Steigies <cts@debian.org>,
# Michael Schmitz <MSchmitz@lbl.gov>
# Released under GPL 31 Mar 1999
# boot-m68k Nick Holgate <holgate@debian.org>
# Released under GPL 14 June 2000
# See the file COPYING for license details
# Released as part of the slink_cd package, not much use standalone
# Released as part of the debian-cd package, not much use standalone
#
# Do install stuff for m68k, including making bootable CDs
# Do install stuff for m68k, including making bootable CDs or BVME4000/6000
#
# Enjoy! This is all completely free.
# - Chris Lawrence <lawrencc@debian.org>
#
# Rewritten by Steve McIntyre <stevem@chiark.greenend.org.uk> 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
#set -x
N=$1
CDDIR=$2
cd $CDDIR/..
echo -n "--netatalk -J -hfs -probe -map $BASEDIR/data/hfs.map" \
> $N.mkisofs_opts
# 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
# Get real name of current disks directory
DISKSDIR=$CDDIR/dists/$CODENAME/main/disks-$ARCH
DISKSVER=$(readlink $DISKSDIR/current)
# Put CD boot image into place
mkdir -p boot1/boot
cp $DISKSDIR/current/bvme6000/images-2.88/rescue.bin boot1/boot
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
echo -n " -b boot/rescue.bin -c boot/boot.catalog boot1" \
>> $N.mkisofs_opts
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 <mapfile> --netatalk -a -j -hfs -r -V <label> -o <image> <source dir>
#
# map file contains stuff like
# # ext. xlate creator type comment
# .hqx Ascii 'BnHx' 'TEXT' "BinHex file"
# .mov Raw 'TVOD' 'MooV' "QuickTime Movie"
# .deb Raw 'Debn' 'bina' "Debian package"
# .bin Raw 'Debn' 'bina' "Floppy or ramdisk image"
# * Ascii 'ttxt' 'TEXT' "Text file"
#
# Note that we can't use MacBinary mapping for .bin files due to
# name clashes with the binary image files, so we have to provide
# all encoded Mac files in BinHex format.
#
# Kudos Brad Midgley, <brad@pht.com> for the tricks!
#
# Possible alternative: convert .hqx in MacBinary files, but we'd need
# to use a different extension as .bin is taken by the disk images.
# i.e. hexbin -s Penguin-17.hqx > Penguin-17.mac
# and use .mac as MacBinary extension. I don't know offhand what the
# creator/type for MacBinary is. --netatalk would be replaced by
# --macbin, possibly together with --probe.
# Clean out stuff created by installtools.sh
rm -rf install
# Put real disks directory in its place
mv $DISKSDIR/$DISKSVER install
# Make disks directory a symlink
ln -s ../../../../install $DISKSDIR/$DISKSVER
cd $CDDIR/install
# Redo work of installtools.sh
ln -sf install.en.html doc/index.html
# Extra tools not yet in boot floppies
wget -q sunsite.auc.dk:/pub/os/linux/680x0/tools/dmesg.readme -O dmesg.readme
wget -q sunsite.auc.dk:/pub/os/linux/680x0/tools/dmesg -O dmesg
chmod a+x dmesg
# Amiboot needs to be executable
chmod a+x amiga/amiboot-5.6
# Need a .info file for the install directory (AmigaOS)
cp amiga.info $CDDIR/install.info
##-----------------------------< end of file >------------------------------##