Magellan Linux

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

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

revision 5003 by niro, Wed Aug 7 10:42:07 2013 UTC revision 6817 by niro, Thu Jul 23 08:48:15 2015 UTC
# Line 11  Line 11 
11  # Install Navigation Gui  # Install Navigation Gui
12  #  #
13    
14  #images: (get ${CDIMAGENAME})  # ignore environment!
15    LC_ALL=C
16    
17    MLIBDIR="/usr/lib/alxinstall-ng"
18    
19    # images: (get ${CDIMAGENAME})
20  source /mnt/cdrom/system/images.conf  source /mnt/cdrom/system/images.conf
21    
22  #Includes  # includes
23  source /usr/lib/alxinstall-ng/functions/findhdd.sh > /dev/null  source ${MLIBDIR}/functions/hwdetection.sh
 ### bugfix ###############################  
 cdromdev="$(echo ${cdromdev} | sed 's/ //')"  
 ########################################  
24    
25  ### System/Config Version  ### System/Config Version
26  VERSION="%VERSIONTAG%"  VERSION="%VERSIONTAG%"
# Line 37  KERNELOPTS="quiet video=1024x768" Line 39  KERNELOPTS="quiet video=1024x768"
39  # grub options  # grub options
40  GRUBLEGACYOPTS=""  GRUBLEGACYOPTS=""
41  GRUB2OPTS=""  GRUB2OPTS=""
42    GRUB2GFXPAYLOAD="1024x768x16,1024x768"
43    
44  # fdisk options  # fdisk options
45  FDISKPARTIONBELOW256MB=0  FDISKPARTIONBELOW256MB=0
# Line 94  dialog_setup_hdd_info() Line 97  dialog_setup_hdd_info()
97   Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81   Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81
98  }  }
99    
100  dialog_setup_hdd_info_flash()  dialog_setup_hdd_info_simple()
101  {  {
102   local SHDD="$(echo $HDD | sed 's/\/dev\///')"   local SHDD="$(echo $HDD | sed 's/\/dev\///')"
103    
# Line 144  dialog_setup_system_menu() Line 147  dialog_setup_system_menu()
147   then   then
148   case "${i}" in   case "${i}" in
149   "1") run_install_auto ;;   "1") run_install_auto ;;
150           "2") run_install_normal ;;   "2") run_install_normal ;;
151   "3") run_install_flash ;;   "3") run_install_simple ;;
152   "") dialog_setup_system_menu;;   "") dialog_setup_system_menu;;
153   esac   esac
154   fi   fi
# Line 163  dialog_hardware_detection() Line 166  dialog_hardware_detection()
166   hwtmp="/tmp/hwtmp.sh"   hwtmp="/tmp/hwtmp.sh"
167   fi   fi
168    
169   [[ ! -z ${installdevs} ]] && installdevs=""   run_hardware_detection_disks
170    
171   echo "dialog \\"  > ${hwtmp}   echo "dialog \\"  > ${hwtmp}
172   echo "--backtitle \"${TITLE}\" \\" >> ${hwtmp}   echo "--backtitle \"${TITLE}\" \\" >> ${hwtmp}
# Line 173  dialog_hardware_detection() Line 176  dialog_hardware_detection()
176   echo "--msgbox \"Gefundene Hardware:\n\n \\" >> ${hwtmp}   echo "--msgbox \"Gefundene Hardware:\n\n \\" >> ${hwtmp}
177   echo " Festplatten:\n \\" >> ${hwtmp}   echo " Festplatten:\n \\" >> ${hwtmp}
178    
179   if [[ ! -z ${scsidisks} ]]   if [[ ! -z ${ALL_DISKS} ]]
180   then   then
181   for i in ${scsidisks}   for i in ${ALL_DISKS}
182   do   do
183   if [[ ${i} != ${cdromdev} ]]   echo " \\Z3${i}\\Zn\n \\" >> ${hwtmp}
  then  
  echo " \\Z7SCSI: \\Z3${i}\\Zn\n \\" >> ${hwtmp}  
  installdevs="${installdevs} ${i}"  
  fi  
