Files
oldlinux-files/study/linux-travel/MINIX-1.5/1.5/Binaries/etc/setup_usr
2024-02-19 00:25:23 -05:00

206 lines
5.3 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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