Magellan Linux

Diff of /trunk/installer-simple/bin/installer.sh.in

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

revision 2422 by niro, Tue Jan 7 13:54:06 2014 UTC revision 2436 by niro, Tue Jan 7 14:25:34 2014 UTC
# Line 27  for inc in %SYSCONFDIR%/installer.conf \ Line 27  for inc in %SYSCONFDIR%/installer.conf \
27   ${INSTALLER_LIBDIR}/functions/common.sh \   ${INSTALLER_LIBDIR}/functions/common.sh \
28   ${INSTALLER_LIBDIR}/functions/common-dialogs.sh \   ${INSTALLER_LIBDIR}/functions/common-dialogs.sh \
29   ${INSTALLER_LIBDIR}/functions/hwdetection.sh \   ${INSTALLER_LIBDIR}/functions/hwdetection.sh \
30     ${INSTALLER_LIBDIR}/functions/bootloader.sh \
31     ${INSTALLER_LIBDIR}/functions/initrd-tools.sh \
32   ${INSTALLER_LIBDIR}/functions/installer-dialogs.sh   ${INSTALLER_LIBDIR}/functions/installer-dialogs.sh
33  do  do
34   if [ -e ${inc} ]   if [ -e ${inc} ]
# Line 231  dialog_setup_hdd_partitions_auto() Line 233  dialog_setup_hdd_partitions_auto()
233   fi   fi
234  }  }
235    
236  run_hardware_detection_disks()  install_meter()
 {  
  local bootdev  
   
  # all disks but exclude ramdisks  
  export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d')  
  # remove the boot device from ALL_DISKS if it was an usbstick  
  if [[ $(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]]  
  then  
  bootdev="$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g')"  
  export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}")  
  fi  
  export ALL_CDROMS="$(get_hwinfo cdrom)"  
 }  
   
 dialog_setup_hdd_create_partitions()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --infobox "Erstelle Disk Partitionen ..." 3 70  
 }  
   
 dialog_setup_hdd_format()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --infobox "Erstelle Datei-Systeme ..." 3 70  
 }  
   
 dialog_install_settings()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --infobox "Speichere System-Einstellungen ..." 3 70  
 }  
   
 dialog_install_system_image()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --gauge "Kopiere System-Image ..." 6 80  
 }  
   
 dialog_install_meter()  
237  {  {
238   while [[ ${CURRENTLINE} != ${TOTALLINES} ]]   while [[ ${CURRENTLINE} != ${TOTALLINES} ]]
239   do   do
# Line 287  dialog_install_meter() Line 246  dialog_install_meter()
246   return 0   return 0
247  }  }
248    
   
 dialog_install_bootsector()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --infobox "Schreibe den Bootsektor ..." 3 70  
 }  
   
 dialog_install_successful()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --colors \  
  --msgbox "Die Installation war \Z2erfolgreich\Zn." 5 81  
 }  
   
 dialog_install_failure()  
 {  
  dialog \  
  --backtitle "${TITLE}" \  
  --colors \  
  --msgbox "Die Installation ist \Z1Fehlgeschlagen\Zn.\n\n\  
  Fehler bei ${ERROR}, RetVal: ${RETVAL} \  
  " 10 81  
 }  
   
