Magellan Linux

Diff of /alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 520 by niro, Fri Jun 27 22:27:46 2008 UTC revision 527 by niro, Fri Jun 27 23:33:40 2008 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2  #  #
3  # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/bin/alxinstall-ng.sh,v 1.7 2008-06-27 22:27:46 niro Exp $  # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/bin/alxinstall-ng.sh,v 1.13 2008-06-27 23:33:40 niro Exp $
4  #  #
5  # AutoSta_LX Installation Script  # AutoSta_LX Installation Script
6  #  #
# Line 17  source /mnt/cdrom/system/images.conf Line 17  source /mnt/cdrom/system/images.conf
17  #Includes  #Includes
18  source /usr/lib/alxinstall-ng/functions/findhdd.sh > /dev/null  source /usr/lib/alxinstall-ng/functions/findhdd.sh > /dev/null
19  ### bugfix ###############################  ### bugfix ###############################
20  cdromdev="`echo $cdromdev|sed -e 's/ //'`"  cdromdev="$(echo ${cdromdev} | sed 's/ //')"
21  ########################################  ########################################
22    
23  ### System/Config Version  ### System/Config Version
24  VERSION="0.3"  VERSION="0.3"
25  TITLE="alxinstall-ng - ${VERSION}"  TITLE="alxinstall-ng - ${VERSION}"
26    
 #CONFIGS_TEMPLATE="/opt/alx-config/configs"  
   
27  CDPATH="/mnt/cdrom"  CDPATH="/mnt/cdrom"
28  INSTALLPATH="/mnt/magellan"  INSTALLPATH="/mnt/magellan"
29    
# Line 243  dialog_setup_hdd_partitions_manuell_flas Line 241  dialog_setup_hdd_partitions_manuell_flas
241   fi   fi
242  }  }
243    
 dialog_setup_hdd_partitions_silent()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --infobox "Erstelle Partitionen ..." 3 70  
 }  
   
244  dialog_setup_hdd_format()  dialog_setup_hdd_format()
245  {  {
246   dialog \   dialog \
# Line 275  dialog_install_meter() Line 266  dialog_install_meter()
266  {  {
267   while [[ ${CURRENTLINE} != ${TOTALLINES} ]]   while [[ ${CURRENTLINE} != ${TOTALLINES} ]]
268   do   do
269   CURRENTLINE=$(grep --count . /tmp/install.log)   CURRENTLINE=$(grep -c . /tmp/install.log)
270   PERCENT=$(expr ${CURRENTLINE} \* 100 / ${TOTALLINES})   PERCENT=$(( ${CURRENTLINE} * 100 / ${TOTALLINES}))
271   echo ${PERCENT}   echo ${PERCENT}
272   sleep 1   sleep 1
273   done   done
# Line 292  dialog_install_bootsector() Line 283  dialog_install_bootsector()
283   --infobox "Schreibe den Bootsektor ..." 3 70   --infobox "Schreibe den Bootsektor ..." 3 70
284  }  }
285    
 dialog_install_alxconfig()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --infobox "Installiere die ALX Setup-Tools ..." 3 70  
 }  
   
 dialog_install_kernel_image()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --infobox "Installiere den System-Kernel ..." 3 70  
   
 }  
   
 dialog_install_hotfixes()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --infobox "Installiere Hotfixes ..." 3 70  
   
 }  
   
286  dialog_install_successful()  dialog_install_successful()
287  {  {
288   dialog \   dialog \
# Line 333  dialog_install_failure() Line 301  dialog_install_failure()
301   " 10 81   " 10 81
302  }  }
303    
 dialog_install_method()  
 {  
   
  METHOD=$(dialog \  
  --backtitle "${TITLE}" \  
  --cancel-label "Abbrechen" \  
  --ok-label "Weiter" \  
  --stdout \  
  --menu "Konfiguration" 14 70 5 \  
  "1" "Normale Installation" \  
  "2" "Silent Installation")  
  RES=$?  
  [[ ${RES} -eq 1 ]] && return 1  
  if [[ ${RES} -eq 0 ]]  
  then  
  case ${METHOD} in  
          "1") run_install_normal ;;  
  "2") dialog_warning ; run_install_silent ;;  
  esac  
  fi  
 }  
   
