home *** CD-ROM | disk | FTP | other *** search
/ H4CK3R 16 / hacker16 / 16_HACKER16.ISO / linux / tpm-security-server-1.2.1.iso / etc / rc.d / rc.sysinit < prev    next >
Encoding:
Text File  |  2004-01-27  |  3.7 KB  |  175 lines

  1. #!/bin/bash
  2. PATH="/usr/bin:/bin:/sbin:/usr/sbin:/usr/ssl/bin:/usr/X11R6/bin";export PATH
  3. ln -s /dev/vc/1 /dev/tty1
  4. ln -s /dev/vc/2 /dev/tty2
  5. ln -s /dev/vc/3 /dev/tty3
  6. ln -s /dev/vc/4 /dev/tty4
  7. ln -s /dev/vc/5 /dev/tty5
  8. ln -s /dev/vc/6 /dev/tty6
  9.  
  10. ln -s /dev/misc/psaux /dev/mouse
  11.  
  12.  
  13. for (( i=10 ; i>0 ; i-- )) ; do
  14. echo -en "Load config from floppy? [$i seconds] (y/N)   \r"
  15. read -t 1 -s -n 1 CONFIGFLOPPY
  16. if [ "x$CONFIGFLOPPY" = "xY" ]; then
  17.         CONFIGFLOPPY=y
  18. fi
  19. if [ "x$CONFIGFLOPPY" = "xN" ]; then
  20.         CONFIGFLOPPY=n
  21. fi
  22. if [ "x$CONFIGFLOPPY" = "xy" ]; then
  23.         i=0
  24. fi
  25. if [ "x$CONFIGFLOPPY" = "xn" ]; then
  26.         i=0
  27. fi
  28. done
  29. echo "                                              "
  30. export CONFIGFLOPPY
  31.  
  32. for (( i=10 ; i>0 ; i-- )) ; do
  33. echo -en "Watch bootup steps? [$i seconds] (y/N)   \r"
  34. read -t 1 -s -n 1 WATCHBOOT
  35. if [ "x$WATCHBOOT" = "xY" ]; then
  36.         WATCHBOOT=y
  37. fi
  38. if [ "x$WATCHBOOT" = "xN" ]; then
  39.         WATCHBOOT=n
  40. fi
  41. if [ "x$WATCHBOOT" = "xy" ]; then
  42.         i=0
  43. fi
  44. if [ "x$WATCHBOOT" = "xn" ]; then
  45.         i=0
  46. fi
  47. done
  48. echo "                                              "
  49. export WATCHBOOT
  50.  
  51.  
  52. if [ "x$WATCHBOOT" = "xy" ]; then
  53. echo "*******************" >/dev/tty1
  54. echo "Testing tty devices" >/dev/tty1
  55. echo "*******************" >/dev/tty1
  56.  
  57. echo "You should have seen a test message just above"
  58. echo "1000: Press Enter to Continue"
  59. read A
  60. fi
  61.  
  62.  
  63. echo "****************************"
  64. echo "Started /etc/rc.d/rc.sysinit"
  65. echo "****************************"
  66.  
  67. if [ "x$WATCHBOOT" = "xy" ]; then
  68. echo "Here is /dev"
  69. ls -lR /dev
  70. echo "2000: Press Enter to Continue"
  71. read A
  72. fi
  73.  
  74.  
  75. echo "Mounting /proc"
  76. mount -n -t proc /proc /proc
  77.  
  78. if [ "x$WATCHBOOT" = "xy" ]; then
  79. cat /proc/mounts
  80. echo "2500: Press Enter to Continue"
  81. read A
  82. fi
  83.  
  84.  
  85. echo "Mounting /proc/bus/usb"
  86. mount -t usbdevfs none /proc/bus/usb
  87.  
  88.  
  89. ROOTFS=`grep "^\/dev\/root" /proc/mounts  |cut -d" " -f3`
  90. echo "Root FS: $ROOTFS"
  91.  
  92. if [ "x$WATCHBOOT" = "xy" -a "x$ROOTFS" != "xiso9660" ]; then
  93. echo "3000: Do you want to mount / as read-write (Press 'y' for yes, or press Enter to Continue"
  94. read A
  95. fi
  96.  
  97. if [ -e /stillbuilding.txt ]; then
  98.         A=y
  99. fi
  100.  
  101. if [ "x$A" = "xy" ] ; then
  102.     fsck -y /dev/root
  103.     #Remount root as read-write
  104.     mount -n -o remount,rw /
  105.  
  106.     if [ "x$WATCHBOOT" = "xy" ]; then
  107.         echo "4000: Both / and /proc should be mounted now.  Press Enter to Continue"
  108.         read A
  109.     fi
  110.  
  111.     mount -f remount,rw /
  112.  
  113.     if [ ! -d /usr/bin ] ; then
  114.         mount /dev/ide/host0/bus0/target1/lun0/part2 /usr
  115.     fi
  116.  
  117. else
  118.     if [ ! -d /usr/bin ] ; then
  119.         if [ -e /tpmusr.cloop ]; then
  120.             modprobe cloop file=/tpmusr.cloop
  121.             mount -o ro /dev/cloop/0 /usr
  122.         else 
  123.             mount -o ro /dev/ide/host0/bus0/target1/lun0/part2 /usr
  124.         fi
  125.     fi
  126.  
  127.     . /etc/rc.d/rc.iso
  128. fi
  129.  
  130. grep "^root:" /etc/shadow |cut -d: -f2 |grep "^\!"
  131. if [ $? -eq 0 ]; then
  132.         echo "*******************************"
  133.         echo "*                             *"
  134.         echo "*     The root account is     *"
  135.         echo "*     currently locked.       *"
  136.         echo "*                             *"
  137.         echo "*  You must enter a password  *"
  138.         echo "*      before proceeding.     *"
  139.         echo "*                             *"
  140.         echo "*******************************"
  141.     passwd root
  142. fi
  143.  
  144.  
  145. mount -f /proc
  146.  
  147. if [ "x$WATCHBOOT" = "xy" ]; then
  148.     touch /etc/watchboot
  149.     touch /etc/interactiveboot
  150. fi
  151.  
  152. if [ -e /etc/watchboot ]; then
  153. echo "Here are the current mounts"
  154. mount
  155. echo "5000: Press Enter to Continue"
  156. read A
  157. fi
  158.  
  159.  
  160. #if [ -e /etc/watchboot ]; then
  161. #echo "Enter a Command (or blank to continue)"
  162. #echo -n ">"
  163. #read A
  164. #while [ "x$A" != "x" ]; do
  165. #$A
  166. #echo "Enter a Command (or blank to continue)"
  167. #echo -n ">"
  168. #read A
  169. #done
  170. #fi
  171.  
  172. echo "*****************************"
  173. echo "Finished /etc/rc.d/rc.sysinit"
  174. echo "*****************************"
  175.