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

alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh revision 268 by niro, Tue Apr 19 17:24:57 2005 UTC alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh.in revision 6829 by niro, Thu Jul 23 11:50:00 2015 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2  #  # $Id$
 # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/bin/alxinstall-ng.sh,v 1.4 2005-04-19 17:24:57 niro Exp $  
 #  
 # AutoSta_LX Installation Script  
 # version: 0.8b  
 #  
 # Niels Rogalla <niro@magellan-linux.de>  
 # <rogalla@augusta-bochum.de>  
 #  
 #  
 # Install Navigation Gui  
 #  
3    
4  #source /etc/alx_version  # ignore environment!
5  #source /opt/alx-config/version  LC_ALL=C
6    
7  #source /etc/alx-config/config.rc  MLIBDIR="/usr/lib/alxinstall-ng"
8    
9  #images: (get ${CDIMAGENAME})  # images: (get ${CDIMAGENAME})
10  source /mnt/cdrom/system/images.conf  source /mnt/cdrom/system/images.conf
11    
12  #Includes  # includes
13  source /usr/lib/alxinstall-ng/functions/findhdd.sh > /dev/null  source ${MLIBDIR}/functions/generic.sh
14  ### bugfix ###############################  source ${MLIBDIR}/functions/hwdetection.sh
 cdromdev="`echo $cdromdev|sed -e 's/ //'`"  
 ########################################  
15    
16  ### System/Config Version  ### System/Config Version
17  VERSION="0.1"  VERSION="@@VERSION@@"
18  TITLE="alxinstall-ng - ${VERSION}"  TITLE="alxinstall-ng - ${VERSION}"
19    
20  #CONFIGS_TEMPLATE="/opt/alx-config/configs"  # locations
   
21  CDPATH="/mnt/cdrom"  CDPATH="/mnt/cdrom"
22  INSTALLPATH="/mnt/magellan"  INSTALLPATH="/mnt/magellan"
23    
24  ### WICHTIG: anzahl lines in der autosta_lx.tar.gz -1  # default system settings
25    # standard kernel opts
26    DEFAULT_KERNELOPTS="quiet video=1024x768"
27    
28    # grub options
29    DEFAULT_GRUBLEGACYOPTS=""
30    DEFAULT_GRUB2OPTS=""
31    DEFAULT_GRUB2GFXPAYLOAD="1024x768x16,1024x768"
32    
33    # default specialdevices
34    DEFAULT_FORMFACTOR="desktop"
35    
36    # target filesystem
37    DEFAULT_FORMAT_FILESYSTEM="ext4"
38    
39    # initialize global variables so they are exportable
40    INSTALL_METHOD=""
41    KERNELOPTS=""
42    GRUBLEGACYOPTS=""
43    GRUB2OPTS=""
44    GRUB2GFXPAYLOAD=""
45    FORMFACTOR=""
46    FORMAT_FILESYSTEM=""
47    FDISKPARTIONBELOW256MB=0
48    SPECIALDEVICE=""
49    ### linecount of system.tar.gz -1 !
50  CURRENTLINE=0  CURRENTLINE=0
51  #TOTALLINES=11072 # -> now in images.conf  #TOTALLINES=11072 # -> now in images.conf
52    
   
53  #################################################  #################################################
54  #  DIALOG BOXEN #  #  DIALOG BOXES #
55  #################################################  #################################################
56    
57  die() {  die()
58   #clear  {
  #echo -e "\nhuch, da ist ein script gestorben -> $?\n"  
  #read  
  #exit 0  
59   ERROR=$1   ERROR=$1
60   RETVAL=$?   RETVAL=$?
61   dialog_install_failure   dialog_install_failure
62   exit 1   exit 1
63  }  }
64    
65  dialog_warning() {  dialog_warning()
66    {
67   dialog \   dialog \
68   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
69   --colors \   --colors \
70   --defaultno \   --defaultno \
71   --yesno "\Z1 !!! Achtung !!! \Zn\n\n\   --yesno "\Z1 !!! Achtung !!! \Zn\n\n\
72   Diese Festplatte wird unwiederruflich geloescht werden.\n\n\   Diese Festplatte wird unwiederruflich geloescht werden.\n\n\
73   Soll ich wirklich fortfahren ?" 10 70   Soll ich wirklich fortfahren ?" 10 70
74   RES=$?   RES=$?
75   if [ "$RES" == "1" ]   if [[ ${RES} -eq 1 ]]
76   then   then
77   clear   clear
78   echo "Der Vorgang wurde abgebrochen."   echo "Der Vorgang wurde abgebrochen."
# Line 72  dialog_warning() { Line 80  dialog_warning() {
80   fi   fi
81  }  }
82    
83  dialog_setup_hdd_info(){  dialog_setup_hdd_info()
84   local SHDD="`echo $HDD|sed -e 's/\/dev\///'`"  {
85     case "${INSTALL_METHOD}" in
86     auto)
87     dialog_setup_hdd_info_auto
88     dialog_setup_hdd_create_partitions
89     ;;
90     normal) dialog_setup_hdd_info_normal ;;
91     single) dialog_setup_hdd_info_single ;;
92     esac
93    }
94    
95    dialog_setup_hdd_info_normal()
96    {
97     local SHDD="$(echo ${HDD} | sed 's/\/dev\///')"
98    
99   dialog \   dialog \
100   --colors \   --colors \
101   --title "[ Festplatten Partitionierung ]" \   --title "[ Festplatten Partitionierung ]" \
102   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
103   --ok-label "Weiter" \   --ok-label "Weiter" \
104   --msgbox "\nBitte legen Sie 3 Partitionen an.\n\n\   --msgbox "\nBitte legen Sie 3 Partitionen an.\n\n\
105   [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit ca. 50MB\n\   [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit ca. 50MB\n\
# Line 87  dialog_setup_hdd_info(){ Line 108  dialog_setup_hdd_info(){
108   Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81   Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81
109  }  }
110    
111  dialog_setup_hdd_menu() {  dialog_setup_hdd_info_single()
112    {
113     local SHDD="$(echo $HDD | sed 's/\/dev\///')"
114    
115   I=`dialog \   dialog \
116   --backtitle "$TITLE" \   --colors \
117     --title "[ Festplatten Partitionierung ]" \
118     --backtitle "${TITLE}" \
119     --ok-label "Weiter" \
120     --msgbox "\nBitte legen Sie 1 Partition an.\n\n\
121     [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit dem gesamten Speicher\n\
122     Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81
123    }
124    
125    dialog_setup_hdd_info_auto()
126    {
127     local SHDD="$(echo $HDD | sed 's/\/dev\///')"
128    
129     dialog \
130     --colors \
131     --title "[ Festplatten Partitionierung ]" \
132     --backtitle "${TITLE}" \
133     --ok-label "Weiter" \
134     --msgbox "\nAchtung!\n\
135     Alle Daten werden von der Disk [ \Z3${HDD}\Zn ] gelöscht!" 12 81
136    }
137    
138    dialog_setup_system_menu()
139    {
140     local i
141    
142     i=$(dialog \
143     --backtitle "${TITLE}" \
144   --title "[ Festplatten Partitionierung ]" \   --title "[ Festplatten Partitionierung ]" \
145   --cancel-label "Abbrechen" \   --cancel-label "Abbrechen" \
146   --ok-label "Weiter" \   --ok-label "Weiter" \
147   --stdout \   --stdout \
148   --menu "\nWaehlen Sie zwischen Manuell und Automatisch" 14 70 5 \   --colors \
149   "1" "Manuell" \   --menu "\nWaehlen Sie die Installations-Methode" 14 70 5 \
150   "2" "Automatisch"`   "1" "Automatisches Setup (Empfohlen)" \
151     "" "" \
152     "" "\Z1Experten Modi:\Zn" \
153     "2" "Normale IDE-Disk (Manuell)" \
154     "3" "Normale IDE Disk (Single)")
155   RES=$?   RES=$?
156   if [ "$RES" == "1" ];then   [[ ${RES} -eq 1 ]] && return 1
157   return 1   if [[ ${RES} -eq 0 ]]
158   fi   then
159   if [ "$RES" == "0" ];then   case "${i}" in
160   case "$I" in   "1") run_install auto ;;
161           "1")   "2") run_install normal ;;
162   dialog_setup_hdd_found_manuell   "3") run_install single ;;
163   ;;   "") dialog_setup_system_menu;;
  "2")  
  dialog_warning  
  setup_hdd_partitions_silent  
      ;;  
