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

Legend:
Removed from v.258  
changed lines
  Added in v.6827