304  dialog_main()  dialog_main()
305  {  {
306   METHOD=0   METHOD=0
# Line 372  dialog_main() Line 318  dialog_main()
318   "3" "Beenden und neustarten" \   "3" "Beenden und neustarten" \
319   "4" "Beenden und eine Shell starten")   "4" "Beenden und eine Shell starten")
320   RES=$?   RES=$?
321   if [[ ${RES} -eq 1 ]] && exit 1   [[ ${RES} -eq 1 ]] && exit 1
322   if [[ ${RES} -eq 0 ]]   if [[ ${RES} -eq 0 ]]
323   then   then
324   case ${METHOD} in   case ${METHOD} in
# Line 406  setup_hdd_partitions_manuell_flash() Line 352  setup_hdd_partitions_manuell_flash()
352   cfdisk ${HDD} || die   cfdisk ${HDD} || die
353  }  }
354    
 setup_hdd_partitions_silent()  
 {  
  ## hdds löschen  
  dd if=/dev/zero of=${HDD} bs=1024k count=1 || die  
  ## hdds partitionieren silent  
  fdisk ${HDD} < ${CONFIGS_TEMPLATE}/fdisksettings  
   
  read  
 }  
   
355  setup_hdd_format()  setup_hdd_format()
356  {  {
357   mkswap ${SWAPHDD} || die   mkswap ${SWAPHDD} || die
# Line 449  install_system_image() Line 385  install_system_image()
385   tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH}   tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH}
386  }  }
387    
   
 install_kernel_image()  
 {  
  declare -i CPUTYPE=$(cat /proc/cpuinfo | grep "cpu family" | cut -d ' ' -f3)  
   
  if [[ ${CPUTYPE} -le 5 ]]  
  then  
  lastdir="$(pwd)"  
   
  mkdir -p ${INSTALLPATH}/INSTALL/kernel || die  
  cd ${INSTALLPATH}/INSTALL/kernel || die  
  tar xzpf ${CDPATH}/kernels/kernel-i386.tar.gz || die  
  source ${INSTALLPATH}/INSTALL/kernel/kernelversion || die  
   
  cp -aRf ${INSTALLPATH}/INSTALL/kernel/${KRNLIB} ${INSTALLPATH}/lib/modules || die  
  cp -aRf ${INSTALLPATH}/INSTALL/kernel/${KRNIMG} ${INSTALLPATH}/boot || die  
  cp -aRf ${INSTALLPATH}/INSTALL/kernel/${KRNINITRD} ${INSTALLPATH}/boot || die  
  cp -aRf ${INSTALLPATH}/INSTALL/kernel/kernelversion ${INSTALLPATH}/boot || die  
   
  cd ${lastdir} || die  
   
         elif [[ ${CPUTYPE} -ge 6 ]]  
  then  
  lastdir="$(pwd)"  
   
  mkdir -p ${INSTALLPATH}/INSTALL/kernel || die  
  cd ${INSTALLPATH}/INSTALL/kernel || die  
  tar xzpf ${CDPATH}/kernels/kernel-i686.tar.gz || die  
  source ${INSTALLPATH}/INSTALL/kernel/kernelversion || die  
   
  cp -aRf ${INSTALLPATH}/INSTALL/kernel/${KRNLIB} ${INSTALLPATH}/lib/modules || die  
  cp -aRf ${INSTALLPATH}/INSTALL/kernel/${KRNIMG} ${INSTALLPATH}/boot || die  
  cp -aRf ${INSTALLPATH}/INSTALL/kernel/${KRNINITRD} ${INSTALLPATH}/boot || die  
  cp -aRf ${INSTALLPATH}/INSTALL/kernel/kernelversion ${INSTALLPATH}/boot || die  
   
  cd ${lastdir} || die  
         fi  
 }  
   
 install_bootsector()  
 {  
  ### grubconf schreiben  
  source ${INSTALLPATH}/INSTALL/kernel/kernelversion  
   
  [[ -z ${KRNVER} ]] && KRNVER="AutoSta_LX"  
  [[ -z ${KRNIMG} ]] && KRNIMG="bzImage"  
  [[ -z ${KRNINITRD} ]] && KRNINITRD="initrd"  
   
   
  echo -e "default 0" > ${INSTALLPATH}/boot/grub/grub.conf || die  
  echo -e "timeout 03" >> ${INSTALLPATH}/boot/grub/grub.conf ||die  
  echo -e "\ntitle=${KRNVER}" >> ${INSTALLPATH}/boot/grub/grub.conf || die  
  echo -e "root (hd0,0)" >> ${INSTALLPATH}/boot/grub/grub.conf || die  
   
  echo -e "kernel (hd0,0)/boot/${KRNIMG} root=${ROOTHDD} quiet" >> ${INSTALLPATH}/boot/grub/grub.conf || die  
   
  ### bootsector schreiben  
  /sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null || die  
 root (hd0,0)  
 setup (hd0)  
 quit  
 EOF  
 }  
   
