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 260 by niro, Mon Apr 18 20:27:57 2005 UTC alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh.in revision 6826 by niro, Thu Jul 23 11:26:26 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.2 2005-04-18 20:27: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/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   I=`dialog \   dialog \
115   --backtitle "$TITLE" \   --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 \
142     --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   then
218   echo " \n \\" >> /tmp/hddtmp.sh   echo " \n \\ZnFormfactor Laptop, Powersave Modus 'ondemand' wird aktiviert.\\Zn \\" >> ${hwtmp}
219   echo " \\Z7andere Laufwerke:\n \\" >> /tmp/hddtmp.sh   fi
220   echo " CDROM: \\Z3$cdromdev\\Zn\n \\" >> /tmp/hddtmp.sh  
221     echo " \" 14 70" >> ${hwtmp}
222     chmod a+x ${hwtmp}
223     ${hwtmp}
224    
225     # remove tmp file
226     if [[ -f ${hwtmp} ]]
227     then
228     rm ${hwtmp}
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 und eine Shell starten" `   "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  
  ;;  
  "4") /bin/bash --login -i  
  ;;  
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     ROOTHDD="${HDD}1"
487     ;;
488     esac
489    
490   mkdir -p $INSTALLPATH/INSTALL/kernel || die   if [[ ${INSTALL_METHOD} = auto ]]
491   cd $INSTALLPATH/INSTALL/kernel || die   then
492   tar xzpf $CDPATH/kernels/kernel-i686.tar.gz || die   # run this only if FDISKPARTITIONBELOW256MB is not already 1
493   source $INSTALLPATH/INSTALL/kernel/kernelversion || die   if [[ ${FDISKPARTIONBELOW256MB} != 1 ]]
494     then
495     if hdd_size_below_256mb ${HDD}
496     then
497     FDISKPARTIONBELOW256MB=1
498     else
499     FDISKPARTIONBELOW256MB=0
500     fi
501     fi
502    
503   cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNLIB $INSTALLPATH/lib/modules || die   ## delete disk
504   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  
505    
506   cd $lastdir || die   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]
507          fi   then
508     ## setup one bootable partition
509     #1. n= new disk
510     #2. p= primary disk
511     #3. 1= first partition
512     #4. 2= default sector start // small disk needs more space for grub2 mbr sector
513     #5. ''= defaul sector end
514     #6. a= bootable flag
515     #7. 1= boot flag for partition 1
516     #8. w= write/quit
517     fdisk ${HDD} &> /dev/null << EOF
518    n
519    p
520    1
521    2
522    
523    a
524    1
525    w
526    EOF
527     else
528     ## setup one bootable partition
529     #1. n= new disk
530     #2. p= primary disk
531     #3. 1= first partition
532     #4. ''= default sector start
533     #5. ''= defaul sector end
534     #6. a= bootable flag
535     #7. 1= boot flag for partition 1
536     #8. w= write/quit
537     fdisk ${HDD} &> /dev/null << EOF
538    n
539    p
540    1
541    
542    
543    a
544    1
545    w
546    EOF
547     fi
548     else
549     ## hdds partitionieren manuell
550     cfdisk ${HDD} || die
551     fi
552  }  }
553    
554  install_bootsector() {  setup_hdd_format()
555   ### grubconf schreiben  {
556   source $INSTALLPATH/INSTALL/kernel/kernelversion   if [[ -n ${SWAPHDD} ]]
   
  if [ -z $KRNVER ]  
557   then   then
558   KRNVER="AutoSta_LX"   mkswap ${SWAPHDD} || die
559   fi   fi
560     if [[ -n ${BOOTHDD} ]]
  if [ -z $KRNIMG ]  
561   then   then
562   KRNIMG="bzImage"   mke2fs -j -q ${BOOTHDD} || die
563   fi   fi
564     if [[ -n ${ROOTHDD} ]]
  if [ -z $KRNINITRD ]  
565   then   then
566   KRNINITRD="initrd"   mke2fs -j -q ${ROOTHDD} || die
567   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  
568  }  }
569    
570  install_bootsector_chroot() {  install_mount_rootfs()
571   ### grubconf schreiben  {
572   #source $INSTALLPATH/INSTALL/kernel/kernelversion   if [[ -n ${SWAPHDD} ]]
  source $INSTALLPATH/boot/kernelversion  
   
  #for alx only  
  if [ -e ${INSTALLPATH}/etc/alx_version ]  
573   then   then
574   OLD_ALXVER="${ALXVER}"   swapon ${SWAPHDD} || die
  source ${INSTALLPATH}/etc/alx_version  
  KRNVER="ALX-${ALXVER}"  
  ALXVER="${OLD_ALXVER}"  
575   fi   fi
576     if [[ -n ${ROOTHDD} ]]
  if [ -z "$KRNVER" ]  
577   then   then
578   KRNVER="AutoSta_LX"   mount ${ROOTHDD} ${INSTALLPATH} || die
579   fi   fi
580     if [[ -n ${BOOTHDD} ]]
  if [ -z "$KRNIMG" ]  
581   then   then
582   KRNIMG="bzImage"   install -d ${INSTALLPATH}/boot || die
583     mount ${BOOTHDD} ${INSTALLPATH}/boot || die
584   fi   fi
585    
586   if [ -z "$KRNINITRD" ]   cd ${INSTALLPATH} || die
587   then  }
  KRNINITRD="initrd"  
  fi  
