home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / sbin / base_configure < prev    next >
Text File  |  1999-11-12  |  4KB  |  147 lines

  1. #!/bin/sh 
  2. ####################################
  3. #Name : base_configure
  4. #
  5. #Description:  To install a base linux system  
  6. #Copyright (C) 1999 Corel Corporation 
  7. # EXHIBIT A -Corel Public License. 
  8. # The contents of this file are subject to the Corel Public License 
  9. # Version 1.0 (the "License"); you may not use this file except in 
  10. # compliance  with the License. You may obtain a copy of the License at 
  11. # linux.corel.com/linuxproducts/corellinux/license.htm. 
  12. # Software distributed under the License is distributed on an "AS IS" 
  13. # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the 
  14. # License for the specific language governing rights and limitations 
  15. # under the License. 
  16. # The Original Code is base_configure. 
  17. # The Initial Developer of the Original Code is Corel Corporation. 
  18. # Portions created by  Corel  are Copyright (C) 1999 All Rights Reserved. 
  19. # Contributor(s): ______________________________________. 
  20. ##############################################################
  21.  
  22.  
  23. #
  24. # Find the root device to install on as was chosen by the  
  25. # user in the setup UI and saved in /etc/harddrive.inf
  26. #
  27. NUM_PARTITIONS=$( etcdev -f /etc/harddrive.inf -N ) 
  28. x=1
  29. xx=0  # counter for the custom mount points
  30. if [ ! -z "$NUM_PARTITIONS" ]; then
  31. while [ "$x" -le "$NUM_PARTITIONS" ]
  32. do
  33.  DEV=$( etcdev -f /etc/harddrive.inf -n $x )
  34.  x=$(($x+1))    # increment $x through each pass 
  35.  MOUNTYPE=$( etcdev -f /etc/harddrive.inf -c $DEV -t mount_type -G )
  36.  TYPE=$( etcdev -f /etc/harddrive.inf -c $DEV -t type -G )
  37.  MNTPNT=$( etcdev -f /etc/harddrive.inf -c $DEV -t mount_point -G )
  38.  if [ "$MOUNTYPE" = "root" ]
  39.  then 
  40.   ROOT=$DEV  
  41.  fi
  42.  if [ "$TYPE" = "0x82" ]
  43.  then
  44.  export SWAP=$DEV
  45.  fi 
  46.  
  47.  # Add the devices that need to be mounted in /target, to an array
  48.  if [ "$TYPE" = "0x83" ] && [ $( echo $MNTPNT | grep '^/' ) ]
  49.  then
  50.   MOUNTS[$xx]=$DEV
  51.     xx=$(($xx+1))
  52.  fi 
  53. done
  54. else
  55. echo "Can't get NUM_PARTITIONS!";
  56. fi
  57.  
  58. #
  59. # Mount target installation drive and activate swap partition
  60. #
  61. if [ ! -z $ROOT ]; then
  62.     if [ ! -z $SWAP ] ; then
  63.         grep -w $SWAP /proc/swaps > /dev/null 2>&1
  64.         if [ $? -ne 0 ]; then
  65.             /instmnt/live/sbin/swapon $SWAP
  66.         fi
  67.     fi
  68.     /instmnt/live/bin/mount -t ext2 $ROOT /target
  69. else 
  70.     echo "Can't mount to /target!"
  71.     exit
  72. fi
  73.  
  74. # Mount the other ext2 partitions before installing base
  75. for i in "${MOUNTS[@]}"; do
  76.  MNTPNT=$( etcdev -f /etc/harddrive.inf -c $i -t mount_point -G )
  77.  mkdir /target$MNTPNT
  78.  mount -t ext2 $i /target$MNTPNT
  79. done
  80.  
  81. #
  82. # Install base system to the /target drive
  83. #
  84. cd /target
  85. bzip2 -dc /instmnt/live/target.bz2 | cpio -id > /dev/null 2>&1
  86.  
  87. cd /target
  88. /bin/chroot /target ln -s boot/vmlinuz-2.2.* vmlinuz-debug
  89. /bin/chroot /target ln -s boot/vmlinuz-2.2.*  vmlinuz
  90.  
  91. sleep 1
  92. sync
  93. sync
  94.   
  95. #
  96. # Copy devices  harddrive.inf to the new target drive
  97. #
  98. cp /etc/devices /target/etc/
  99. cp /etc/harddrive.inf /target/etc/
  100.  
  101. # Create /etc/lilo.conf, /etc/lilop.conf and /etc/fstab and runs lilo 
  102. # Do above unless there is something attached to /dev/loop1
  103. # In that case we are running loop device install
  104. skipfooze=`losetup /dev/loop1`
  105. if [ "$skipfooze" == "" ]
  106. then
  107.  /bin/chroot /target /sbin/fooze 
  108. else
  109.  /bin/chroot /target /sbin/fooze -F
  110. fi
  111.  
  112. # Setup the symlinks for the mouse and cdrom devices
  113. cp -a /dev/mouse /target/dev  
  114.  
  115. #
  116. # Setup sound on users system
  117. #
  118. # copy over the no sound temp file if user selects to not configure sound.
  119. cp /tmp/no_sound /target/tmp/no_sound > /dev/null 2>&1
  120. # copy over the category file so that we know what version {deluxe, standard...} we're installing.
  121. cp /var/lib/corel_setup/category /target/var/lib/corel_setup
  122. # configure sound or not(test is in sound_setup  script). 
  123. /bin/chroot /target /sbin/sound_setup
  124.  
  125. #
  126. # Setup X configuration utilities. 
  127. #
  128. # chmod ...xconf family
  129. /bin/chroot /target /bin/chmod 4755 /sbin/{testxconf,setxconf,buildxconf}
  130.  
  131. #
  132. # Need to mount the cdrom from the chroot environment
  133. #
  134. /bin/losetup /dev/loop0 $CDROM_DEV
  135. cd /target
  136. # Do not use /mnt or /cdrom as mount points some packages use these during installation 
  137. /bin/chroot /target mount dev/loop0 /tmp/cdrom
  138. /bin/chroot /target mount -t proc /proc /proc
  139.  
  140.  
  141.  
  142.  
  143.           
  144.