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