mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.5 KiB

  1. #!/bin/sh
  2. export PATH="/sbin:/bin:/usr/sbin:/usr/bin"
  3. if type -p gzip > /dev/null ; then
  4. umount -d /old_root ; rmdir /old_root
  5. else
  6. PATH="$PATH:/old_root/bin"
  7. for x in /old_root/* ; do
  8. rmdir $x 2> /dev/null || rm -f $x 2> /dev/null
  9. done
  10. fi
  11. grep -v "^rootfs " /proc/mounts > /etc/mtab
  12. freeramdisk /dev/rd/* 2> /dev/null
  13. mkdir -p /lib/modules/$( uname -r )
  14. echo -n >> /lib/modules/$( uname -r )/modules.dep
  15. cd /dev ; rm -f fd
  16. ln -sf /proc/kcore core
  17. ln -sf /proc/self/fd fd
  18. ln -sf fd/0 stdin
  19. ln -sf fd/1 stdout
  20. ln -sf fd/2 stderr
  21. cd /
  22. setterm -blank 0 -powersave off -powerdown 0
  23. echo
  24. echo ' ******************************************************************'
  25. echo ' * Welcome to the ROCK Linux 2nd stage boot disk. *'
  26. echo ' ******************************************************************'
  27. echo
  28. echo "This is a small linux distribution, loaded into your computer's memory."
  29. echo "It has everything needed to install ROCK Linux, restore an old installation"
  30. echo "or perform some administrative tasks."
  31. for x in /etc/setup-*.sh /setup/setup.sh ; do
  32. if [ -f "$x" ] ; then
  33. echo ; echo "Running $x ..." ; sh $x
  34. echo "Setup script $x finished."
  35. fi
  36. done
  37. echo
  38. ttydevs=""
  39. if [ -z "$autoboot" ]; then
  40. echo "Enter the names of all terminal devices (e.g. 'vc/1' or 'tts/0')."
  41. echo -n "An empty text stands for vc/1 - vc/6: "; read ttydevs
  42. fi
  43. if [ -z "$ttydevs" ]; then
  44. ttydevs="vc/1 vc/2 vc/3 vc/4 vc/5 vc/6"
  45. fi
  46. if [[ "$ttydevs" = tts/* ]] ; then
  47. echo -n "Connection speed in Baud (default: 9600): " ; read baud
  48. [ -z "$baud" ] && baud=9600
  49. else
  50. baud=38400
  51. fi
  52. echo
  53. echo 'Just type "stone" now if you want to make a normal installation of a ROCK'
  54. echo -n 'Linux build '
  55. if type -p dialog > /dev/null ; then
  56. echo '(or type "stone -text" if you prefer non-dialog based menus).'
  57. else
  58. echo '(only the text interface is available).'
  59. fi
  60. if [ -z "$autoboot" ]; then
  61. echo -e '#!/bin/sh\ncd ; exec /bin/sh --login' > /sbin/login-shell
  62. else
  63. cat <<- EOT > /sbin/login-shell
  64. #!/bin/bash
  65. case "\$( tty )" in
  66. /dev/vc/1)
  67. echo "Running 'stone' now.."
  68. /bin/sh --login -c "stone"
  69. echo -e '#!/bin/sh\\ncd ; exec /bin/sh --login' > /sbin/login-shell
  70. exit 0
  71. ;;
  72. *)
  73. exec /bin/sh --login
  74. esac
  75. EOT
  76. fi
  77. chmod +x /sbin/login-shell
  78. for x in $ttydevs ; do
  79. ( ( while : ; do agetty -i $baud $x -n -l /sbin/login-shell ; done ) & )
  80. done
  81. exec < /dev/null > /dev/null 2>&1
  82. while : ; do sleep 1 ; done