164   esac   esac
165   fi   fi
166  }  }
167    
168  dialog_setup_hdd_found_manuell() {  dialog_hardware_detection()
169   if [ ! -z "$installdevs" ]  {
170     local i
171     local hwtmp
172    
173     if [ -x $(which mktemp &> /dev/null) ]
174   then   then
175   installdevs=""   hwtmp="$(mktemp)"
176     else
177     hwtmp="/tmp/hwtmp.sh"
178   fi   fi
179    
180   echo "dialog \\"  > /tmp/hddtmp.sh   run_hardware_detection_disks
181   echo "--backtitle \"$TITLE\" \\" >> /tmp/hddtmp.sh  
182   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh   echo "dialog \\"  > ${hwtmp}
183   echo "--stdout \\" >> /tmp/hddtmp.sh   echo "--backtitle \"${TITLE}\" \\" >> ${hwtmp}
184   echo "--colors \\" >> /tmp/hddtmp.sh   echo "--ok-label \"Weiter\" \\" >> ${hwtmp}
185   echo "--msgbox \"Gefundene Hardware:\n\n \\" >> /tmp/hddtmp.sh   echo "--stdout \\" >> ${hwtmp}
186   echo " Festplatten:\n \\" >> /tmp/hddtmp.sh   echo "--colors \\" >> ${hwtmp}
187     echo "--msgbox \"Gefundene Hardware:\n\n \\" >> ${hwtmp}
188     echo " Festplatten:\n \\" >> ${hwtmp}
189    
190   if [ ! -z "$scsidisks" ]   if [[ ! -z ${ALL_DISKS} ]]
191   then   then
192   for I in $scsidisks   for i in ${ALL_DISKS}
193   do   do
194   if [ "$I" != "$cdromdev" ]   echo " \\Z3${i}\\Zn\n \\" >> ${hwtmp}
  then  
  echo " \\Z7SCSI: \\Z3$I\\Zn\n \\" >> /tmp/hddtmp.sh  
  installdevs="$installdevs $I"  
  fi  
195   done   done
196   fi   fi
197    
198   if [ ! -z "$idedisks" ]   if [[ ! -z ${ALL_CDROMS} ]]
199   then   then
200   for I in $idedisks   echo " \n \\" >> ${hwtmp}
201     echo " CDROM Laufwerke:\n \\" >> ${hwtmp}
202     for i in ${ALL_CDROMS}
203   do   do
204   if [ "$I" != "$cdromdev" ]   echo " \\Z3${i}\\Zn\n \\" >> ${hwtmp}
  then  
  echo " \\Z7IDE:  \\Z3$I\\Zn\n \\" >> /tmp/hddtmp.sh  
  installdevs="$installdevs $I"  
  fi  
205   done   done
206   fi   fi
207    
208   if [ ! -z "$cdromdev" ]   # other devices
209     run_hardware_detection
210     case "${SPECIALDEVICE}" in
211     zotac*) echo " \n \\Z2Zotac Device erkannt.\\Zn \\" >> ${hwtmp} ;;
212     rangee) echo " \n \\Z2Rangee Device erkannt.\\Zn \\" >> ${hwtmp} ;;
213     maxdata) echo " \n \\Z2Maxdata Device erkannt.\\Zn \\" >> ${hwtmp} ;;
214     i845) echo " \n \\Z2Intel i845 Device erkannt.\\Zn \\" >> ${hwtmp} ;;
215     *) echo " \n \\ZnStandard Device erkannt.\\Zn \\" >> ${hwtmp} ;;
216     esac
217     if [[ ${FORMFACTOR} = laptop ]]
218   then   then
219   echo " \n \\" >> /tmp/hddtmp.sh   echo " \n \\ZnFormfactor Laptop, Powersave Modus 'ondemand' wird aktiviert.\\Zn \\" >> ${hwtmp}
220   echo " \\Z7andere Laufwerke:\n \\" >> /tmp/hddtmp.sh   fi
221   echo " CDROM: \\Z3$cdromdev\\Zn\n \\" >> /tmp/hddtmp.sh  
222     echo " \" 14 70" >> ${hwtmp}
223     chmod a+x ${hwtmp}
224     ${hwtmp}
225    
226     # remove tmp file
227     if [[ -f ${hwtmp} ]]
228     then
229     rm ${hwtmp}
230   fi   fi
  echo " \" 13 70" >> /tmp/hddtmp.sh  
  chmod a+x /tmp/hddtmp.sh  
  /tmp/hddtmp.sh  
