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