388  install_bootsector_chroot()  install_bootsector_chroot()
389  {  {
390   ### grubconf schreiben   ### grubconf schreiben
# Line 526  install_bootsector_chroot() Line 398  install_bootsector_chroot()
398   KRNVER="ALX-${ALXVER}"   KRNVER="ALX-${ALXVER}"
399   ALXVER="${OLD_ALXVER}"   ALXVER="${OLD_ALXVER}"
400   fi   fi
401    
402   [[ -z ${KRNVER} ]] && KRNVER="AutoSta_LX"   [[ -z ${KRNVER} ]] && KRNVER="AutoSta_LX"
  [[ -z ${KRNIMG} ]] && KRNIMG="bzImage"  
403   [[ -z ${KRNINITRD} ]] && KRNINITRD="initrd"   [[ -z ${KRNINITRD} ]] && KRNINITRD="initrd"
404    
405   echo -e "default 0" > ${INSTALLPATH}/boot/grub/grub.conf || die   echo "default 0" > ${INSTALLPATH}/boot/grub/grub.conf || die
406   echo -e "timeout 0" >> ${INSTALLPATH}/boot/grub/grub.conf ||die   echo "timeout 0" >> ${INSTALLPATH}/boot/grub/grub.conf ||die
407    
408   echo -e "\ntitle=${KRNVER}" >> ${INSTALLPATH}/boot/grub/grub.conf || die   echo -e "\ntitle=${KRNVER}" >> ${INSTALLPATH}/boot/grub/grub.conf || die
409   echo -e "root (hd0,0)" >> ${INSTALLPATH}/boot/grub/grub.conf || die   echo "root (hd0,0)" >> ${INSTALLPATH}/boot/grub/grub.conf || die
410    
411   echo -e "kernel (hd0,0)/boot/${KRNIMG} root=${ROOTHDD} quiet" >> ${INSTALLPATH}/boot/grub/grub.conf || die   echo "kernel /boot/vmlinuz root=${ROOTHDD} quiet" >> ${INSTALLPATH}/boot/grub/grub.conf || die
412     echo "initrd /boot/initrd" >> ${INSTALLPATH}/boot/grub/grub.conf || die
413    
414   ### bootsector schreiben chrooted schreiben (gentoo)   # bootsector schreiben chrooted schreiben (lfs/magellan)
415   if [ -f ${INSTALLPATH}/sbin/grub ]   cat > ${INSTALLPATH}/root/.bashrc << CHROOTEOF
  then  
  cat > ${INSTALLPATH}/root/.bashrc << CHROOTEOF  
 /sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null  
 root (hd0,0)  
 setup (hd0)  
 quit  
 EOF  
 exit 0  
 CHROOTEOF  
  fi  
   
  ### bootsector schreiben chrooted schreiben (lfs/magellan)  
  if [ -f ${INSTALLPATH}/usr/sbin/grub ]  
  then  
  cat > ${INSTALLPATH}/root/.bashrc << CHROOTEOF  
416  /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null  /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null
417  root (hd0,0)  root (hd0,0)
418  setup (hd0)  setup (hd0)
419  quit  quit
420  EOF  EOF
421    echo "MODULES=\"ext3 amd74xx piix sis5513 via82cxxx\"" > /etc/conf.d/mkinitrd
422    mkinitrd -f /boot/$(readlink /boot/initrd) $(readlink /boot/vmlinuz | sed "s:kernel-::g")
423  exit 0  exit 0
424  CHROOTEOF  CHROOTEOF
  fi  
425    
426   ##enters chroot   ## enters chroot
427   mount -t proc none ${INSTALLPATH}/proc   mount -t proc proc ${INSTALLPATH}/proc
428     mount -t sysfs sysfs ${INSTALLPATH}/sys
429   mount -o bind /dev ${INSTALLPATH}/dev   mount -o bind /dev ${INSTALLPATH}/dev
430   chroot ${INSTALLPATH} /bin/bash --rcfile /root/.bashrc -i   chroot ${INSTALLPATH} /bin/bash --rcfile /root/.bashrc -i
431   umount ${INSTALLPATH}/proc   umount ${INSTALLPATH}/proc
432     umount ${INSTALLPATH}/sys
433   umount ${INSTALLPATH}/dev   umount ${INSTALLPATH}/dev
434   rm ${INSTALLPATH}/root/.bashrc   rm ${INSTALLPATH}/root/.bashrc
435  }  }
436    
 install_alxconfig()  
 {  
  lastdir="$(pwd)"  
   
  mkdir -p ${INSTALLPATH}/opt/alx-config || die  
  cd ${INSTALLPATH}/opt/alx-config || die  
  tar xzpf ${CDPATH}/alx-config/alx-config.tar.gz || die  
  chmod a+x ${INSTALLPATH}/opt/alx-config/Configurator/config_functions.sh || die  
  chmod a+x ${INSTALLPATH}/opt/alx-config/Configurator/config_menu.sh || die  
  ln -sf /opt/alx-config/Configurator/config_menu.sh ${INSTALLPATH}/bin/ALXConfig || die  
   
  cd ${lastdir} || die  
 }  
   
   