231  }  }
232    
233  dialog_setup_hdd_partitions_manuell() {  dialog_setup_hdd_partitions()
234   if [ -z "$installdevs" ]  {
235     local i
236    
237     if [[ -z ${ALL_DISKS} ]]
238   then   then
239   dialog \   dialog \
240   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
241   --ok-label "Beenden" \   --ok-label "Beenden" \
242   --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70   --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70
243   exit 1   exit 1
244   else   else
245    
246   echo "dialog \\" > /tmp/hddtmp.sh   echo "dialog \\" > /tmp/hddtmp.sh
247   echo "--backtitle \"$TITLE\" \\" >> /tmp/hddtmp.sh   echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
248   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
249   echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh   echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh
250   echo "--stdout \\" >> /tmp/hddtmp.sh   echo "--stdout \\" >> /tmp/hddtmp.sh
251   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
252    
253   for I in $installdevs   for i in ${ALL_DISKS}
254   do   do
255   echo "\"$I\" \"\" \\" >> /tmp/hddtmp.sh   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
256   done   done
257   echo -e "\n" >> /tmp/hddtmp.sh   echo -e "\n" >> /tmp/hddtmp.sh
258    
259   chmod a+x /tmp/hddtmp.sh   chmod a+x /tmp/hddtmp.sh
260   HDD="`/tmp/hddtmp.sh`"   HDD="$(/tmp/hddtmp.sh)"
261   RES=$?   RES=$?
262   if [ "$RES" == "1" ]   [[ ${RES} -eq 1 ]] && return 1
263   then   if [[ ${RES} -eq 0 ]]
  return 1  
  fi  
  if [ "$RES" == "0" ]  
264   then   then
265   dialog_setup_hdd_info   dialog_setup_hdd_info
266   setup_hdd_partitions_manuell   setup_hdd_partitions
267   fi   fi
268   fi   fi
269  }  }
270    
271  dialog_setup_hdd_partitions_silent() {  dialog_setup_hdd_create_partitions()
272    {
273   dialog \   dialog \
274   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
275   --infobox "Erstelle Partitionen ..." 3 70   --infobox "Erstelle Disk Partitionen ..." 3 70
276  }  }
277    
278  dialog_setup_hdd_format() {  dialog_setup_hdd_format()
279    {
280   dialog \   dialog \
281   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
282   --infobox "Erstelle Datei-Systeme ..." 3 70   --infobox "Erstelle Datei-Systeme ..." 3 70
283  }  }
284    
285  dialog_install_settings() {  dialog_install_settings()
286    {
287   dialog \   dialog \
288   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
289   --infobox "Speichere System-Einstellungen ..." 3 70   --infobox "Speichere System-Einstellungen ..." 3 70
290  }  }
291    
292  dialog_install_system_image() {  dialog_install_system_image()
293    {
294   dialog \   dialog \
295   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
296   --gauge "Kopiere System-Image ..." 6 80   --gauge "Kopiere System-Image ..." 6 80
297  }  }
298    
299  dialog_install_meter() {  dialog_install_meter()
300   while [ "${CURRENTLINE}" != "${TOTALLINES}" ] ; do  {
301   CURRENTLINE=`grep --count . /tmp/install.log`   while [[ ${CURRENTLINE} != ${TOTALLINES} ]]
302   PERCENT=`expr ${CURRENTLINE} \* 100 / ${TOTALLINES}`   do
303     CURRENTLINE=$(grep -c . /tmp/install.log)
304     PERCENT=$(( ${CURRENTLINE} * 100 / ${TOTALLINES}))
305   echo ${PERCENT}   echo ${PERCENT}
306   sleep 1   sleep 1
307   done   done
# Line 237  dialog_install_meter() { Line 309  dialog_install_meter() {
309   return 0   return 0
310  }  }
311    
312    dialog_install_bootsector()
313  dialog_install_bootsector() {  {
314   dialog \   dialog \
315   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
316   --infobox "Schreibe den Bootsektor ..." 3 70   --infobox "Schreibe den Bootsektor ..." 3 70
317  }  }
318    
319  dialog_install_alxconfig() {  dialog_install_successful()
320    {
321   dialog \   dialog \
322   --backtitle "$TITLE" \   --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  
   
 }  
   
 dialog_install_successful() {  
  dialog \  
  --backtitle "$TITLE" \  
323   --colors \   --colors \
324   --msgbox "Die Installation war \Z2erfolgreich\Zn." 5 81   --msgbox "Die Installation war \Z2erfolgreich\Zn." 5 81
325  }  }
326    
327  dialog_install_failure() {  dialog_install_failure()
328    {
329   dialog \   dialog \
330   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
331   --colors \   --colors \
332   --msgbox "Die Installation ist \Z1Fehlgeschlagen\Zn.\n\n\   --msgbox "Die Installation ist \Z1Fehlgeschlagen\Zn.\n\n\
333   Fehler bei $ERROR, RetVal: $RETVAL \   Fehler bei ${ERROR}, RetVal: ${RETVAL} \
334   " 10 81   " 10 81
335  }  }
336    
337  dialog_install_method() {  dialog_main()
338    {
  METHOD=`dialog \  
  --backtitle "$TITLE" \  
  --cancel-label "Abbrechen" \  
  --ok-label "Weiter" \  
  --stdout \  
  --menu "Konfiguration" 14 70 5 \  
  "1" "Normale Installation" \  
  "2" "Silent Installation"`  
  RES=$?  
  if [ "$RES" == "1" ];then  
  return 1  
  fi  
  if [ "$RES" == "0" ];then  
  case "$METHOD" in  
          "1")  
  run_install_normal  
  ;;  
  "2")  
  dialog_warning  
  run_install_silent  
      ;;  
  esac  
  fi  
 }  
   
 dialog_main() {  
339   METHOD=0   METHOD=0
340    
341   while [ $METHOD -le 2 ]   while [[ ${METHOD} -le 2 ]]
342   do   do
343   METHOD=`dialog \   METHOD=$(dialog \
344   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
345   --no-cancel \   --no-cancel \
346   --ok-label "Weiter" \   --ok-label "Weiter" \
347   --stdout \   --stdout \
# Line 321  dialog_main() { Line 349  dialog_main() {
349   "1" "AutoSta_LX installieren" \   "1" "AutoSta_LX installieren" \
350   "2" "Uebersicht gefundener Laufwerke" \   "2" "Uebersicht gefundener Laufwerke" \
351   "3" "Beenden und neustarten" \   "3" "Beenden und neustarten" \
352   "4" "Beenden und eine Shell starten" `   "4" "Beenden und eine Shell starten")
353   RES=$?   RES=$?
354   if [ "$RES" == "1" ];then   [[ ${RES} -eq 1 ]] && exit 1
355   exit 1   if [[ ${RES} -eq 0 ]]
356   fi   then
357   if [ "$RES" == "0" ];then   case ${METHOD} in
358   case "$METHOD" in   "1") dialog_setup_system_menu ;;
359           "1")   "2") dialog_hardware_detection ;;
360   #only for now later it will be used again   "3") install_do_reboot ;;
361   #with 6.1-r2 only one install method available   "4") /bin/bash --login -i ;;
  #dialog_install_method  
  run_install_normal  
  ;;  
  "2") dialog_setup_hdd_found_manuell  
  ;;  
  "3") install_do_reboot  
  ;;  
  "4") /bin/bash --login -i  
  ;;  
