# 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