home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / sls / a1.3 / bin / doinstall < prev    next >
Encoding:
Text File  |  1994-06-17  |  14.9 KB  |  586 lines

  1. #!/bin/sh
  2. export PATH="$PATH:/etc:/root/etc:/local/bin:/usr/bin:/bin:/root/bin:/root/usr/bin:/root/sbin."
  3. EXPART=/dev/hda1
  4. if [ "/dev/ram /" = "`rdev`" ]; then
  5.     echo 'To avoid accidents, you should remove the bootdisk now!'
  6. fi
  7. echo -n "Do you have a color screen [n]: "
  8. read ans;
  9. if [ "$ans" = "y" ]; then
  10.     echo ']H'
  11. fi
  12. if [ -f /zImage ]; then
  13.     echo "Welcome to the SLS installation program (copyright Softlanding Software)"
  14.     echo " "
  15. else
  16.     echo "Error: You must reboot after running the demo before you can install"
  17.     exit 0
  18. fi
  19.     
  20.  
  21. function usage()  {
  22.     echo " "
  23.     echo "Installs SLS onto a hard disk from floppies, tape, CD, HD or Network"
  24.     echo "usage: doinstall PART [ PART2 MNT2 ...]"
  25.     echo "where: PART is the partition to install to, optionally followed by" 
  26.     echo "partition/directory pairs to mount on root.   for example"
  27.     echo "       doinstall                       # does menu driven install"
  28.     echo "       doinstall /dev/hda2"
  29.     echo "       doinstall /dev/hda2 /dev/hda3 /usr /dev/hdb1 /usr/spool"
  30.     exit 1
  31. }
  32.  
  33. function domount() {
  34.     if [ ! -b $1 ]; then
  35.         MOUNTTYPE="nfs"
  36.     else
  37.         MOUNTTYPE="ext2"
  38.     fi
  39.     mount -t $MOUNTTYPE $1 $2$3
  40.     MNTSTAT=$?;
  41.     if [ $MNTSTAT != 0 ]; then
  42.         echo "Error: can not mount $1.  Did you use: mke2fs $1 SIZE"
  43.         echo "where SIZE is the number of blocks shown by fdisk?"
  44.         exit 1;
  45.     fi
  46.     if [ "$PARTNAMES" = "" ]; then
  47.         echo "$1    /        $MOUNTTYPE    defaults" > /root/fstab.tmp
  48.         mkdir /root/etc >& /dev/null
  49.     else
  50.         echo "$1    $3        $MOUNTTYPE    defaults" >> /root/fstab.tmp
  51.     fi
  52.     PARTNAMES="$PARTNAMES $2"
  53. }
  54.  
  55. declare -i DISKCOUNT
  56.  
  57. function runfdisk()
  58. {    
  59.     if [ $DISKCOUNT = 1 ]; then
  60.         CURDISK=$DISKLIST;
  61.     else
  62.         echo -n "which disk do you wish to partition [$DISKLIST]"
  63.         read CURDISK
  64.     fi
  65.     fdisk $CURDISK;
  66.     echo "If you wrote any changes, please (hard) reboot your PC now"
  67.     exit 0
  68. }
  69.  
  70. function domkfs()
  71. {
  72.     if [ "$1" = "" ]; then
  73.         return 1
  74.     fi
  75.     if [ ! -b $1 ]; then
  76.         echo "$1 is not a valid partition"
  77.         return 1
  78.     fi
  79.     if [ "`echo $1 | cut -c9`" = "" ]; then
  80.         echo "invalid partition"
  81.         return 1
  82.     fi
  83.     echo "Preparing Hard Drive.  This will take a few minutes, please standby..."
  84.     echo " "
  85.     mke2fs -m 1 $1 || (echo "mke2fs failed"; exit 1)
  86. }
  87.  
  88. function partsetup()
  89. {
  90.     if [ "$ROOTDEVICE"  = "" ]; then
  91.         echo -n "enter the name of the partition to use as root (eg. $EXPART): "
  92.         read ROOTDEVICE
  93.         NEWPART=$ROOTDEVICE
  94.         NEWDIR=
  95.     else
  96.         echo -n "enter the name of the partition (eg. $EXPART):"
  97.         read NEWPART
  98.         echo -n "what directory should this partition be mounted on (eg. /home): "
  99.         read NEWDIR
  100.     fi
  101.     if [ "" = "$NEWPART" ]; then
  102.         return;
  103.     fi
  104.     mount -t ext2 $NEWPART /user >& /dev/null
  105.     MTSTAT=$?;
  106.     umount $NEWPART >& /dev/null
  107.     if [ $MTSTAT = 0 ]; then
  108.         echo -n "Found ext2 fs on $NEWPART.  Is it OK to delete all its data? [y]: ";
  109.         read ans
  110.         if [ "$ans" != "n" ]; then
  111.             MTSTAT=1
  112.         else
  113.             echo "Ok, will attempt to install overtop of existing files"
  114.         fi
  115.     fi
  116.     if [ $MTSTAT != 0 ]; then
  117.         echo -n "WARNING: All data will be lost from partition $NEWPART.  Ok to proceed [y]: "
  118.         read goon;
  119.         if [ "$goon" = "n" ]; then
  120.             return;
  121.         fi
  122.         domkfs $NEWPART || exit 1
  123.     fi
  124.     if [ "$NEWDIR" != "" ]; then
  125.          mkdir -p /root$NEWDIR
  126.     fi
  127.     domount $NEWPART /root $NEWDIR
  128. }
  129.  
  130. function linuxsetup()
  131. {    fdisk -l
  132.     while [ 1 ]; do
  133.         echo '           Disk Setup Procedure '
  134.         echo ' '
  135.         echo '  1   Setup Linux partitions (first one will be used as the root)'
  136.         echo '  2   Setup a swap PARTITION (required for 4 Megs RAM or less)'
  137.         echo '  3   Setup a swap FILE on root (must do 1 above first)'
  138.         echo '  4   Display partition sizes'
  139.         echo '  5   Run fdisk to change partition sizes (will require a reboot)'
  140.         echo '  6   Abort installation'
  141.         echo '  7   Done (commence installation)'
  142.         echo ' '
  143.         echo -n " Select one of the above (1-7): "
  144.         read func;
  145.         case $func in
  146.         1)      partsetup;;
  147.         [2,3])    if [ "$swapsize" != "" ]; then
  148.                 echo "Sorry: swap area was already created"
  149.                 continue;
  150.             fi
  151.             if [ "$func" = "2" ]; then
  152.                 echo -n "Use which partition for swapping (eg. $EXPART): "
  153.                 read swappart;
  154.                 swapsize=`fdisk -s $swappart`
  155.             else
  156.                 if [ "$PARTNAMES" = "" ]; then
  157.                     echo "Sorry, you must setup the root partition first";
  158.                     continue;
  159.                 fi
  160.                 echo -n "How big a swap file in Megs (max 16): "
  161.                 declare -i swapmegs
  162.                 read swapmegs
  163.                 swapsize = swapmegs * 1024;
  164.                 swappart=/root/swap
  165.             fi
  166.             mkswap $swappart $swapsize &&
  167.             swapon $swappart &&
  168.             if [ -f /root/fstab.tmp ]; then
  169.                 echo "$1    $2        swap" >> /root/fstab.tmp
  170.             fi
  171.             ;;
  172.         4) fdisk -l;;
  173.         5) runfdisk ;;
  174.         6) exit 0;;
  175.         7) 
  176.             if [ "$PARTNAMES" = "" ]; then
  177.                 echo "Error: you must setup a Linux partition first"
  178.                 continue;
  179.             fi
  180.             break;; 
  181.         esac
  182.     done
  183. }
  184.  
  185. function automountcd() {
  186.     for i in sr0 mcd sonycd cdu535 pancd lmscd sbpcd matscd; do
  187.         mount -t iso9660 /dev/$i /mnt
  188.         if [ $? = 0 ]; then
  189.             CDDEVICE=$i
  190.             echo "$i CDROM" >> /root/etc/hwconfig
  191.             return 0 
  192.         fi
  193.     done
  194.     echo "Can not mount CD"
  195.     return 1
  196. }
  197.  
  198.  
  199. function mountsource() {
  200.     case $1 in 
  201.     harddrive)
  202.         INSTSRC=/mnt/install
  203.         while [ 0 ]; do
  204.             echo -n "Enter the partition that the source is on (eg. /dev/hda1):"
  205.             read hdloc;
  206.             echo -n "Enter the type of the filesystem (minix/ext2/msdos)";
  207.             read hdtype;
  208.             mount -t $hdtype $hdloc /mnt && break
  209.         done
  210.         while [ 0 ]; do
  211.             echo -n "Enter subdirectory name (if not /install)"
  212.             read ans;
  213.             if [ "$ans" != "" ]; then
  214.                 INSTSRC=/mnt/$ans
  215.             fi
  216.             if [ -d $INSTSRC/a2 ]; then
  217.                 break
  218.             fi
  219.             echo "failed to find install sets in $INSTSRC"
  220.         done
  221.     ;;
  222.     cdrom)
  223.         INSTSRC=/mnt/distributions/SLS
  224.         while [ 1 ]; do
  225.             echo " 0 - Exit"
  226.             echo " 1 - Do not know (try em all)"
  227.             echo " 2 - SCSI"
  228.             echo " 3 - Mitsumi"
  229.             echo " 4 - Sony CDU31A"
  230.             echo " 5 - Sony 531/535"
  231.             echo " 6 - Panasonic"
  232.             echo " 7 - LMS/Philips"
  233.             echo " 8 - Sound Blaster/Lasermate"
  234.             echo " 9 - Matsushitai Sound Blaster"
  235.             echo
  236.             echo -n "What type of CDROM player do you have? (0-9): "
  237.             read ans;
  238.             case  $ans in
  239.                 0)    exit 0;;
  240.                 1) CDDEVICE=sr0 ;;
  241.                 2) CDDEVICE=mcd ;;
  242.                 3) CDDEVICE=sonycd ;;
  243.                 4) CDDEVICE=cdu535 ;;
  244.                 5) CDDEVICE=pancd ;;
  245.                 6) CDDEVICE=lmscd ;;
  246.                 7) CDDEVICE=sbpcd ;;
  247.                 8) CDDEVICE=matscd ;;
  248.                 9) automountcd
  249.                 break;;
  250.                 *)    continue;;
  251.             esac
  252.             if [ "" != "$CDDEVICE" ]; then
  253.                 (mkdir /root/dev && ln -sf $CDDEVICE /root/dev/cdrom)
  254.                 mount -t iso9660 /dev/$CDDEVICE /mnt && break;
  255.                 echo "Could not mount CD on /dev/$CDDEVICE";  
  256.             fi
  257.         done
  258.     ;;
  259.     network)
  260.         INSTSRC=/mnt/install
  261.         echo "Following is your current IP setup"
  262.         cat /etc/hosts
  263.         echo -n "Do you wish to change or set your IP address? [n]: "
  264.         read ans;
  265.         while [ "y" = "$ans" ]; do
  266.             echo -n "Enter your IP address (eg, 192.0.2.129): "
  267.             read ans;
  268.             echo "$ans    `hostname`" > /etc/hosts
  269.             echo -n "Enter your Network address (eg, 192.0.2.0): "
  270.             read ans;
  271.             echo "$ans    network" >> /etc/hosts
  272.             echo -n "Enter your Netmask address (eg, 255.255.255.0): "
  273.             read ans;
  274.             echo "$ans    netmask" >> /etc/hosts
  275.             echo -n "Enter your Router address, if any (eg, 192.0.2.1): "
  276.             read ans;
  277.             if [ "" != "$ans" ]; then
  278.                 echo "$ans    router" >> /etc/hosts
  279.             fi
  280.             echo "127.0.0.1    localhost" >> /etc/hosts
  281.             sync
  282.             echo "IP setup is now changed";
  283.         done
  284.         if [ "$RCNET_RUN" = "" ]; then
  285.             /etc/rc.net
  286.         fi
  287.         RCNET_RUN=1
  288.         echo -n "Enter IP address of NFS server:"
  289.         read ipaddr;
  290.         echo -n "Enter directory on server containing SLS:"
  291.         read path;
  292.         while [ 1 ]; do
  293.             mount -t nfs $ipaddr:$path /mnt  && break;
  294.             echo -n "mount failed (sometimes takes 2-3 tries). Try again [y]: "
  295.             read ans;
  296.             if [ "$ans" = "n" ]; then
  297.                 break;
  298.             fi
  299.         done
  300.         INSTSRC="/mnt/$path"
  301.     ;;
  302.     esac
  303.     MNTSTAT=$?
  304.     if [ $MNTSTAT != 0 ]; then
  305.         echo "error: can not mount source"
  306.         exit 2;
  307.     fi
  308.     if [ -d $INSTSRC/a2 -a -d $INSTSRC/a3 ]; then
  309.         return
  310.     elif [ -d /mnt/a2 -a -d /mnt/a3 ]; then
  311.         INSTSRC=/mnt
  312.         return
  313.     else
  314.         echo "error: SLS distribution files not found in $INSTSRC"
  315.         usage
  316.     fi
  317. }
  318.  
  319. umount /root >& /dev/null
  320. INSTDEV=/dev/fd0
  321. INSTSRC=
  322. INSTTYPE=
  323. INSTMEDIA=
  324.  
  325. while [ 0 ]; do
  326.     umount /mnt >& /dev/null
  327.     echo '           Install Source '
  328.     echo ''
  329.     echo '  1  Install from Floppy Disks'
  330.     echo '  2  Install from Hard Disk'
  331.     echo '  3  Install from Tape'
  332.     echo '  4  Install from CDROM'
  333.     echo '  5  Install just bootdisk to HD'
  334.     if [ -e /etc/rc.net ]; then
  335.         echo '  6  Install from Network (via NFS)'
  336.     fi
  337.     echo ' '
  338.     echo -n 'Where will you be installing SLS from (1-6): '
  339.     read ans;
  340.     case $ans in
  341.         1 ) INSTMEDIA=floppy
  342.         while [ 0 ];do 
  343.             echo " "
  344.             echo '    1)  Drive A: 5 1/4 inch'
  345.             echo '    2)  Drive A: 3 1/2 inch'
  346.             echo '    3)  Drive B: 5 1/4 inch'
  347.             echo '    4)  Drive B: 3 1/2 inch'
  348.             echo " "
  349.             echo -n "Enter Drive You Will Be Doing The Installation From (1/2/3/4): "
  350.             read answer; 
  351.             case $answer in
  352.                 1) INSTDEV=/dev/fd0h1200;;
  353.                 2) INSTDEV=/dev/fd0H1440;;
  354.                 3) INSTDEV=/dev/fd1h1200;;
  355.                 4) INSTDEV=/dev/fd1H1440;;
  356.                 *) continue;;
  357.             esac
  358.             umount $INSTDEV
  359.             break;
  360.         done 
  361.         ;;
  362.         2 ) INSTMEDIA=harddrive; mountsource harddrive ;;
  363.         3 ) INSTMEDIA=tape ;;
  364.         4 ) INSTMEDIA=cdrom; mountsource cdrom ;;
  365.         5 ) umount /proc; cp -ax /[a-qs-z]* /root; mkdir /root/root; sync
  366.             echo "Reboot now using ALT at LILO prompt and \"harddisk root=$ROOTDEVICE\""
  367.                     exit 0 ;;
  368.         6 ) if [ -e /etc/rc.net ]; then
  369.             INSTMEDIA=network; mountsource network; 
  370.             fi ;;
  371.         *) echo "$ans invalid, pick again"; continue;; 
  372.     esac
  373.     break;
  374. done
  375. if [ $# -lt 1 ]; then
  376.     linuxsetup
  377. else
  378.     ROOTDEVICE=$1
  379.     domount $ROOTDEVICE / /root
  380. fi
  381.  
  382. while [ "$INSTMEDIA" != tape ]; do
  383.     echo ' '
  384.     echo '    1 - Install a minimal system (15 Meg)'
  385.     echo '    2 - Install the full base system (60 Meg)'
  386.     echo '    3 - Install base system + X11 (80 Meg)'
  387.     echo '    4 - Install everything (100 Meg)'
  388.     echo '    5 - Install to run with the CD as root'
  389.     echo " "
  390.     echo -n 'Enter type of install (1-5): '
  391.     read ans;
  392.     if [ $ans = 1 ]; then
  393.         INSTTYPE="mini"
  394.         break;
  395.     elif [ $ans = 2 ]; then
  396.         INSTTYPE="base"
  397.         break;
  398.     elif [ $ans = 3 ]; then
  399.         INSTTYPE="all"
  400.         break;
  401.     elif [ $ans = 4 ]; then
  402.         INSTTYPE="everything"
  403.         break;
  404.     elif [ $ans = 5 ]; then
  405.         INSTTYPE="cdroot"
  406.         cp -a /mnt/local/* /root/ || (echo "copy failed"; exit -2)
  407.         break;
  408.     fi
  409. done
  410.     mkdir -p /root/etc >& /dev/null
  411.     echo -n "" > /root/etc/hwconfig
  412. if [ "$INSTTYPE" != "cdroot" ]; then
  413.     mkdir -p /root/install/installed
  414.     mkdir -p /root/install/disks
  415.     mkdir -p /root/install/scripts
  416.     mkdir -p /root/install/catalog
  417.     while [ "$NEWPART" = "" ]; do
  418.         if [ "" != "$2" -a "" != "$3" ]; then
  419.             mkdir /root$3
  420.             domount $2 /root $3
  421.             shift 2;
  422.         else
  423.             break;
  424.         fi
  425.     done
  426.     if [ -f /root/doinst.sh ]; then
  427.         sh /root/doinst.sh;
  428.     fi
  429.     if [ "$INSTMEDIA" != tape ]; then
  430.         echo -n 'Do you want to be prompted, with a description, before each package? [n]: '
  431.         read ans
  432.         if [ "$ans" = "y" ]; then
  433.             DOPROMPT="-doprompt"
  434.         fi
  435.     fi
  436.     if [ "$INSTSRC" != "" ]; then
  437.         INSTSRC="-instsrc $INSTSRC"
  438.     fi
  439.     if [ "$INSTMEDIA" = tape ]; then
  440.         export DOPROMPT
  441.         tarsh /dev/rmt0 /bin/tapeinstall
  442.     else
  443.         echo "sysinstall -instdev $INSTDEV $INSTSRC -instroot /root $DOPROMPT -$INSTTYPE"
  444.         sysinstall -instdev $INSTDEV $INSTSRC -instroot /root $DOPROMPT -$INSTTYPE
  445.         if [ "$INSTTYPE" = "mini" ]; then
  446.             test ! -e local && mv usr local && mv usrlocal usr
  447.         fi
  448.     fi
  449. fi
  450. hash -r
  451. mv /root/fstab.tmp /root/etc/fstab
  452. if [ "$INSTDEV" != "" ]; then
  453.     if [ $INSTDEV =  /dev/fd1H1440 ]; then
  454.         INSTDEV=/dev/fd0h1200;
  455.     elif [ $INSTDEV =  /dev/fd1h1200 ]; then
  456.         INSTDEV=/dev/fd0H1440;
  457.     fi
  458.     if [ -e /etc/rc.net ]; then
  459.         echo "FLOPPYA /dev/fd0H1440" >> /root/etc/hwconfig
  460.     else
  461.         echo "FLOPPYA /dev/fd0h1200" >> /root/etc/hwconfig
  462.     fi
  463. fi
  464. echo "ROOTDEV $ROOTDEVICE" >> /root/etc/hwconfig
  465. VGAMODE=-3
  466.  
  467. if [ -e /etc/rc.net ]; then
  468.     if [ -e /root/zImage ]; then
  469.         mv -f /root/zImage /root/Image
  470.         dd if=/zImage of=/root/zImage
  471.     else
  472.         dd if=/zImage of=/root/zImage
  473.         if [ ! -e /root/Image ]; then
  474.             (cd /root && ln zImage Image)
  475.         fi
  476.     fi
  477. else
  478.     if [ -e /root/zImage ]; then
  479.         dd if=/zImage of=/root/Image
  480.     else
  481.         if [ -e /root/Image ]; then
  482.             mv -f /root/Image /root/zImage
  483.             dd if=/zImage of=/root/Image
  484.         else
  485.             dd if=/zImage of=/root/zImage
  486.             (cd /root && ln zImage Image)
  487.         fi
  488.     fi
  489. fi
  490.  
  491.  
  492. if [ "/dev/ram /" = "`rdev`" -a "cdroot" != "$INSTTYPE" ]; then
  493.     echo -n 'Now put a formatted floppy into your boot drive and hit enter: '
  494.     read ans;
  495.     if [ "$INSTTYPE" = "cdroot" ]; then
  496.         if [ $INSTDEV =  /dev/fd1H1440 ]; then
  497.             dd if=/mnt/install.3/a1 of=/dev/fd0
  498.         else
  499.             dd if=/mnt/install/a1 of=/dev/fd0
  500.         fi
  501.     else
  502.         dd if=/root/zImage of=$INSTDEV
  503.         rdev $INSTDEV $ROOTDEVICE
  504.     fi
  505. fi
  506.  
  507. echo -n "Do you wish to have the video mode preset at boot time? [n]: "
  508. read ans;
  509. if [ "$ans" = "y" ]; then
  510.     echo -n "Enter the mode (-1 for 80x25 mode, or the key 1, 2, 3, ...): "
  511.     read VGAMODE;
  512.     if [ "/dev/ram /" = "`rdev`" -a "cdroot" != "$INSTTYPE" ]; then
  513.         rdev -v $INSTDEV $VGAMODE
  514.     fi
  515. fi
  516. sync
  517.  
  518. echo "VGAMODE $VGAMODE" >> /root/etc/hwconfig
  519.  
  520. if [ "$INSTTYPE" = "cdroot" ]; then
  521.  
  522.     cat  > /root/etc/lilo.conf << LILOEOF
  523. boot=$ROOTDEVICE
  524. install = /boot/boot.b
  525. delay = 100
  526. vga=$VGAMODE
  527.   image = /zImage
  528.   label = linux
  529.   root = $ROOTDEVICE
  530. LILOEOF
  531.     rm -f /root/dev/MAKEDEV;  cp -a /mnt/etc/MAKEDEV /root/dev
  532.     /mnt/local/sbin/lilo -r /root
  533.     /mnt/local/sbin/lilo -r /root -R "linux local=$ROOTDEVICE root=/dev/$CDDEVICE"
  534.     echo "Installation is finished.  You should use fdisk to make"
  535.     echo "partition $ROOTDEVICE the active one to allow Linux boots."
  536.     echo "----------------------------------------------------------"
  537.     exit 0
  538. fi
  539.  
  540. (cd /bin && for i in *; do if [ -e /root/sbin/$i -o -e /root/bin/$i -o -e /root/usr/bin/$i ]; then
  541.     echo > /dev/null; else cp $i /root/bin; fi; done)
  542. if [ "$INSTSRC" != "" -a ! -e /root/usr/bin/gawk ]; then
  543.     (cd /root && cat /mnt/*/binutils.tgz | zcat | tar -xpf - usr/bin/awk usr/bin/gawk usr/bin/strings)
  544. fi
  545.  
  546. if [ -x /root/sbin/syssetup ]; then
  547.     (cd /root && sbin/syssetup -instroot /root -modem && \
  548.     sbin/syssetup -instroot /root -lilo && \
  549.     sbin/syssetup -instroot /root -hostname && \
  550.     sbin/sysperms -instroot /root -install )
  551. #    /bin/xsetup -instroot /root
  552. #    cp -a /bin/xsetup /root/sbin 
  553.     if [ ! -e /root/etc/inet ]; then (cd /root/etc && ln -s . inet) fi
  554. fi
  555. IMAIN=/root/usr/src/linux/init/main.c
  556. if [ -f $IMAIN ]; then
  557.     grep -q CONFIG_SOCKET $IMAIN && \
  558.     mv $IMAIN $IMAIN.bak && \
  559.     sed 's/CONFIG_SOCKET/1/' < $IMAIN.bak > $IMAIN;
  560. fi
  561.  
  562. if [ "$INSTTYPE" = "cdroot" ]; then
  563.     /mnt/etc/lilo/lilo -r /root -R "cdrom root=$ROOTDEVICE"
  564. fi
  565. ANOTHER=""
  566. while [ 1 ]; do
  567.     echo -n "If there is a$ANOTHER patch disk to install, insert it in A: and type y [n]: "
  568.     read ans;
  569.     if [ "$ans" = "y" ]; then
  570.         sysinstall -disk && echo "Patch disk installed..."
  571.         ANOTHER=" another"
  572.     else
  573.         break;
  574.     fi
  575. done
  576. sync
  577. echo "Installation is complete.  Hit enter to reboot your computer now..."
  578. if [ "/dev/ram /" != "`rdev`" ]; then
  579. echo ""
  580. echo "If you need to reboot using a floppy, do the following:"
  581. echo '     - when you see the word "LILO", hold down the ALT key'
  582. echo "     - type \"harddisk root=$ROOTDEVICE\" to boot to your installation"
  583. fi
  584. read ans
  585. /root/sbin/shutdown -rq now
  586.