184   done   done
185   fi   fi
186    
187   if [[ ! -z ${idedisks} ]]   if [[ ! -z ${ALL_CDROMS} ]]
188   then   then
189   for i in ${idedisks}   echo " \n \\" >> ${hwtmp}
190     echo " CDROM Laufwerke:\n \\" >> ${hwtmp}
191     for i in ${ALL_CDROMS}
192   do   do
193   if [[ ${i} != ${cdromdev} ]]   echo " \\Z3${i}\\Zn\n \\" >> ${hwtmp}
  then  
  echo " \\Z7IDE:  \\Z3${i}\\Zn\n \\" >> ${hwtmp}  
  installdevs="${installdevs} ${i}"  
  fi  
194   done   done
195   fi   fi
196    
  if [[ ! -z ${cdromdev} ]]  
  then  
  echo " \n \\" >> ${hwtmp}  
  echo " \\Z7andere Laufwerke:\n \\" >> ${hwtmp}  
  echo " CDROM: \\Z3${cdromdev}\\Zn\n \\" >> ${hwtmp}  
  fi  
   
197   # other devices   # other devices
198   run_hardware_detection   run_hardware_detection
199   case "${SPECIALDEVICE}" in   case "${SPECIALDEVICE}" in
200   zotac*) echo " \n\n\n \\Z2Zotac Device erkannt!\\Zn \\" >> ${hwtmp} ;;   zotac*) echo " \n \\Z2Zotac Device erkannt.\\Zn \\" >> ${hwtmp} ;;
201   rangee) echo " \n\n\n \\Z2Rangee Device erkannt!\\Zn \\" >> ${hwtmp} ;;   rangee) echo " \n \\Z2Rangee Device erkannt.\\Zn \\" >> ${hwtmp} ;;
202   maxdata) echo " \n\n\n \\Z2Maxdata Device erkannt!\\Zn \\" >> ${hwtmp} ;;   maxdata) echo " \n \\Z2Maxdata Device erkannt.\\Zn \\" >> ${hwtmp} ;;
203   *) echo " \n\n\n \\ZnStandard Device erkannt!\\Zn \\" >> ${hwtmp} ;;   i845) echo " \n \\Z2Intel i845 Device erkannt.\\Zn \\" >> ${hwtmp} ;;
204     *) echo " \n \\ZnStandard Device erkannt.\\Zn \\" >> ${hwtmp} ;;
205   esac   esac
206   if [[ ${FORMFACTOR} = laptop ]]   if [[ ${FORMFACTOR} = laptop ]]
207   then   then
208   echo " \n\n\n \\ZnFormfactor Laptop erkannt, Powersave Modus 'ondemand' wird aktiviert!\\Zn \\" >> ${hwtmp} ;;   echo " \n \\ZnFormfactor Laptop, Powersave Modus 'ondemand' wird aktiviert.\\Zn \\" >> ${hwtmp}
209   fi   fi
210    
211   echo " \" 13 70" >> ${hwtmp}   echo " \" 14 70" >> ${hwtmp}
212   chmod a+x ${hwtmp}   chmod a+x ${hwtmp}
213   ${hwtmp}   ${hwtmp}
214    
# Line 232  dialog_setup_hdd_partitions_manuell() Line 223  dialog_setup_hdd_partitions_manuell()
223  {  {
224   local i   local i
225    
226   if [[ -z ${installdevs} ]]   if [[ -z ${ALL_DISKS} ]]
227   then   then
228   dialog \   dialog \
229   --backtitle "${TITLE}" \   --backtitle "${TITLE}" \
# Line 248  dialog_setup_hdd_partitions_manuell() Line 239  dialog_setup_hdd_partitions_manuell()
239   echo "--stdout \\" >> /tmp/hddtmp.sh   echo "--stdout \\" >> /tmp/hddtmp.sh
240   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
241    
242   for i in ${installdevs}   for i in ${ALL_DISKS}
243   do   do
244   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
245   done   done
# Line 266  dialog_setup_hdd_partitions_manuell() Line 257  dialog_setup_hdd_partitions_manuell()
257   fi   fi
258  }  }
259    
260  dialog_setup_hdd_partitions_manuell_flash()  dialog_setup_hdd_partitions_manuell_simple()
261  {  {
262   local i   local i
263    
264   if [[ -z ${installdevs} ]]   if [[ -z ${ALL_DISKS} ]]
265   then   then
266   dialog \   dialog \
267   --backtitle "${TITLE}" \   --backtitle "${TITLE}" \
# Line 286  dialog_setup_hdd_partitions_manuell_flas Line 277  dialog_setup_hdd_partitions_manuell_flas
277   echo "--stdout \\" >> /tmp/hddtmp.sh   echo "--stdout \\" >> /tmp/hddtmp.sh
278   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
279    
280   for i in ${installdevs}   for i in ${ALL_DISKS}
281   do   do
282   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
283   done   done
# Line 298  dialog_setup_hdd_partitions_manuell_flas Line 289  dialog_setup_hdd_partitions_manuell_flas
289   [[ ${RES} -eq 1 ]] && return 1   [[ ${RES} -eq 1 ]] && return 1
290   if [[ ${RES} -eq 0 ]]   if [[ ${RES} -eq 0 ]]
291   then   then
292   dialog_setup_hdd_info_flash   dialog_setup_hdd_info_simple
293   setup_hdd_partitions_manuell_flash   setup_hdd_partitions_manuell_simple
294   fi   fi
295   fi   fi
296  }  }
# Line 308  dialog_setup_hdd_partitions_auto() Line 299  dialog_setup_hdd_partitions_auto()
299  {  {
300   local i   local i
301    
302   if [[ -z ${installdevs} ]]   if [[ -z ${ALL_DISKS} ]]
303   then   then
304   dialog \   dialog \
305   --backtitle "${TITLE}" \   --backtitle "${TITLE}" \
# Line 324  dialog_setup_hdd_partitions_auto() Line 315  dialog_setup_hdd_partitions_auto()
315   echo "--stdout \\" >> /tmp/hddtmp.sh   echo "--stdout \\" >> /tmp/hddtmp.sh
316   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
317    
318   for i in ${installdevs}   for i in ${ALL_DISKS}
319   do   do
320   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
321   done   done
# Line 431  dialog_main() Line 422  dialog_main()
422   if [[ ${RES} -eq 0 ]]   if [[ ${RES} -eq 0 ]]
423   then   then
424   case ${METHOD} in   case ${METHOD} in
425           "1") dialog_setup_system_menu ;;   "1") dialog_setup_system_menu ;;
426   "2") dialog_hardware_detection ;;   "2") dialog_hardware_detection ;;
427   "3") install_do_reboot ;;   "3") install_do_reboot ;;
428   "4") /bin/bash --login -i ;;   "4") /bin/bash --login -i ;;
# Line 464  run_hardware_detection() Line 455  run_hardware_detection()
455    
456   # only add this for grub legacy, grub2 detect these settings on its own   # only add this for grub legacy, grub2 detect these settings on its own
457   export GRUBLEGACYOPTS="rootdelay=8"   export GRUBLEGACYOPTS="rootdelay=8"
458   # there are to zotac types in the wild, nvidia based gfx and intel   # there are two zotac types in the wild, nvidia based gfx and intel
459   if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]]   if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]]
460   then   then
461   export SPECIALDEVICE="zotac_nvidia"   export SPECIALDEVICE="zotac_nvidia"
# Line 491  run_hardware_detection() Line 482  run_hardware_detection()
482   export GRUBLEGACYOPTS=""   export GRUBLEGACYOPTS=""
483   fi   fi
484    
485     # check for i845 Chipsets and disable KMS and use 915 drm driver
486     if [[ ! -z $(echo "${hwinfo}" | grep -i i845) ]]
487     then
488     export SPECIALDEVICE="i845"
489     # unset default video=1024x768 opt or the drm driver breaks
490     export KERNELOPTS="quiet"
491     export GRUBLEGACYOPTS=""
492     # enable full kms support
493     export GRUB2GFXPAYLOAD="keep"
494     fi
495    
496     # check for radeon gfxcards
497     if [[ ! -z $(echo "${hwinfo}" | grep -i radeon) ]]
498     then
499     # enable full kms support
500     export GRUB2GFXPAYLOAD="keep"
501     fi
502    
503   # check for special devices/clients:   # check for special devices/clients:
504   # check for laptops and activate cpufreq scaling   # check for laptops and activate cpufreq scaling
505   if [[ $(echo "${hwinfo}" | grep 'Formfactor:' | sed 's:.*Formfactor\:\ \"\(.*\)\":\1:') = laptop ]]   if [[ $(echo "${hwinfo}" | grep 'Formfactor:' | sed 's:.*Formfactor\:\ \"\(.*\)\":\1:') = laptop ]]
# Line 500  run_hardware_detection() Line 509  run_hardware_detection()
509   fi   fi
510  }  }
511    
512    run_hardware_detection_disks()
513    {
514     local bootdev
515    
516     # all disks but exclude ramdisks
517     export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d')
518     # remove the boot device from ALL_DISKS if it was an usbstick
519     if [[ $(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]]
520     then
521     bootdev="$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g')"
522     export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}")
523     fi
524     export ALL_CDROMS="$(get_hwinfo cdrom)"
525    }
526    
527  hdd_size_below_256mb()  hdd_size_below_256mb()
528  {  {
529   local hdd="$1"   local hdd="$1"
# Line 590  setup_hdd_partitions_manuell() Line 614  setup_hdd_partitions_manuell()
614   cfdisk ${HDD} || die   cfdisk ${HDD} || die
615  }  }
616    
617  setup_hdd_partitions_manuell_flash()  setup_hdd_partitions_manuell_simple()
618  {  {
619   ROOTHDD="${HDD}1"   ROOTHDD="${HDD}1"
620    
# Line 605  setup_hdd_format() Line 629  setup_hdd_format()
629   mke2fs -j -q ${ROOTHDD} || die   mke2fs -j -q ${ROOTHDD} || die
630  }  }
631    
632  setup_hdd_format_flash()  setup_hdd_format_simple()
633  {  {
634   mke2fs -j -q ${ROOTHDD} || die   mke2fs -j -q ${ROOTHDD} || die
635  }  }
# Line 619  install_mount_rootfs() Line 643  install_mount_rootfs()
643   cd ${INSTALLPATH} || die   cd ${INSTALLPATH} || die
644  }  }
645    
646  install_mount_rootfs_flash()  install_mount_rootfs_simple()
647  {  {
648   mount ${ROOTHDD} ${INSTALLPATH} || die   mount ${ROOTHDD} ${INSTALLPATH} || die
649   install -d ${INSTALLPATH}/boot || die   install -d ${INSTALLPATH}/boot || die
# Line 650  install_bootsector_chroot() Line 674  install_bootsector_chroot()
674   if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]]   if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]]
675   then   then
676   sed -i "s:^\(export GRUB_CMDLINE_LINUX_DEFAULT=\).*:\1\"${KERNELOPTS}\":" ${INSTALLPATH}/etc/conf.d/grub || die   sed -i "s:^\(export GRUB_CMDLINE_LINUX_DEFAULT=\).*:\1\"${KERNELOPTS}\":" ${INSTALLPATH}/etc/conf.d/grub || die
677     sed -i "s:^\(export GRUB_GFXPAYLOAD_LINUX=\).*:\1\"${GRUB2GFXPAYLOAD}\":" ${INSTALLPATH}/etc/conf.d/grub || die
678   else   else
679   echo "export GRUB_CMDLINE_LINUX_DEFAULT=\"${KERNELOPTS}\"" >  ${INSTALLPATH}/etc/conf.d/grub || die   echo "export GRUB_CMDLINE_LINUX_DEFAULT=\"${KERNELOPTS}\"" >  ${INSTALLPATH}/etc/conf.d/grub || die
680     echo "export GRUB_GFXPAYLOAD_LINUX=\"${GRUB2GFXPAYLOAD}\"" >>  ${INSTALLPATH}/etc/conf.d/grub || die
681   fi   fi
682   echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || die   echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || die
683   echo "LC_ALL=C grub-mkconfig -o ${grub2conf}  &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die   echo "LC_ALL=C grub-mkconfig -o ${grub2conf}  &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die
# Line 762  install_initrd_chroot() Line 788  install_initrd_chroot()
788   DRMMODS="i915 mga nouveau r128 radeon savage sis tdfx ttm via"   DRMMODS="i915 mga nouveau r128 radeon savage sis tdfx ttm via"
789   OTHERMODS=""   OTHERMODS=""
790   case ${SPECIALDEVICE} in   case ${SPECIALDEVICE} in
791   zotac_intel) FBMODS=""; DRMMODS="i915" ;;   zotac_intel|i845) FBMODS=""; DRMMODS="i915" ;;
792   zotac_nvidia) FBMODS=""; DRMMODS="nouveau" ;;   zotac_nvidia) FBMODS=""; DRMMODS="nouveau" ;;
793   rangee) FBMODS="" ;; ## fallback to vesafb, viafb does not run on all CLE266 boards   rangee) FBMODS="" ;; ## fallback to vesafb, viafb does not run on all CLE266 boards
794   # not working with kms enabled drivers -> segfaults   # not working with kms enabled drivers -> segfaults
# Line 869  install_system_settings() Line 895  install_system_settings()
895   fi   fi
896  }  }
897    
898  install_system_settings_flash()  install_system_settings_simple()
899  {  {
900   # schreibe fstab   # schreibe fstab
901   if is_uuid_supported   if is_uuid_supported
# Line 890  install_umount_rootfs() Line 916  install_umount_rootfs()
916   swapoff ${SWAPHDD} || die   swapoff ${SWAPHDD} || die
917  }  }
918    
919  install_umount_rootfs_flash()  install_umount_rootfs_simple()
920  {  {
921   cd /   cd /
922   umount ${INSTALLPATH} || die   umount ${INSTALLPATH} || die
# Line 927  run_install_normal() Line 953  run_install_normal()
953   dialog_install_successful   dialog_install_successful
954  }  }
955    
956  run_install_flash()  run_install_simple()
957  {  {
958   dialog_hardware_detection   dialog_hardware_detection
959    
960   dialog_setup_hdd_partitions_manuell_flash   dialog_setup_hdd_partitions_manuell_simple
961   dialog_setup_hdd_format   dialog_setup_hdd_format
962   setup_hdd_format_flash > /dev/null   setup_hdd_format_simple > /dev/null
963   install_mount_rootfs_flash   install_mount_rootfs_simple
964   (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 | dialog_install_meter | dialog_install_system_image
965    
966   dialog_install_settings   dialog_install_settings
967   sleep 1   sleep 1
968   install_system_settings_flash   install_system_settings_simple
969   install_initrd_chroot   install_initrd_chroot
970    
971   dialog_install_bootsector   dialog_install_bootsector
972   install_bootsector_chroot   install_bootsector_chroot
973    
974   install_umount_rootfs_flash   install_umount_rootfs_simple
975   dialog_install_successful   dialog_install_successful
976  }  }
977    
# Line 955  run_install_auto() Line 981  run_install_auto()
981    
982   dialog_setup_hdd_partitions_auto   dialog_setup_hdd_partitions_auto
983   dialog_setup_hdd_format   dialog_setup_hdd_format
984   setup_hdd_format_flash > /dev/null   setup_hdd_format_simple > /dev/null
985   install_mount_rootfs_flash   install_mount_rootfs_simple
986   (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 | dialog_install_meter | dialog_install_system_image
987    
988   dialog_install_settings   dialog_install_settings
989   sleep 1   sleep 1
990   install_system_settings_flash   install_system_settings_simple
991   install_initrd_chroot   install_initrd_chroot
992    
993   dialog_install_bootsector   dialog_install_bootsector
994   install_bootsector_chroot   install_bootsector_chroot
995    
996   install_umount_rootfs_flash   install_umount_rootfs_simple
997   dialog_install_successful   dialog_install_successful
998  }  }
999    

Legend:
Removed from v.5003  
changed lines
  Added in v.6817