362   esac   esac
363   fi   fi
364   done   done
365  }  }
366    
367  #################################################  #################################################
368  # Install Komandos #  # Install Commands #
369  #################################################  #################################################
370  setup_hdd_partitions_manuell() {  run_hardware_detection()
371   BOOTHDD="${HDD}1"  {
372   SWAPHDD="${HDD}2"   local hwinfo
373   ROOTHDD="${HDD}3"   hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)"
374    
375   ## hdds partitionieren manuell   # check for special devices/clients:
376   cfdisk $HDD || die   # if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd
377  }   local removable=0
378     if [[ ! -z $(echo "${hwinfo}" | grep -i zotac) ]]
379     then
380     for i in /sys/block/[hs]d*/removable
381     do
382     if [[ $(< ${i}) = 1 ]]
383     then
384     removable=1
385     fi
386     done
387    
388  setup_hdd_partitions_silent() {   # only add this for grub legacy, grub2 detect these settings on its own
389   ## hdds löschen   export GRUBLEGACYOPTS="rootdelay=8"
390   dd if=/dev/zero of=$HDD bs=1024k count=1 || die   # there are two zotac types in the wild, nvidia based gfx and intel
391   ## hdds partitionieren silent   if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]]
392   fdisk $HDD < $CONFIGS_TEMPLATE/fdisksettings #1> /dev/null 3> /dev/null || die   then
393     export SPECIALDEVICE="zotac_nvidia"
394   read   else
395  }   export SPECIALDEVICE="zotac_intel"
396     fi
397     fi
398    
399  setup_hdd_format() {   # check for special devices/clients:
400   mkswap $SWAPHDD || die   # if a rangee and disk ist smaller then 256mb move partion one block further ahead
401   mke2fs -j -q $BOOTHDD || die   if [[ ! -z $(echo "${hwinfo}" | grep -i CLE266) ]]
402   mke2fs -j -q $ROOTHDD || die   then
403  }   # for a rangee always define partion startblock +1
404     export FDISKPARTIONBELOW256MB="1"
405     export SPECIALDEVICE="rangee"
406     export GRUBLEGACYOPTS=""
407     fi
408    
409  install_mount_rootfs() {   # check for special devices/clients:
410   swapon $SWAPHDD || die   # check for maxdata / i810/ i815 Chipsets and disable KMS and use i810fb frambuffer
411   mount $ROOTHDD $INSTALLPATH || die   if [[ ! -z $(echo "${hwinfo}" | grep -i i810) ]] || [[ ! -z $(echo "${hwinfo}" | grep -i i815) ]]
412   install -d $INSTALLPATH/boot || die   then
413   mount $BOOTHDD $INSTALLPATH/boot || die   export SPECIALDEVICE="maxdata"
414   cd $INSTALLPATH || die   export GRUBLEGACYOPTS=""
415  }   fi
416    
417  install_system_image() {   # check for i845 Chipsets and disable KMS and use 915 drm driver
418   #tar xvzpf $CDPATH/system/autosta_lx.tar.gz   if [[ ! -z $(echo "${hwinfo}" | grep -i i845) ]]
419   tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH}   then
420  }   export SPECIALDEVICE="i845"
421     # unset default video=1024x768 opt or the drm driver breaks
422     export KERNELOPTS="quiet"
423     export GRUBLEGACYOPTS=""
424     # enable full kms support
425     export GRUB2GFXPAYLOAD="keep"
426     fi
427    
428     # check for radeon gfxcards
429     if [[ ! -z $(echo "${hwinfo}" | grep -i radeon) ]]
430     then
431     # enable full kms support
432     export GRUB2GFXPAYLOAD="keep"
433     fi
434    
435  install_kernel_image() {   # check for special devices/clients:
436   declare -i CPUTYPE=`cat /proc/cpuinfo |grep "cpu family"|cut -d ' ' -f3`   # check for laptops and activate cpufreq scaling
437     if [[ $(echo "${hwinfo}" | grep 'Formfactor:' | sed 's:.*Formfactor\:\ \"\(.*\)\":\1:') = laptop ]]
438     then
439     export FORMFACTOR="laptop"
440     export KERNELOPTS="${KERNELOPTS} cpufreq.governor=ondemand"
441     fi
442    }
443    
444   if [ $CPUTYPE -le 5 ];then  run_hardware_detection_disks()
445                  #echo -e "\033[1;6m\033[36m""i386 Architektur gefunden.""\033[0m"  {
446                  #echo -e "Installiere i386 Kernel..."   local bootdev
447    
448   lastdir="`pwd`"   # all disks but exclude ramdisks
449     export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d')
450     # remove the boot device from ALL_DISKS if it was an usbstick
451     if [[ $(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]]
452     then
453     bootdev="$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g')"
454     export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}")
455     fi
456     export ALL_CDROMS="$(get_hwinfo cdrom)"
457    }
458    
459   mkdir -p $INSTALLPATH/INSTALL/kernel || die  hdd_size_below_256mb()
460   cd $INSTALLPATH/INSTALL/kernel || die  {
461   tar xzpf $CDPATH/kernels/kernel-i386.tar.gz || die   local hdd="$1"
462   source $INSTALLPATH/INSTALL/kernel/kernelversion || die   local size
463     local retval
464     [[ -z ${hdd} ]] && die "Error: get_hdd_size() no \$hdd given!"
465    
466   cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNLIB $INSTALLPATH/lib/modules || die   size=$(fdisk -l ${hdd} | grep "Disk.*${hdd}" | sed 's:.*,\ \(.*\)\ byte.*:\1:')
467   cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNIMG $INSTALLPATH/boot || die   if [[ ${size} -le 257000000 ]]
468   cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNINITRD $INSTALLPATH/boot || die   then
469   cp -aRf $INSTALLPATH/INSTALL/kernel/kernelversion $INSTALLPATH/boot || die   retval="0"
470     else
471     retval="1"
472     fi
473    
474   cd $lastdir || die   return "${retval}"
475    }
476    
477          elif [ $CPUTYPE -ge 6 ];then  setup_hdd_partitions()
478                  #echo -e "\033[1;6m\033[36m""i686 Architektur gefunden.""\033[0m"  {
479                  #echo -e "Installiere i686 Kernel..."   case "${INSTALL_METHOD}" in
480     normal)
481     BOOTHDD="${HDD}1"
482     SWAPHDD="${HDD}2"
483     ROOTHDD="${HDD}3"
484     ;;
485    
486   lastdir="`pwd`"   single|auto)
487     BOOTHDD=""
488     SWAPHDD=""
489     ROOTHDD="${HDD}1"
490     ;;
491     esac
492    
493   mkdir -p $INSTALLPATH/INSTALL/kernel || die   if [[ ${INSTALL_METHOD} = auto ]]
494   cd $INSTALLPATH/INSTALL/kernel || die   then
495   tar xzpf $CDPATH/kernels/kernel-i686.tar.gz || die   # run this only if FDISKPARTITIONBELOW256MB is not already 1
496   source $INSTALLPATH/INSTALL/kernel/kernelversion || die   if [[ ${FDISKPARTIONBELOW256MB} != 1 ]]
497     then
498     if hdd_size_below_256mb ${HDD}
499     then
500     FDISKPARTIONBELOW256MB=1
501     else
502     FDISKPARTIONBELOW256MB=0
503     fi
504     fi
505    
506   cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNLIB $INSTALLPATH/lib/modules || die   ## delete disk
507   cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNIMG $INSTALLPATH/boot || die   dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die
  cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNINITRD $INSTALLPATH/boot || die  
  cp -aRf $INSTALLPATH/INSTALL/kernel/kernelversion $INSTALLPATH/boot || die  