588    
589   echo -e "default 0" > $INSTALLPATH/boot/grub/grub.conf || die  install_system_image()
590   echo -e "timeout 03" >> $INSTALLPATH/boot/grub/grub.conf ||die  {
591     tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH}
592   #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  
593    
594    install_bootsector_chroot()
595    {
596     local my_roothdd
597     local grubconf=${INSTALLPATH}/boot/grub/grub.conf
598     local grub2conf=/boot/grub/grub.cfg
599    
600   ### bootsector schreiben chrooted schreiben (gentoo)   # check for grub2
601   if [ -f $INSTALLPATH/sbin/grub ]   if [[ -f ${INSTALLPATH}/sbin/grub-mkconfig ]]
602   then   then
603   cat > $INSTALLPATH/root/.bashrc << CHROOTEOF   # needed by grub-mkconfig on the first run
604  /sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null   if [[ ! -f ${INSTALLPATH}/boot/grub/video.lst ]]
605     then
606     install -m0644 ${INSTALLPATH}/lib/grub/*/video.lst ${INSTALLPATH}/boot/grub/video.lst || die
607     fi
608    
609     # set kernelopts
610     if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]]
611     then
612     sed -i "s:^\(export GRUB_CMDLINE_LINUX_DEFAULT=\).*:\1\"${KERNELOPTS}\":" ${INSTALLPATH}/etc/conf.d/grub || die
613     sed -i "s:^\(export GRUB_GFXPAYLOAD_LINUX=\).*:\1\"${GRUB2GFXPAYLOAD}\":" ${INSTALLPATH}/etc/conf.d/grub || die
614     else
615     echo "export GRUB_CMDLINE_LINUX_DEFAULT=\"${KERNELOPTS}\"" >  ${INSTALLPATH}/etc/conf.d/grub || die
616     echo "export GRUB_GFXPAYLOAD_LINUX=\"${GRUB2GFXPAYLOAD}\"" >>  ${INSTALLPATH}/etc/conf.d/grub || die
617     fi
618     echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || die
619     echo "LC_ALL=C grub-mkconfig -o ${grub2conf}  &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die
620     echo "grub-install --no-floppy ${HDD} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die
621     echo "exit 0" >> ${INSTALLPATH}/root/.installrc || die
622    
623     # grub-legacy
624     else
625     ### grubconf schreiben
626     source ${INSTALLPATH}/boot/kernelversion
627    
628     #for alx only
629     if [ -e ${INSTALLPATH}/etc/alx_version ]
630     then
631     OLD_ALXVER="${ALXVER}"
632     source ${INSTALLPATH}/etc/alx_version
633     KRNVER="ALX-${ALXVER}"
634     ALXVER="${OLD_ALXVER}"
635     fi
636    
637     [[ -z ${KRNVER} ]] && KRNVER="AutoSta_LX"
638     [[ -z ${KRNINITRD} ]] && KRNINITRD="initrd"
639     [[ -z ${KRNIMG} ]] && KRNIMG="vmlinuz"
640    
641     # uuid support
642     if is_uuid_supported
643     then
644     my_roothdd="UUID=$(get_uuid ${ROOTHDD})"
645     else
646     my_roothdd="${ROOTHDD}"
647     fi
648    
649     : > ${grubconf} || die
650     echo "default 0" >> ${grubconf} || die
651     echo "timeout 3" >> ${grubconf} || die
652     # using current root password
653     echo "password --md5 $(cat ${INSTALLPATH}/etc/shadow | grep root | cut -d: -f2)"  >> ${grubconf} || die
654    
655     echo  >> ${grubconf} || die
656     echo "# normal boot" >> ${grubconf} || die
657     echo "title ${KRNVER}" >> ${grubconf} || die
658     echo "root (hd0,0)" >> ${grubconf} || die
659     echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || die
660     if is_initrd_supported
661     then
662     echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die
663     fi
664    
665     echo >> ${grubconf} || die
666     echo "# admin boot" >> ${grubconf} || die
667     echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || die
668     echo "lock"  >> ${grubconf} || die
669     echo "root (hd0,0)" >> ${grubconf} || die
670     echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} hardware-auto-detection" >> ${grubconf} || die
671     if is_initrd_supported
672     then
673     echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die
674     fi
675    
676     echo >> ${grubconf} || die
677     echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || die
678     echo "lock"  >> ${grubconf} || die
679     echo "root (hd0,0)" >> ${grubconf} || die
680     echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} alx-reset-settings" >> ${grubconf} || die
681     if is_initrd_supported
682     then
683     echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die
684     fi
685    
686     # write bootsector chrooted (lfs/magellan)
687     cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF
688    /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null
689  root (hd0,0)  root (hd0,0)
690  setup (hd0)  setup (hd0)
691  quit  quit
# Line 530  exit 0 Line 694  exit 0
694  CHROOTEOF  CHROOTEOF
695   fi   fi
696    
697   ### bootsector schreiben chrooted schreiben (lfs/magellan)   ## enters chroot
698   if [ -f $INSTALLPATH/usr/sbin/grub ]   mount -t proc proc ${INSTALLPATH}/proc
699   then   mount -t sysfs sysfs ${INSTALLPATH}/sys
700   cat > $INSTALLPATH/root/.bashrc << CHROOTEOF   mount -o bind /dev ${INSTALLPATH}/dev
701  /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null   chroot ${INSTALLPATH} /bin/bash --rcfile /root/.installrc -i
702  root (hd0,0)   umount ${INSTALLPATH}/proc
703  setup (hd0)   umount ${INSTALLPATH}/sys
704  quit   umount ${INSTALLPATH}/dev
705  EOF   rm ${INSTALLPATH}/root/.installrc
706    }
707    
708    is_initrd_supported()
709    {
710     # only generate initrds if the cmd exists
711     [[ -x ${INSTALLPATH}/sbin/mkinitrd ]] && return 0
712     return 1
713    }
714    
715    install_initrd_chroot()
716    {
717     # only generate initrds if the cmd exists
718     is_initrd_supported || return 0
719    
720     DISKMODS="sd_mod"
721     OLDPATAMODS="amd74xx piix sis5513 via82cxxx"
722     PATAMODS="ata_piix pata_amd pata_mpiix pata_oldpiix pata_sis pata_via"
723     SATAMODS="sata_via sata_sis sata_nv"
724     DRMMODS="i915 mga nouveau r128 radeon savage sis tdfx ttm via"
725     OTHERMODS=""
726     case ${SPECIALDEVICE} in
727     zotac_intel|i845) FBMODS=""; DRMMODS="i915" ;;
728     zotac_nvidia) FBMODS=""; DRMMODS="nouveau" ;;
729     rangee) FBMODS="" ;; ## fallback to vesafb, viafb does not run on all CLE266 boards
730     # not working with kms enabled drivers -> segfaults
731     #maxdata) FBMODS="i810fb" ;; ## check for maxdata / i810/ i815 Chipsets and disable KMS and use i810fb frambuffer
732     maxdata) FBMODS="" ;;
733     *) FBMODS="uvesafb" ;;
734     esac
735    
736     if [[ ${FORMFACTOR} = laptop ]]
737     then
738     OTHERMODS="acpi-cpufreq cpufreq_ondemand cpufreq_conservative cpufreq_powersave"
739     fi
740    
741     # install an appropriate uvesafb.conf
742     install -d ${INSTALLPATH}/etc/modprobe.d || die
743     echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > ${INSTALLPATH}/etc/modprobe.d/uvesafb.conf || die
744    
745     # install an appropriate viafb.conf
746     echo "options viafb viafb_mode=1024x768 viafb_refresh=60" > ${INSTALLPATH}/etc/modprobe.d/viafb.conf || die
747    
748     # install an appropriate i810fb.conf
749     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
750    
751     cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF
752    echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS} ${OTHERMODS}\"" > /etc/conf.d/mkinitrd
753    mkinitrd -f /boot/$(readlink /boot/initrd) $(readlink /boot/vmlinuz | sed "s:kernel-::g") > /dev/null
754  exit 0  exit 0
755  CHROOTEOF  CHROOTEOF
756    
757     ## enters chroot
758     mount -t proc proc ${INSTALLPATH}/proc
759     mount -t sysfs sysfs ${INSTALLPATH}/sys
760     mount -o bind /dev ${INSTALLPATH}/dev
761     chroot ${INSTALLPATH} /bin/bash --rcfile /root/.installrc -i
762     umount ${INSTALLPATH}/proc
763     umount ${INSTALLPATH}/sys
764     umount ${INSTALLPATH}/dev
765     rm ${INSTALLPATH}/root/.installrc
766    }
767    
768    is_uuid_supported()
769    {
770     if [[ -x $(which busybox.mkinitrd &> /dev/null) ]]
771     then
772     # only detect uuids if supported
773     if [[ ! -z $(busybox.mkinitrd | grep blkid) ]]
774     then
775     return 0
776     fi
777   fi   fi
778    
779   ##enters chroot   return 1
  mount -t proc proc $INSTALLPATH/proc  
  chroot $INSTALLPATH /bin/bash --rcfile /root/.bashrc -i  
  umount $INSTALLPATH/proc  
  rm $INSTALLPATH/root/.bashrc  
780  }  }
781    
782  install_alxconfig(){  get_uuid()
783   lastdir="`pwd`"  {
784     local UUID
785     local SEC_TYPE
786     local TYPE
787    
788   mkdir -p $INSTALLPATH/opt/alx-config || die   local dev="$1"
789   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  
790    
791   cd $lastdir || die   # check if given device is already an UUID
792     if [[ ${dev/UUID=/}x != ${dev}x ]]
793     then
794     eval "${dev}"
795     else
796     eval $(busybox.mkinitrd blkid ${dev} | grep "${dev}:" | sed 's/.*:\ //')
797     fi
798     echo "${UUID}"
799  }  }
800    
801    install_system_settings()
802    {
803     # schreibe fstab
804     if is_uuid_supported
805     then
806     if [[ -n ${BOOTHDD} ]]
807     then
808     echo -e "UUID=$(get_uuid ${BOOTHDD})\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die
809     fi
810     if [[ -n ${ROOTHDD} ]]
811     then
812     echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die
813     fi
814     else
815     if [[ -n ${BOOTHDD} ]]
816     then
817     echo -e "${BOOTHDD}\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die
818     fi
819     if [[ -n ${ROOTHDD} ]]
820     then
821     echo -e "${ROOTHDD}\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die
822     fi
823     fi
824     # not needed busybox loads all with swapon -a, even if not mentioned in fstab
825     #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || die
826     echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
827     echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
828    
829  install_system_settings(){   # install network config skeleton
830   ### 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  
 }  
831    
832  install_hotfixes(){   # intel framebufer quirk
833   if [ -f $CDPATH/hotfixes/hotfixes.sh ]   if [[ -e /proc/fb ]]
834   then   then
835   dialog_hotfixes   if [[ ! -z $(grep 'inteldrmfb' /proc/fb) ]]
836   sleep1   then
837   $CDPATH/hotfixes/hotfixes.sh   fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:')
838     if [[ ${fbdev} != 0 ]]
839     then
840     sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${INSTALLPATH}/etc/splash/splash.conf || die
841     fi
842     fi
843   fi   fi
844  }  }
845    
846  install_umount_rootfs() {  install_umount_rootfs()
847    {
848   cd /   cd /
849   umount $INSTALLPATH/boot || die   if [[ -n ${BOOTHDD} ]]
850   umount $INSTALLPATH || die   then
851   swapoff $SWAPHDD || die   umount ${INSTALLPATH}/boot || die
852     fi
853     if [[ -n ${ROOTHDD} ]]
854     then
855     umount ${INSTALLPATH} || die
856     fi
857     if [[ -n ${SWAPHDD} ]]
858     then
859     swapoff ${SWAPHDD} || die
860     fi
861  }  }
862    
863  install_do_reboot() {  install_do_reboot()
864    {
  #only for now later it will be used again  
  #with 6.1-r2 these options are not available  
  #cd /  
  #umount $CDPATH  
  #eject  
  #clear  
   
865   reboot   reboot
866  }  }
867    
868  #################################################  #################################################
869  #     Install Ablauf Scripte #  #     Install Main Scripts #
870  #################################################  #################################################
871    
872  run_install_normal() {  run_install()
873   #only for now later it will be used again  {
874   #with 6.1-r2 only one install method available   local method="$1"
875   #dialog_setup_hdd_menu  
876   dialog_setup_hdd_found_manuell   # setup install environment
877     export KERNELOPTS="${DEFAULT_KERNELOPTS}"
878   dialog_setup_hdd_partitions_manuell   export GRUBLEGACYOPTS="${GRUBLEGACYOPTS}"
879     export GRUB2OPTS="${GRUB2OPTS}"
880     export GRUB2GFXPAYLOAD="${DEFAULT_GRUB2GFXPAYLOAD}"
881     export FORMFACTOR="${DEFAULT_FORMFACTOR}"
882     export FORMAT_FILESYSTEM="${DEFAULT_FORMAT_FILESYSTEM}"
883    
884     case "${method}" in
885     auto)
886     export INSTALL_METHOD="${method}"
887     ;;
888     normal)
889     export INSTALL_METHOD="${method}"
890     ;;
891     single)
892     export INSTALL_METHOD="${method}"
893     ;;
894     *)
895     echo "Unknown install method '${method}', aborting."
896     exit 1
897     ;;
898     esac
899    
900     dialog_hardware_detection
901    
902     dialog_setup_hdd_partitions
903   dialog_setup_hdd_format   dialog_setup_hdd_format
904   setup_hdd_format > /dev/null   setup_hdd_format > /dev/null
905   install_mount_rootfs   install_mount_rootfs
906   (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
907    
  #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  
   
908   dialog_install_settings   dialog_install_settings
909   sleep 1   sleep 1
910   install_system_settings   install_system_settings
911   install_hotfixes   install_initrd_chroot
  install_umount_rootfs  
  dialog_install_successful  
 }  
912    
913  run_install_silent() {   dialog_install_bootsector
914   echo "starting silent install ..."   install_bootsector_chroot
  sleep 1  
 }  
915    
916  run_install_unattended() {   install_umount_rootfs
917   echo "starting unattended install ..."   dialog_install_successful
  sleep 1  
918  }  }
919    
920  if [ "$1" == "unattended" ]  dialog_main
 then  
  run_install_unattended  
 else  
  dialog_main  
 fi  
921    
922  exit 0  exit 0

Legend:
Removed from v.260  
changed lines
  Added in v.6826