437  install_system_settings()  install_system_settings()
438  {  {
439   ### schreibe fstab   # schreibe fstab
440   echo -e "${BOOTHDD}\t/boot\text3\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die   echo -e "${BOOTHDD}\t/boot\text3\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die
441   echo -e "${ROOTHDD}\t/\text3\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die   echo -e "${ROOTHDD}\t/\text3\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die
442   echo -e "${SWAPHDD}\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || die   echo -e "${SWAPHDD}\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || die
443   echo -e "none\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
444     echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
  echo -e "none\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die  
  echo -e "none\t/proc/bus/usb\tusbfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die  
445  }  }
446    
447  install_system_settings_flash()  install_system_settings_flash()
448  {  {
449   ### schreibe fstab   # schreibe fstab
450   echo -e "${ROOTHDD}\t/\text3\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || die   echo -e "${ROOTHDD}\t/\text3\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || die
451   echo -e "none\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
452     echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
  echo -e "none\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die  
  echo -e "none\t/proc/bus/usb\tusbfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die  
 }  
   
 install_hotfixes()  
 {  
  if [ -f ${CDPATH}/hotfixes/hotfixes.sh ]  
  then  
  dialog_hotfixes  
  sleep1  
  ${CDPATH}/hotfixes/hotfixes.sh  
  fi  
453  }  }
454    
455  install_umount_rootfs()  install_umount_rootfs()
# Line 660  run_install_normal() Line 491  run_install_normal()
491   dialog_install_settings   dialog_install_settings
492   sleep 1   sleep 1
493   install_system_settings   install_system_settings
  install_hotfixes  
494   install_umount_rootfs   install_umount_rootfs
495   dialog_install_successful   dialog_install_successful
496  }  }
# Line 681  run_install_flash() Line 511  run_install_flash()
511   dialog_install_settings   dialog_install_settings
512   sleep 1   sleep 1
513   install_system_settings_flash   install_system_settings_flash
  install_hotfixes  
514   install_umount_rootfs_flash   install_umount_rootfs_flash
515   dialog_install_successful   dialog_install_successful
516  }  }
517    
518  run_install_silent()  dialog_main
 {  
  echo "starting silent install ..."  
  sleep 1  
 }  
   
 run_install_unattended()  
 {  
  echo "starting unattended install ..."  
  sleep 1  
 }  
   
 if [[ $1 = unattended ]]  
 then  
  run_install_unattended  
 else  
  dialog_main  
 fi  
519    
520  exit 0  exit 0

Legend:
Removed from v.520  
changed lines
  Added in v.527