249  dialog_main()  dialog_main()
250  {  {
251   METHOD=0   local method=0
252     local retval
253    
254   while [[ ${METHOD} -le 2 ]]   while [[ ${method} -le 2 ]]
255   do   do
256   METHOD=$(dialog \   method=$(menubox $"Configuration:" \
257   --backtitle "${TITLE}" \   $"1:Install system" \
258   --no-cancel \   $"2:Show detected harddrives" \
259   --ok-label "Weiter" \   $"3:Exit and reboot" \
260   --stdout \   $"4:Exit and drop into a shell")
261   --menu "Konfiguration" 14 70 5 \   retval=$?
262   "1" "AutoSta_LX installieren" \   [[ ${retval} -eq 1 ]] && exit 1
263   "2" "Uebersicht gefundener Laufwerke" \   if [[ ${retval} -eq 0 ]]
  "3" "Beenden und neustarten" \  
  "4" "Beenden und eine Shell starten")  
  RES=$?  
  [[ ${RES} -eq 1 ]] && exit 1  
  if [[ ${RES} -eq 0 ]]  
264   then   then
265   case ${METHOD} in   case ${method} in
266   "1") dialog_setup_system_menu ;;   "1") dialog_setup_system_menu ;;
267   "2") dialog_hardware_detection ;;   "2") dialog_hardware_detection ;;
268   "3") install_do_reboot ;;   "3") install_do_reboot ;;
# Line 352  run_hardware_detection() Line 281  run_hardware_detection()
281    
282   hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)"   hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)"
283    
284   # check for special devices/clients:   ## check for special devices/clients:
285   # if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd   ## if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd
286   local removable=0   #local removable=0
287   if [[ ! -z $(echo "${hwinfo}" | grep -i zotac) ]]   #if [[ ! -z $(echo "${hwinfo}" | grep -i zotac) ]]
288   then   #then
289   for i in /sys/block/[hs]d*/removable   #for i in /sys/block/[hs]d*/removable
290   do   #do
291   if [[ $(< ${i}) = 1 ]]   #if [[ $(< ${i}) = 1 ]]
292   then   #then
293   removable=1   #removable=1
294   fi   #fi
295   done   #done
296     ## smartcard = udevadm info -n /dev/sda -a | grep -i 'configuration.*card'
297   # only add this for grub legacy, grub2 detect these settings on its own  
298   export GRUBLEGACYOPTS="rootdelay=8"   ## only add this for grub legacy, grub2 detect these settings on its own
299   # there are to zotac types in the wild, nvidia based gfx and intel   #export GRUBLEGACYOPTS="rootdelay=8"
300   if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]]   ## there are to zotac types in the wild, nvidia based gfx and intel
301   then   #if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]]
302   export SPECIALDEVICE="zotac_nvidia"   #then
303   else   #export SPECIALDEVICE="zotac_nvidia"
304   export SPECIALDEVICE="zotac_intel"   #else
305   fi   #export SPECIALDEVICE="zotac_intel"
306   fi   #fi
307     #fi
308    
309   # check for special devices/clients:   # check for special devices/clients:
310   # if a rangee and disk ist smaller then 256mb move partion one block further ahead   # if a rangee and disk ist smaller then 256mb move partion one block further ahead
# Line 403  run_hardware_detection() Line 333  run_hardware_detection()
333   fi   fi
334  }  }
335    
336    run_hardware_detection_disks()
337    {
338     local bootdev
339    
340     # all disks but exclude ramdisks
341     export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d')
342     # remove the boot device from ALL_DISKS if it was an usbstick
343     if [[ $(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]]
344     then
345     bootdev="$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g')"
346     export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}")
347     fi
348     export ALL_CDROMS="$(get_hwinfo cdrom)"
349    }
350    
351  hdd_size_below_256mb()  hdd_size_below_256mb()
352  {  {
353   local hdd="$1"   local hdd="$1"
# Line 425  setup_hdd_partitions_auto() Line 370  setup_hdd_partitions_auto()
370  {  {
371   ROOTHDD="${HDD}1"   ROOTHDD="${HDD}1"
372    
373     # sanity check - should not happen
374     if is_mounted --device "${ROOTHDD}"
375     then
376     echo "partition: device ${ROOTHDD} is already mounted, umount it" >&2
377     umount "${ROOTHDD}"
378     fi
379    
380   # run this only if FDISKPARTITIONBELOW256MB is not already 1   # run this only if FDISKPARTITIONBELOW256MB is not already 1
381   if [[ ${FDISKPARTIONBELOW256MB} != 1 ]]   if [[ ${FDISKPARTIONBELOW256MB} != 1 ]]
382   then   then
# Line 493  setup_hdd_partitions_manual() Line 445  setup_hdd_partitions_manual()
445    
446  setup_hdd_format()  setup_hdd_format()
447  {  {
448   mke2fs -j -q ${ROOTHDD} || dialog_die   # sanity check - should not happen
449     if is_mounted --device "${ROOTHDD}"
450     then
451     echo "format: device ${ROOTHDD} is already mounted, umount it" >&2
452     umount "${ROOTHDD}"
453     fi
454    
455     mkfs."${FORMAT_FILESYSTEM}" -q "${ROOTHDD}" || dialog_die
456  }  }
457    
458  install_mount_rootfs()  install_mount_rootfs()
459  {  {
460   mount ${ROOTHDD} ${INSTALLROOT} || dialog_die   is_mounted --location "${INSTALLROOT}" || mount "${ROOTHDD}" "${INSTALLROOT}"
461   install -d ${INSTALLROOT}/boot || dialog_die   install -d ${INSTALLROOT}/boot || dialog_die
  cd ${INSTALLROOT} || dialog_die  
462  }  }
463    
464  install_system_image()  install_system_image()
465  {  {
466     pushd ${INSTALLROOT} > /dev/null
467   tar xvjpf ${CDROOT}/system/${CDIMAGENAME} -C ${INSTALLROOT}   tar xvjpf ${CDROOT}/system/${CDIMAGENAME} -C ${INSTALLROOT}
468     popd > /dev/null
469  }  }
470    
471  install_bootsector_chroot()  install_bootsector_chroot()
# Line 609  exit 0 Line 569  exit 0
569  CHROOTEOF  CHROOTEOF
570   fi   fi
571    
572   ## enter chroot   # run installrc
573   mount -t proc proc ${INSTALLROOT}/proc   chrooted /bin/bash --rcfile /root/.installrc -i
  mount -t sysfs sysfs ${INSTALLROOT}/sys  
  mount -o bind /dev ${INSTALLROOT}/dev  
  chroot ${INSTALLROOT} /bin/bash --rcfile /root/.installrc -i  
  umount ${INSTALLROOT}/proc  
  umount ${INSTALLROOT}/sys  
  umount ${INSTALLROOT}/dev  
574   rm ${INSTALLROOT}/root/.installrc   rm ${INSTALLROOT}/root/.installrc
575  }  }
576    
# Line 669  mkinitrd -f /boot/$(readlink /boot/initr Line 623  mkinitrd -f /boot/$(readlink /boot/initr
623  exit 0  exit 0
624  CHROOTEOF  CHROOTEOF
625    
626   ## enters chroot   # run installrc
627   mount -t proc proc ${INSTALLROOT}/proc   chrooted /bin/bash --rcfile /root/.installrc -i
  mount -t sysfs sysfs ${INSTALLROOT}/sys  
  mount -o bind /dev ${INSTALLROOT}/dev  
  chroot ${INSTALLROOT} /bin/bash --rcfile /root/.installrc -i  
  umount ${INSTALLROOT}/proc  
  umount ${INSTALLROOT}/sys  
  umount ${INSTALLROOT}/dev  
628   rm ${INSTALLROOT}/root/.installrc   rm ${INSTALLROOT}/root/.installrc
629  }  }
630    
# Line 746  install_system_settings() Line 694  install_system_settings()
694    
695  install_umount_rootfs()  install_umount_rootfs()
696  {  {
697   cd /   is_mounted --location ${INSTALLROOT}/boot && umount ${INSTALLROOT}/boot
698   umount ${INSTALLROOT}/boot || dialog_die   is_mounted --location ${INSTALLROOT} && umount ${INSTALLROOT}
  umount ${INSTALLROOT} || dialog_die  
699  }  }
700    
701  install_do_reboot()  install_do_reboot()
# Line 768  run_install_normal() Line 715  run_install_normal()
715   dialog_setup_hdd_format   dialog_setup_hdd_format
716   setup_hdd_format > /dev/null   setup_hdd_format > /dev/null
717   install_mount_rootfs   install_mount_rootfs
718   (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image   (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | install_meter | dialog_install_system_image
719    
720   dialog_install_settings   dialog_install_settings
721   sleep 1   sleep 1
722   install_system_settings   install_system_settings
723     dialog_install_initrd
724   install_initrd_chroot   install_initrd_chroot
725    
726   dialog_install_bootsector   dialog_install_bootsector
# Line 790  run_install_auto() Line 738  run_install_auto()
738   dialog_setup_hdd_format   dialog_setup_hdd_format
739   setup_hdd_format > /dev/null   setup_hdd_format > /dev/null
740   install_mount_rootfs   install_mount_rootfs
741   (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image   (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | install_meter | dialog_install_system_image
742    
743   dialog_install_settings   dialog_install_settings
744   sleep 1   sleep 1
745   install_system_settings   install_system_settings
746     dialog_install_initrd
747   install_initrd_chroot   install_initrd_chroot
748    
749   dialog_install_bootsector   dialog_install_bootsector

Legend:
Removed from v.2422  
changed lines
  Added in v.2436