508    
509   cd $lastdir || die   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]
510          fi   then
511     ## setup one bootable partition
512     #1. n= new disk
513     #2. p= primary disk
514     #3. 1= first partition
515     #4. 2= default sector start // small disk needs more space for grub2 mbr sector
516     #5. ''= defaul sector end
517     #6. a= bootable flag
518     #7. 1= boot flag for partition 1
519     #8. w= write/quit
520     fdisk ${HDD} &> /dev/null << EOF
521    n
522    p
523    1
524    2
525    
526    a
527    1
528    w
529    EOF
530     else
531     ## setup one bootable partition
532     #1. n= new disk
533     #2. p= primary disk
534     #3. 1= first partition
535     #4. ''= default sector start
536     #5. ''= defaul sector end
537     #6. a= bootable flag
538     #7. 1= boot flag for partition 1
539     #8. w= write/quit
540     fdisk ${HDD} &> /dev/null << EOF
541    n
542    p
543    1
544    
545    
546    a
547    1
548    w
549    EOF
550     fi
551     else
552     ## hdds partitionieren manuell
553     cfdisk ${HDD} || die
554     fi
555  }  }
556    
557  install_bootsector() {  setup_hdd_format()
558   ### grubconf schreiben  {
559   source $INSTALLPATH/INSTALL/kernel/kernelversion   if [[ -n ${SWAPHDD} ]]
   
  if [ -z $KRNVER ]  
560   then   then
561   KRNVER="AutoSta_LX"   mkswap ${SWAPHDD} || die
562   fi   fi
563     if [[ -n ${BOOTHDD} ]]
  if [ -z $KRNIMG ]  
564   then   then
565   KRNIMG="bzImage"   mkfs.${FORMAT_FILESYSTEM} -q ${BOOTHDD} || die
566   fi   fi
567     if [[ -n ${ROOTHDD} ]]
  if [ -z $KRNINITRD ]  
568   then   then
569   KRNINITRD="initrd"   mkfs.${FORMAT_FILESYSTEM} -q ${ROOTHDD} || die
570   fi   fi
   
  echo -e "default 0" > $INSTALLPATH/boot/grub/grub.conf || die  
  echo -e "timeout 03" >> $INSTALLPATH/boot/grub/grub.conf ||die  
  #no support for splash image in 6.1-r2  
  #echo -e "splashimage=(hd0,0)/boot/grub/splash.xpm.gz" >> $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  
   
  #s3 cards don't support this  
  #echo -e "kernel (hd0,0)/boot/${KRNIMG} root=$ROOTHDD vga=0x317 video:vesa:ywrap,mtrr splash=silent quiet" >> $INSTALLPATH/boot/grub/grub.conf || die  
  #that's more safer:  
  echo -e "kernel (hd0,0)/boot/${KRNIMG} root=$ROOTHDD quiet" >> $INSTALLPATH/boot/grub/grub.conf || die  
   
  #not needed without bootsplash support  
  #echo -e "initrd=/boot/${KRNINITRD}" >> $INSTALLPATH/boot/grub/grub.conf || die  
   
  ### bootsector schreiben  
  #grub --no-floppy < $CONFIGS_TEMPLATE/grubsettings || die  
  /sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null || die  
 root (hd0,0)  
 setup (hd0)  
 quit  
 EOF  
571  }  }
572    
573  install_bootsector_chroot() {  install_mount_rootfs()
574   ### grubconf schreiben  {
575   #source $INSTALLPATH/INSTALL/kernel/kernelversion   if [[ -n ${SWAPHDD} ]]
  source $INSTALLPATH/boot/kernelversion  
   
  #for alx only  
  if [ -e ${INSTALLPATH}/etc/alx_version ]  
576   then   then
577   OLD_ALXVER="${ALXVER}"   swapon ${SWAPHDD} || die
  source ${INSTALLPATH}/etc/alx_version  
  KRNVER="ALX-${ALXVER}"  
  ALXVER="${OLD_ALXVER}"  
578   fi   fi
579     if [[ -n ${ROOTHDD} ]]
  if [ -z "$KRNVER" ]  
580   then   then
581   KRNVER="AutoSta_LX"   mount ${ROOTHDD} ${INSTALLPATH} || die
582   fi   fi
583     if [[ -n ${BOOTHDD} ]]
  if [ -z "$KRNIMG" ]  
584   then   then
585   KRNIMG="bzImage"   install -d ${INSTALLPATH}/boot || die
586     mount ${BOOTHDD} ${INSTALLPATH}/boot || die
587   fi   fi
588    
589   if [ -z "$KRNINITRD" ]   cd ${INSTALLPATH} || die
590   then  }
  KRNINITRD="initrd"  
  fi  
