206 lines
5.3 KiB
Plaintext
206 lines
5.3 KiB
Plaintext
# Install the /usr file system
|
||
disk=6 # starting disk (1-3 are boot diskettes)
|
||
STOP=18 # first disk that does not exist
|
||
|
||
i=/usr/include
|
||
s=/usr/src
|
||
l=/usr/src/lib
|
||
|
||
# Unmount all hard disk partitions and see if the argument can be mounted.
|
||
case $# in
|
||
1) ;;
|
||
*) echo Please specify the special file for the MINIX partition
|
||
echo For example: /etc/setup_usr /dev/hd1
|
||
exit 1
|
||
;;
|
||
esac
|
||
|
||
cd /
|
||
/etc/umount /dev/hd1 >/dev/null 2>&1
|
||
/etc/umount /dev/hd2 >/dev/null 2>&1
|
||
/etc/umount /dev/hd3 >/dev/null 2>&1
|
||
/etc/umount /dev/hd4 >/dev/null 2>&1
|
||
if /etc/mount $1 /user >/dev/null 2>&1
|
||
then :
|
||
else echo Unable to mount $1
|
||
exit 1
|
||
fi
|
||
|
||
PATH=$PATH:/user/bin # hard disk will be mounted on /user
|
||
|
||
# Make the principal MINIX directories.
|
||
echo Making directories
|
||
mkdir /user/adm 2>/dev/null
|
||
mkdir /user/ast 2>/dev/null
|
||
mkdir /user/bin 2>/dev/null
|
||
mkdir /user/doc 2>/dev/null
|
||
mkdir /user/etc 2>/dev/null
|
||
mkdir /user/include 2>/dev/null
|
||
mkdir /user/include/minix 2>/dev/null
|
||
mkdir /user/include/sys 2>/dev/null
|
||
mkdir /user/lib 2>/dev/null
|
||
mkdir /user/lib/tmac 2>/dev/null
|
||
mkdir /user/man 2>/dev/null
|
||
mkdir /user/spool 2>/dev/null
|
||
mkdir /user/spool/at 2>/dev/null
|
||
mkdir /user/spool/lpd 2>/dev/null
|
||
mkdir /user/spool/mail 2>/dev/null
|
||
mkdir /user/spool/uucp 2>/dev/null
|
||
mkdir /user/src 2>/dev/null
|
||
mkdir /user/src/amoeba 2>/dev/null
|
||
mkdir /user/src/amoeba/examples 2>/dev/null
|
||
mkdir /user/src/amoeba/kernel 2>/dev/null
|
||
mkdir /user/src/amoeba/fs 2>/dev/null
|
||
mkdir /user/src/amoeba/mm 2>/dev/null
|
||
mkdir /user/src/amoeba/util 2>/dev/null
|
||
mkdir /user/src/commands 2>/dev/null
|
||
mkdir /user/src/commands/bin 2>/dev/null
|
||
mkdir /user/src/commands/ibm 2>/dev/null
|
||
mkdir /user/src/commands/bawk 2>/dev/null
|
||
mkdir /user/src/commands/de 2>/dev/null
|
||
mkdir /user/src/commands/dis88 2>/dev/null
|
||
mkdir /user/src/commands/ic 2>/dev/null
|
||
mkdir /user/src/commands/indent 2>/dev/null
|
||
mkdir /user/src/commands/kermit 2>/dev/null
|
||
mkdir /user/src/commands/m4 2>/dev/null
|
||
mkdir /user/src/commands/make 2>/dev/null
|
||
mkdir /user/src/commands/mined 2>/dev/null
|
||
mkdir /user/src/commands/nroff 2>/dev/null
|
||
mkdir /user/src/commands/patch 2>/dev/null
|
||
mkdir /user/src/commands/sh 2>/dev/null
|
||
mkdir /user/src/commands/zmodem 2>/dev/null
|
||
mkdir /user/src/elle 2>/dev/null
|
||
mkdir /user/src/fs 2>/dev/null
|
||
mkdir /user/src/lib 2>/dev/null
|
||
mkdir /user/src/lib/ansi 2>/dev/null
|
||
mkdir /user/src/lib/ibm 2>/dev/null
|
||
mkdir /user/src/lib/other 2>/dev/null
|
||
mkdir /user/src/lib/posix 2>/dev/null
|
||
mkdir /user/src/lib/string 2>/dev/null
|
||
mkdir /user/src/kernel 2>/dev/null
|
||
mkdir /user/src/mm 2>/dev/null
|
||
mkdir /user/src/test 2>/dev/null
|
||
mkdir /user/src/tools 2>/dev/null
|
||
mkdir /user/tmp 2>/dev/null
|
||
|
||
# At this point, the root file system is in place and diskette #5 is in
|
||
# drive 0 mounted on /usr. The MINIX hard disk partition is on /user.
|
||
# Copy /bin and /etc to the hard disk.
|
||
echo Copying /bin
|
||
cpdir -m /bin /user/bin # copy /bin to the hard disk
|
||
echo Copying /etc
|
||
cpdir -m /etc /user/etc # copy /etc to the hard disk
|
||
cpdir -m /usr/bin /user/bin # copy /usr/bin to the hard disk
|
||
echo Copying diskette 5
|
||
fixbin /user/bin /user/bin >/dev/null 2>&1
|
||
echo Diskette 5 copied
|
||
/etc/umount /dev/fd0
|
||
|
||
|
||
while test $disk != $STOP
|
||
do getlf "Please insert disk $disk, then hit the ENTER key"
|
||
/etc/mount /dev/fd0 /usr -r
|
||
cd /usr
|
||
for dir in *
|
||
do echo Copying $dir
|
||
if test $dir = 'LAST_DISK'; then disk=`expr $STOP - 1`; fi
|
||
|
||
# Establish base name
|
||
case $dir in
|
||
include) base=/user/include ;;
|
||
ast) base=/user/ast ;;
|
||
bin) base=/user/bin ;;
|
||
etc) base=/user/etc ;;
|
||
usrlib) base=/user/lib ;;
|
||
kernel) base=/user/src/kernel ;;
|
||
fs) base=/user/src/fs ;;
|
||
mm) base=/user/src/mm ;;
|
||
tools) base=/user/src/tools ;;
|
||
test) base=/user/src/test ;;
|
||
elle) base=/user/src/elle ;;
|
||
amoeba) base=/user/src/amoeba ;;
|
||
lib) base=/user/src/lib ;;
|
||
commands) base=/user/src/commands ;;
|
||
LAST_DISK) base=/tmp ;;
|
||
*) base=/user/$dir ;;
|
||
esac
|
||
|
||
cd / # cpdir creates pipes in current dir
|
||
cpdir -m /usr/$dir $base
|
||
done
|
||
disk=`expr $disk + 1`
|
||
cd /
|
||
/etc/umount /dev/fd0
|
||
done
|
||
|
||
#All the disks have now been loaded. Unpack them.
|
||
echo Loading finished. Please remove the last diskette from the drive.
|
||
echo The files will now be unpacked.
|
||
cd /
|
||
fixbin /user/bin /user/bin >/dev/null 2>&1
|
||
/etc/umount $1 >/dev/null 2>&1
|
||
/etc/mount $1 /usr >/dev/null 2>&1
|
||
|
||
echo Unpacking /usr/lib
|
||
cd /usr/lib
|
||
compress -d *Z >/dev/null 2>&1
|
||
rm -f *Z 2>/dev/null
|
||
chown bin *
|
||
|
||
for d in $i \
|
||
$i/minix \
|
||
$i/sys \
|
||
$s/elle \
|
||
$s/kernel \
|
||
$s/fs \
|
||
$s/mm \
|
||
$s/tools \
|
||
$s/test \
|
||
$l/ansi \
|
||
$l/posix \
|
||
$l/other \
|
||
$l/ibm \
|
||
$l/string \
|
||
$s/commands \
|
||
$s/commands/ibm \
|
||
$s/commands/bawk \
|
||
$s/commands/de \
|
||
$s/commands/dis88 \
|
||
$s/commands/indent \
|
||
$s/commands/ic \
|
||
$s/commands/m4 \
|
||
$s/commands/make \
|
||
$s/commands/mined \
|
||
$s/commands/nroff \
|
||
$s/commands/patch \
|
||
$s/commands/sh \
|
||
$s/commands/zmodem \
|
||
$s/commands/kermit \
|
||
$s/commands/elvis \
|
||
$s/amoeba \
|
||
$s/amoeba/kernel \
|
||
$s/amoeba/fs \
|
||
$s/amoeba/mm \
|
||
$s/amoeba/examples \
|
||
$s/amoeba/util
|
||
do echo Unpacking $d
|
||
cd $d
|
||
compress -d *Z >/dev/null 2>&1
|
||
rm -f *.Z 2>/dev/null
|
||
for j in *.a; do ar x $j >/dev/null 2>&1; done
|
||
rm -f *.a 2>/dev/null
|
||
chown bin * .
|
||
done
|
||
|
||
# link commands/nroff/tmac.an to lib/tmac/tmac.an
|
||
ln /usr/src/commands/nroff/tmac.an /usr/lib/tmac/tmac.an
|
||
|
||
rm -rf /usr/LAST_DISK 2>/dev/null
|
||
chown bin /usr/*
|
||
|
||
cd /usr/lib
|
||
chmod 755 cem cpp cg opt
|
||
|
||
echo Installation completed.
|
||
exit 0
|