Home | History | Annotate | Line # | Download | only in rz25dist
      1  1.5  wiz # $NetBSD: rc.hack,v 1.5 2003/01/06 20:30:42 wiz Exp $
      2  1.2  cgd 
      3  1.2  cgd # Hackish /etc/rc to do basic setup for a distribution rz25 image to
      4  1.2  cgd # make it slightly easier to use.
      5  1.2  cgd 
      6  1.2  cgd PATH=/sbin:/usr/sbin:/bin:/usr/bin:/alphadist
      7  1.2  cgd export PATH
      8  1.2  cgd 
      9  1.2  cgd single_user()
     10  1.2  cgd {
     11  1.2  cgd 	echo "Returning to single-user mode..."
     12  1.2  cgd 	exit 1
     13  1.2  cgd }
     14  1.2  cgd 
     15  1.2  cgd root_dev=`(sysctl -n machdep.root_device) 2> /dev/null`
     16  1.2  cgd #echo "root_dev is '$root_dev'"
     17  1.2  cgd 
     18  1.2  cgd if [ X"${root_dev}" = X'' ] || [ X"${root_dev}" = X'??' ]; then
     19  1.2  cgd 	echo "Can't figure out root device!"
     20  1.2  cgd 	single_user
     21  1.2  cgd fi
     22  1.2  cgd 
     23  1.2  cgd root_dev_base=`expr $root_dev : '\([a-z][a-z]*\)[0-9]*[a-z]'`
     24  1.2  cgd root_dev_unit=`expr $root_dev : '[a-z][a-z]*\([0-9]*\)[a-z]'`
     25  1.2  cgd root_dev_part=`expr $root_dev : '[a-z][a-z]*[0-9]*\([a-z]\)'`
     26  1.2  cgd 
     27  1.2  cgd #echo $root_dev_base
     28  1.2  cgd #echo $root_dev_unit
     29  1.2  cgd #echo $root_dev_part
     30  1.2  cgd 
     31  1.2  cgd usr_dev="${root_dev_base}${root_dev_unit}d"
     32  1.2  cgd #echo usr_dev = $usr_dev
     33  1.2  cgd 
     34  1.2  cgd case $root_dev_base in
     35  1.3  cgd cd|sd|wd)
     36  1.2  cgd 	;;
     37  1.2  cgd 
     38  1.2  cgd *)
     39  1.2  cgd 	echo "Unexpected root device type '$root_dev_base'."
     40  1.2  cgd 	single_user
     41  1.2  cgd 	;;
     42  1.2  cgd esac
     43  1.2  cgd 
     44  1.5  wiz # If /tmp is already writable, we've already been run...  punt!
     45  1.2  cgd if [ -w /tmp ]; then
     46  1.2  cgd 	echo ""
     47  1.2  cgd 	case $root_dev_base in
     48  1.2  cgd 	cd)
     49  1.2  cgd 		echo "Can't boot multi-user from a CD-ROM, because"
     50  1.2  cgd 		echo "the system can't have been configured."
     51  1.2  cgd 		echo ""
     52  1.2  cgd 		echo "Install on a real disk!"
     53  1.2  cgd 		echo ""
     54  1.2  cgd 		single_user
     55  1.2  cgd 		;;
     56  1.2  cgd 
     57  1.3  cgd 	sd|wd)
     58  1.2  cgd 		echo "If you want to boot multi-user, make sure that you've"
     59  1.2  cgd 		echo "configured the system properly, then run the"
     60  1.2  cgd 		echo "following:"
     61  1.2  cgd 		echo ""
     62  1.2  cgd 		echo "        /bin/rm -f /etc/rc"
     63  1.2  cgd 		echo "        /bin/cp -p /alphadist/rc.real /etc/rc"
     64  1.2  cgd 		echo ""
     65  1.2  cgd 		echo "from single-user mode then exit the single-user shell."
     66  1.2  cgd 		echo ""
     67  1.2  cgd 		single_user
     68  1.2  cgd 		;;
     69  1.2  cgd 	esac
     70  1.2  cgd fi
     71  1.2  cgd 
     72  1.2  cgd case $root_dev_base in
     73  1.2  cgd cd)
     74  1.2  cgd 	echo -n "Remounting root device..."
     75  1.2  cgd 	mount -u -o ro /dev/$root_dev /
     76  1.2  cgd 	echo ""
     77  1.2  cgd 
     78  1.2  cgd 	echo -n "Mounting /usr..."
     79  1.2  cgd 	mount -o ro /dev/$usr_dev /usr
     80  1.2  cgd 	echo ""
     81  1.2  cgd 
     82  1.2  cgd 	echo -n "Preparing temporary file systems..."
     83  1.2  cgd 	mount -t mfs -o -s=6144 swap /tmp
     84  1.2  cgd 	mount -t mfs -o -s=6144 swap /var/tmp
     85  1.2  cgd 	mkdir /var/tmp/vi.recover
     86  1.2  cgd 	chmod -R 1777 /tmp /var/tmp
     87  1.2  cgd 	echo ""
     88  1.2  cgd 	;;
     89  1.2  cgd 
     90  1.3  cgd sd|wd)
     91  1.2  cgd 	echo "Checking root and /usr..."
     92  1.3  cgd 	fsck -n -t ffs /dev/r$root_dev /dev/r$usr_dev > /dev/null 2>&1
     93  1.2  cgd 	if [ $? -ne 0 ]; then
     94  1.2  cgd 		echo "File system check failed!"
     95  1.2  cgd 		single_user
     96  1.2  cgd 	fi
     97  1.2  cgd 
     98  1.2  cgd 	echo -n "Remounting root device..."
     99  1.2  cgd 	mount -u /dev/$root_dev /
    100  1.2  cgd 	echo ""
    101  1.2  cgd 
    102  1.2  cgd 	echo -n "Mounting /usr..."
    103  1.2  cgd 	mount /dev/$usr_dev /usr
    104  1.2  cgd 	echo ""
    105  1.2  cgd 	;;
    106  1.2  cgd esac
    107  1.2  cgd 
    108  1.2  cgd single_user
    109