591    
592   echo -e "default 0" > $INSTALLPATH/boot/grub/grub.conf || die  install_system_image()
593   echo -e "timeout 0" >> $INSTALLPATH/boot/grub/grub.conf ||die  {
594     tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH}
595   #no support for splash image in 6.1-r2  }
  #echo -e "splashimage=(hd0,0)/boot/grub/splash.xpm.gz" >> $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  
   
  #s3 cards don't support this  
  #echo -e "kernel (hd0,0)/boot/${KRNIMG} root=$ROOTHDD vga=0x317 video:vesa:ywrap,mtrr splash=silent quiet" >> $INSTALLPATH/boot/grub/grub.conf || die  
  #that's more safer:  
  echo -e "kernel (hd0,0)/boot/${KRNIMG} root=$ROOTHDD quiet" >> $INSTALLPATH/boot/grub/grub.conf || die  
   
  #not needed without bootsplash support  
  #echo -e "initrd=/boot/${KRNINITRD}" >> $INSTALLPATH/boot/grub/grub.conf || die  
596    
597    install_bootsector_chroot()
598    {
599     local my_roothdd
600     local grubconf=${INSTALLPATH}/boot/grub/grub.conf
601     local grub2conf=/boot/grub/grub.cfg
602    
603   ### bootsector schreiben chrooted schreiben (gentoo)   # check for grub2
604   if [ -f $INSTALLPATH/sbin/grub ]   if [[ -f ${INSTALLPATH}/sbin/grub-mkconfig ]]
605   then   then
606   cat > $INSTALLPATH/root/.bashrc << CHROOTEOF   # needed by grub-mkconfig on the first run
607  /sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null   if [[ ! -f ${INSTALLPATH}/boot/grub/video.lst ]]
608     then
609     install -m0644 ${INSTALLPATH}/lib/grub/*/video.lst ${INSTALLPATH}/boot/grub/video.lst || die
610     fi
611    
612     # set kernelopts
613     if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]]
614     then
615     sed -i "s:^\(export GRUB_CMDLINE_LINUX_DEFAULT=\).*:\1\"${KERNELOPTS}\":" ${INSTALLPATH}/etc/conf.d/grub || die
616     sed -i "s:^\(export GRUB_GFXPAYLOAD_LINUX=\).*:\1\"${GRUB2GFXPAYLOAD}\":" ${INSTALLPATH}/etc/conf.d/grub || die
617     else
618     echo "export GRUB_CMDLINE_LINUX_DEFAULT=\"${KERNELOPTS}\"" >  ${INSTALLPATH}/etc/conf.d/grub || die
619     echo "export GRUB_GFXPAYLOAD_LINUX=\"${GRUB2GFXPAYLOAD}\"" >>  ${INSTALLPATH}/etc/conf.d/grub || die
620     fi
621     echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || die
622     echo "LC_ALL=C grub-mkconfig -o ${grub2conf}  &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die
623     echo "grub-install --no-floppy ${HDD} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die
624     echo "exit 0" >> ${INSTALLPATH}/root/.installrc || die
625    
626     # grub-legacy
627     else
628     ### grubconf schreiben
629     source ${INSTALLPATH}/boot/kernelversion
630    
631     #for alx only
632     if [ -e ${INSTALLPATH}/etc/alx_version ]
633     then
634     OLD_ALXVER="${ALXVER}"
635     source ${INSTALLPATH}/etc/alx_version
636     KRNVER="ALX-${ALXVER}"
637     ALXVER="${OLD_ALXVER}"
638     fi
639    
640     [[ -z ${KRNVER} ]] && KRNVER="AutoSta_LX"
641     [[ -z ${KRNINITRD} ]] && KRNINITRD="initrd"
642     [[ -z ${KRNIMG} ]] && KRNIMG="vmlinuz"
643    
644     # uuid support
645     if is_uuid_supported
646     then
647     my_roothdd="UUID=$(get_uuid ${ROOTHDD})"
648     else
649     my_roothdd="${ROOTHDD}"
650     fi
651    
652     : > ${grubconf} || die
653     echo "default 0" >> ${grubconf} || die
654     echo "timeout 3" >> ${grubconf} || die
655     # using current root password
656     echo "password --md5 $(cat ${INSTALLPATH}/etc/shadow | grep root | cut -d: -f2)"  >> ${grubconf} || die
657    
658     echo  >> ${grubconf} || die
659     echo "# normal boot" >> ${grubconf} || die
660     echo "title ${KRNVER}" >> ${grubconf} || die
661     echo "root (hd0,0)" >> ${grubconf} || die
662     echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || die
663     if is_initrd_supported
664     then
665     echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die
666     fi
667    
668     echo >> ${grubconf} || die
669     echo "# admin boot" >> ${grubconf} || die
670     echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || die
671     echo "lock"  >> ${grubconf} || die
672     echo "root (hd0,0)" >> ${grubconf} || die
673     echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} hardware-auto-detection" >> ${grubconf} || die
674     if is_initrd_supported
675     then
676     echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die
677     fi
678    
679     echo >> ${grubconf} || die
680     echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || die
681     echo "lock"  >> ${grubconf} || die
682     echo "root (hd0,0)" >> ${grubconf} || die
683     echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} alx-reset-settings" >> ${grubconf} || die
684     if is_initrd_supported
685     then
686     echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die
687     fi
688    
689     # write bootsector chrooted (lfs/magellan)
690     cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF
691    /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null
692  root (hd0,0)  root (hd0,0)
693  setup (hd0)  setup (hd0)
694  quit  quit
# Line 530  exit 0 Line 697  exit 0
697  CHROOTEOF  CHROOTEOF
698   fi   fi
699    
700   ### bootsector schreiben chrooted schreiben (lfs/magellan)   ## enters chroot
701   if [ -f $INSTALLPATH/usr/sbin/grub ]   mount -t proc proc ${INSTALLPATH}/proc
702   then   mount -t sysfs sysfs ${INSTALLPATH}/sys
703   cat > $INSTALLPATH/root/.bashrc << CHROOTEOF   mount -o bind /dev ${INSTALLPATH}/dev
704  /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null   chroot ${INSTALLPATH} /bin/bash --rcfile /root/.installrc -i
705  root (hd0,0)   umount ${INSTALLPATH}/proc
706  setup (hd0)   umount ${INSTALLPATH}/sys
707  quit   umount ${INSTALLPATH}/dev
708  EOF   rm ${INSTALLPATH}/root/.installrc
709    }
710    
711    is_initrd_supported()
712    {
713     # only generate initrds if the cmd exists
714     [[ -x ${INSTALLPATH}/sbin/mkinitrd ]] && return 0
715     return 1
716    }
717    
718    install_initrd_chroot()
719    {
720     local CONFIG
721    
722     # only generate initrds if the cmd exists
723     is_initrd_supported || return 0
724    
725     DISKMODS="sd_mod"
726     OLDPATAMODS="amd74xx piix sis5513 via82cxxx"
727     PATAMODS="ata_piix pata_amd pata_mpiix pata_oldpiix pata_sis pata_via"
728     SATAMODS="sata_via sata_sis sata_nv"
729     DRMMODS="i915 mga nouveau r128 radeon savage sis tdfx ttm via"
730     OTHERMODS=""
731     case ${SPECIALDEVICE} in
732     zotac_intel|i845) FBMODS=""; DRMMODS="i915" ;;
733     zotac_nvidia) FBMODS=""; DRMMODS="nouveau" ;;
734     rangee) FBMODS="" ;; ## fallback to vesafb, viafb does not run on all CLE266 boards
735     # not working with kms enabled drivers -> segfaults
736     #maxdata) FBMODS="i810fb" ;; ## check for maxdata / i810/ i815 Chipsets and disable KMS and use i810fb frambuffer
737     maxdata) FBMODS="" ;;
738     *) FBMODS="uvesafb" ;;
739     esac
740    
741     if [[ ${FORMFACTOR} = laptop ]]
742     then
743     OTHERMODS="acpi-cpufreq cpufreq_ondemand cpufreq_conservative cpufreq_powersave"
744     fi
745    
746     # install an appropriate uvesafb.conf
747     CONFIG=${INSTALLPATH}/etc/modprobe.d/uvesafb.conf
748     clearconfig
749     addconfig "options uvesafb mode_option=1024x768-32@60 scroll=ywrap"
750    
751     # install an appropriate viafb.conf
752     CONFIG=${INSTALLPATH}/etc/modprobe.d/viafb.conf
753     clearconfig
754     addconfig "options viafb viafb_mode=1024x768 viafb_refresh=60"
755    
756     # install an appropriate i810fb.conf
757     CONFIG=${INSTALLPATH}/etc/modprobe.d/i810fb.conf
758     clearconfig
759     addconfig "options i810fb xres=1024 yres=768 bpp=16 mtrr=1 hsync1=30 hsync2=62 vsync1=30 vsync2=60"
760    
761     cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF
762    echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS} ${OTHERMODS}\"" > /etc/conf.d/mkinitrd
763    mkinitrd -f /boot/$(readlink /boot/initrd) $(readlink /boot/vmlinuz | sed "s:kernel-::g") > /dev/null
764  exit 0  exit 0
765  CHROOTEOF  CHROOTEOF
766    
767     ## enters chroot
768     mount -t proc proc ${INSTALLPATH}/proc
769     mount -t sysfs sysfs ${INSTALLPATH}/sys
770     mount -o bind /dev ${INSTALLPATH}/dev
771     chroot ${INSTALLPATH} /bin/bash --rcfile /root/.installrc -i
772     umount ${INSTALLPATH}/proc
773     umount ${INSTALLPATH}/sys
774     umount ${INSTALLPATH}/dev
775     rm ${INSTALLPATH}/root/.installrc
776    }
777    
778    is_uuid_supported()
779    {
780     if [[ -x $(which busybox.mkinitrd &> /dev/null) ]]
781     then
782     # only detect uuids if supported
783     if [[ ! -z $(busybox.mkinitrd | grep blkid) ]]
784     then
785     return 0
786     fi
787   fi   fi
788    
789   ##enters chroot   return 1
  mount -t proc none $INSTALLPATH/proc  
  # bind /dev to get the devices right,  
  # if bootet from a 2.6 kernel with udev  
  mount -o bind /dev $INSTALLPATH/dev  
  chroot $INSTALLPATH /bin/bash --rcfile /root/.bashrc -i  
  umount $INSTALLPATH/proc  
  umount $INSTALLPATH/dev  
  rm $INSTALLPATH/root/.bashrc  
790  }  }
791    
792  install_alxconfig(){  get_uuid()
793   lastdir="`pwd`"  {
794     local UUID
795     local SEC_TYPE
796     local TYPE
797    
798   mkdir -p $INSTALLPATH/opt/alx-config || die   local dev="$1"
799   cd $INSTALLPATH/opt/alx-config || die   [[ -z ${dev} ]] && die "no dev given"
  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  
800    
801   cd $lastdir || die   # check if given device is already an UUID
802     if [[ ${dev/UUID=/}x != ${dev}x ]]
803     then
804     eval "${dev}"
805     else
806     eval $(busybox.mkinitrd blkid ${dev} | grep "${dev}:" | sed 's/.*:\ //')
807     fi
808     echo "${UUID}"
809  }  }
810    
811    install_system_settings()
812    {
813     # schreibe fstab
814     if is_uuid_supported
815     then
816     if [[ -n ${BOOTHDD} ]]
817     then
818     echo -e "UUID=$(get_uuid ${BOOTHDD})\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die
819     fi
820     if [[ -n ${ROOTHDD} ]]
821     then
822     echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die
823     fi
824     else
825     if [[ -n ${BOOTHDD} ]]
826     then
827     echo -e "${BOOTHDD}\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die
828     fi
829     if [[ -n ${ROOTHDD} ]]
830     then
831     echo -e "${ROOTHDD}\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die
832     fi
833     fi
834     # not needed busybox loads all with swapon -a, even if not mentioned in fstab
835     #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || die
836     echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
837     echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
838    
839  install_system_settings(){   # install network config skeleton
840   ### schreibe fstab   install -m0644 ${INSTALLPATH}/etc/alxconfig-ng/skel/net/net.eth0 ${INSTALLPATH}/etc/conf.d/ || die
  echo -e "$BOOTHDD\t/boot\text3\tnoatime,noauto\t1 1" > $INSTALLPATH/etc/fstab || die  
  echo -e "$ROOTHDD\t/\text3\tnoatime\t0 0" >> $INSTALLPATH/etc/fstab || die  
  echo -e "$SWAPHDD\tswap\tswap\tpri=1\t0 0" >> $INSTALLPATH/etc/fstab || die  
  echo -e "none\t/proc\tproc\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die  
   
  #deprecated  
  #echo -e "devpts\t/dev/pts\tdevpts\tgid=4,mode=620\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  
 }  
841    
842  install_hotfixes(){   # intel framebufer quirk
843   if [ -f $CDPATH/hotfixes/hotfixes.sh ]   if [[ -e /proc/fb ]]
844   then   then
845   dialog_hotfixes   if [[ ! -z $(grep 'inteldrmfb' /proc/fb) ]]
846   sleep1   then
847   $CDPATH/hotfixes/hotfixes.sh   fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:')
848     if [[ ${fbdev} != 0 ]]
849     then
850     sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${INSTALLPATH}/etc/splash/splash.conf || die
851     fi
852     fi
853   fi   fi
854  }  }
855    
856  install_umount_rootfs() {  install_umount_rootfs()
857    {
858   cd /   cd /
859   umount $INSTALLPATH/boot || die   if [[ -n ${BOOTHDD} ]]
860   umount $INSTALLPATH || die   then
861   swapoff $SWAPHDD || die   umount ${INSTALLPATH}/boot || die
862     fi
863     if [[ -n ${ROOTHDD} ]]
864     then
865     umount ${INSTALLPATH} || die
866     fi
867     if [[ -n ${SWAPHDD} ]]
868     then
869     swapoff ${SWAPHDD} || die
870     fi
871  }  }
872    
873  install_do_reboot() {  install_do_reboot()
874    {
  #only for now later it will be used again  
  #with 6.1-r2 these options are not available  
  #cd /  
  #umount $CDPATH  
  #eject  
  #clear  
   
875   reboot   reboot
876  }  }
877    
878  #################################################  #################################################
879  #     Install Ablauf Scripte #  #     Install Main Scripts #
880  #################################################  #################################################
881    
882  run_install_normal() {  run_install()
883   #only for now later it will be used again  {
884   #with 6.1-r2 only one install method available   local method="$1"
885   #dialog_setup_hdd_menu  
886   dialog_setup_hdd_found_manuell   # setup install environment
887     export KERNELOPTS="${DEFAULT_KERNELOPTS}"
888   dialog_setup_hdd_partitions_manuell   export GRUBLEGACYOPTS="${GRUBLEGACYOPTS}"
889     export GRUB2OPTS="${GRUB2OPTS}"
890     export GRUB2GFXPAYLOAD="${DEFAULT_GRUB2GFXPAYLOAD}"
891     export FORMFACTOR="${DEFAULT_FORMFACTOR}"
892     export FORMAT_FILESYSTEM="${DEFAULT_FORMAT_FILESYSTEM}"
893    
894     case "${method}" in
895     auto)
896     export INSTALL_METHOD="${method}"
897     ;;
898     normal)
899     export INSTALL_METHOD="${method}"
900     ;;
901     single)
902     export INSTALL_METHOD="${method}"
903     ;;
904     *)
905     echo "Unknown install method '${method}', aborting."
906     exit 1
907     ;;
908     esac
909    
910     dialog_hardware_detection
911    
912     dialog_setup_hdd_partitions
913   dialog_setup_hdd_format   dialog_setup_hdd_format
914   setup_hdd_format > /dev/null   setup_hdd_format > /dev/null
915   install_mount_rootfs   install_mount_rootfs
916   (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
917    
  #only for now later it will be used again  
  #with 6.1-r2 variable kernels are not available  
  #dialog_install_kernel_image  
  #install_kernel_image  
   
  dialog_install_bootsector  
  install_bootsector_chroot  
   
  #only for now later it will be used again  
  #with 6.1-r2 highest version of alx-config is already included  
  #dialog_install_alxconfig  
  #sleep 1  
  #install_alxconfig  
   
918   dialog_install_settings   dialog_install_settings
919   sleep 1   sleep 1
920   install_system_settings   install_system_settings
921   install_hotfixes   install_initrd_chroot
  install_umount_rootfs  
  dialog_install_successful  
 }  
922    
923  run_install_silent() {   dialog_install_bootsector
924   echo "starting silent install ..."   install_bootsector_chroot
  sleep 1  
 }  
925    
926  run_install_unattended() {   install_umount_rootfs
927   echo "starting unattended install ..."   dialog_install_successful
  sleep 1  
928  }  }
929    
930  if [ "$1" == "unattended" ]  dialog_main
 then  
  run_install_unattended  
 else  
  dialog_main  
 fi  
931    
932  exit 0  exit 0

Legend:
Removed from v.268  
changed lines
  Added in v.6829