Magellan Linux

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

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

revision 280 by niro, Wed Aug 17 03:35:09 2005 UTC revision 1169 by niro, Tue Aug 4 22:39:22 2009 UTC
# Line 1  Line 1 
1  #!/bin/sh  #!/bin/sh
2  #  #
3  # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/bin/alxinstall-ng.sh,v 1.5 2005-08-17 03:35:09 niro Exp $  # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/bin/alxinstall-ng.sh,v 1.15 2008-06-28 00:37:45 niro Exp $
4  #  #
5  # AutoSta_LX Installation Script  # AutoSta_LX Installation Script
 # version: 0.8b  
6  #  #
7  # Niels Rogalla <niro@magellan-linux.de>  # Niels Rogalla <niro@magellan-linux.de>
8  # <rogalla@augusta-bochum.de>  # <rogalla@augusta-bochum.de>
# Line 12  Line 11 
11  # Install Navigation Gui  # Install Navigation Gui
12  #  #
13    
 #source /etc/alx_version  
 #source /opt/alx-config/version  
   
 #source /etc/alx-config/config.rc  
   
14  #images: (get ${CDIMAGENAME})  #images: (get ${CDIMAGENAME})
15  source /mnt/cdrom/system/images.conf  source /mnt/cdrom/system/images.conf
16    
17  #Includes  #Includes
18  source /usr/lib/alxinstall-ng/functions/findhdd.sh > /dev/null  source /usr/lib/alxinstall-ng/functions/findhdd.sh > /dev/null
19  ### bugfix ###############################  ### bugfix ###############################
20  cdromdev="`echo $cdromdev|sed -e 's/ //'`"  cdromdev="$(echo ${cdromdev} | sed 's/ //')"
21  ########################################  ########################################
22    
23  ### System/Config Version  ### System/Config Version
24  VERSION="0.2"  VERSION="0.3.3"
25  TITLE="alxinstall-ng - ${VERSION}"  TITLE="alxinstall-ng - ${VERSION}"
26    
 #CONFIGS_TEMPLATE="/opt/alx-config/configs"  
   
27  CDPATH="/mnt/cdrom"  CDPATH="/mnt/cdrom"
28  INSTALLPATH="/mnt/magellan"  INSTALLPATH="/mnt/magellan"
29    
# Line 44  CURRENTLINE=0 Line 36  CURRENTLINE=0
36  #  DIALOG BOXEN #  #  DIALOG BOXEN #
37  #################################################  #################################################
38    
39  die() {  die()
40   #clear  {
  #echo -e "\nhuch, da ist ein script gestorben -> $?\n"  
  #read  
  #exit 0  
41   ERROR=$1   ERROR=$1
42   RETVAL=$?   RETVAL=$?
43   dialog_install_failure   dialog_install_failure
44   exit 1   exit 1
45  }  }
46    
47  dialog_warning() {  dialog_warning()
48    {
49   dialog \   dialog \
50   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
51   --colors \   --colors \
52   --defaultno \   --defaultno \
53   --yesno "\Z1 !!! Achtung !!! \Zn\n\n\   --yesno "\Z1 !!! Achtung !!! \Zn\n\n\
54   Diese Festplatte wird unwiederruflich geloescht werden.\n\n\   Diese Festplatte wird unwiederruflich geloescht werden.\n\n\
55   Soll ich wirklich fortfahren ?" 10 70   Soll ich wirklich fortfahren ?" 10 70
56   RES=$?   RES=$?
57   if [ "$RES" == "1" ]   if [[ ${RES} -eq 1 ]]
58   then   then
59   clear   clear
60   echo "Der Vorgang wurde abgebrochen."   echo "Der Vorgang wurde abgebrochen."
# Line 72  dialog_warning() { Line 62  dialog_warning() {
62   fi   fi
63  }  }
64    
65  dialog_setup_hdd_info(){  dialog_setup_hdd_info()
66   local SHDD="`echo $HDD|sed -e 's/\/dev\///'`"  {
67     local SHDD="$(echo ${HDD} | sed 's/\/dev\///')"
68    
69   dialog \   dialog \
70   --colors \   --colors \
71   --title "[ Festplatten Partitionierung ]" \   --title "[ Festplatten Partitionierung ]" \
72   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
73   --ok-label "Weiter" \   --ok-label "Weiter" \
74   --msgbox "\nBitte legen Sie 3 Partitionen an.\n\n\   --msgbox "\nBitte legen Sie 3 Partitionen an.\n\n\
75   [ \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 78  dialog_setup_hdd_info(){
78   Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81   Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81
79  }  }
80    
81  dialog_setup_hdd_info_flash(){  dialog_setup_hdd_info_flash()
82   local SHDD="`echo $HDD|sed -e 's/\/dev\///'`"  {
83     local SHDD="$(echo $HDD | sed 's/\/dev\///')"
84    
85   dialog \   dialog \
86   --colors \   --colors \
87   --title "[ Festplatten Partitionierung ]" \   --title "[ Festplatten Partitionierung ]" \
88   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
89   --ok-label "Weiter" \   --ok-label "Weiter" \
90   --msgbox "\nBitte legen Sie 1 Partition an.\n\n\   --msgbox "\nBitte legen Sie 1 Partition an.\n\n\
91   [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit dem gesamten Speicher\n\   [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit dem gesamten Speicher\n\
92   Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81   Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81
93  }  }
94    
95  dialog_setup_system_menu() {  dialog_setup_system_menu()
96    {
97     local i
98    
99   I=`dialog \   i=$(dialog \
100   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
101   --title "[ Festplatten Partitionierung ]" \   --title "[ Festplatten Partitionierung ]" \
102   --cancel-label "Abbrechen" \   --cancel-label "Abbrechen" \
103   --ok-label "Weiter" \   --ok-label "Weiter" \
104   --stdout \   --stdout \
105   --menu "\nWaehlen Sie die Installations-Methode" 14 70 5 \   --menu "\nWaehlen Sie die Installations-Methode" 14 70 5 \
106   "1" "Normale IDE-Disk" \   "1" "Normale IDE-Disk" \
107   "2" "Flash-Speicher"`   "2" "Flash-Speicher")
108   RES=$?   RES=$?
109   if [ "$RES" == "1" ];then   [[ ${RES} -eq 1 ]] && return 1
110   return 1   if [[ ${RES} -eq 0 ]]
111   fi   then
112   if [ "$RES" == "0" ];then   case "${i}" in
113   case "$I" in           "1") run_install_normal ;;
114           "1")   "2") run_install_flash ;;
  run_install_normal  
  ;;  
  "2")  
  run_install_flash  
  ;;  
115   esac   esac
116   fi   fi
117  }  }
118    
119  dialog_setup_hdd_found_manuell() {  dialog_setup_hdd_found_manuell()
120   if [ ! -z "$installdevs" ]  {
121   then   local i
122   installdevs=""  
123   fi   [[ ! -z ${installdevs} ]] && installdevs=""
124    
125   echo "dialog \\"  > /tmp/hddtmp.sh   echo "dialog \\"  > /tmp/hddtmp.sh
126   echo "--backtitle \"$TITLE\" \\" >> /tmp/hddtmp.sh   echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
127   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
128   echo "--stdout \\" >> /tmp/hddtmp.sh   echo "--stdout \\" >> /tmp/hddtmp.sh
129   echo "--colors \\" >> /tmp/hddtmp.sh   echo "--colors \\" >> /tmp/hddtmp.sh
130   echo "--msgbox \"Gefundene Hardware:\n\n \\" >> /tmp/hddtmp.sh   echo "--msgbox \"Gefundene Hardware:\n\n \\" >> /tmp/hddtmp.sh
131   echo " Festplatten:\n \\" >> /tmp/hddtmp.sh   echo " Festplatten:\n \\" >> /tmp/hddtmp.sh
132    
133   if [ ! -z "$scsidisks" ]   if [[ ! -z ${scsidisks} ]]
134   then   then
135   for I in $scsidisks   for i in ${scsidisks}
136   do   do
137   if [ "$I" != "$cdromdev" ]   if [[ ${i} != ${cdromdev} ]]
138   then   then
139   echo " \\Z7SCSI: \\Z3$I\\Zn\n \\" >> /tmp/hddtmp.sh   echo " \\Z7SCSI: \\Z3${i}\\Zn\n \\" >> /tmp/hddtmp.sh
140   installdevs="$installdevs $I"   installdevs="${installdevs} ${i}"
141   fi   fi
142   done   done
143   fi   fi
144    
145   if [ ! -z "$idedisks" ]   if [[ ! -z ${idedisks} ]]
146   then   then
147   for I in $idedisks   for i in ${idedisks}
148   do   do
149   if [ "$I" != "$cdromdev" ]   if [[ ${i} != ${cdromdev} ]]
150   then   then
151   echo " \\Z7IDE:  \\Z3$I\\Zn\n \\" >> /tmp/hddtmp.sh   echo " \\Z7IDE:  \\Z3${i}\\Zn\n \\" >> /tmp/hddtmp.sh
152   installdevs="$installdevs $I"   installdevs="${installdevs} ${i}"
153   fi   fi
154   done   done
155   fi   fi
156    
157   if [ ! -z "$cdromdev" ]   if [[ ! -z ${cdromdev} ]]
158   then   then
159   echo " \n \\" >> /tmp/hddtmp.sh   echo " \n \\" >> /tmp/hddtmp.sh
160   echo " \\Z7andere Laufwerke:\n \\" >> /tmp/hddtmp.sh   echo " \\Z7andere Laufwerke:\n \\" >> /tmp/hddtmp.sh
161   echo " CDROM: \\Z3$cdromdev\\Zn\n \\" >> /tmp/hddtmp.sh   echo " CDROM: \\Z3${cdromdev}\\Zn\n \\" >> /tmp/hddtmp.sh
162   fi   fi
163   echo " \" 13 70" >> /tmp/hddtmp.sh   echo " \" 13 70" >> /tmp/hddtmp.sh
164   chmod a+x /tmp/hddtmp.sh   chmod a+x /tmp/hddtmp.sh
165   /tmp/hddtmp.sh   /tmp/hddtmp.sh
166  }  }
167    
168  dialog_setup_hdd_partitions_manuell() {  dialog_setup_hdd_partitions_manuell()
169   if [ -z "$installdevs" ]  {
170     local i
171    
172     if [[ -z ${installdevs} ]]
173   then   then
174   dialog \   dialog \
175   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
176   --ok-label "Beenden" \   --ok-label "Beenden" \
177   --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70   --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70
178   exit 1   exit 1
179   else   else
180    
181   echo "dialog \\" > /tmp/hddtmp.sh   echo "dialog \\" > /tmp/hddtmp.sh
182   echo "--backtitle \"$TITLE\" \\" >> /tmp/hddtmp.sh   echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
183   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
184   echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh   echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh
185   echo "--stdout \\" >> /tmp/hddtmp.sh   echo "--stdout \\" >> /tmp/hddtmp.sh
186   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
187    
188   for I in $installdevs   for i in ${installdevs}
189   do   do
190   echo "\"$I\" \"\" \\" >> /tmp/hddtmp.sh   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
191   done   done
192   echo -e "\n" >> /tmp/hddtmp.sh   echo -e "\n" >> /tmp/hddtmp.sh
193    
194   chmod a+x /tmp/hddtmp.sh   chmod a+x /tmp/hddtmp.sh
195   HDD="`/tmp/hddtmp.sh`"   HDD="$(/tmp/hddtmp.sh)"
196   RES=$?   RES=$?
197   if [ "$RES" == "1" ]   [[ ${RES} -eq 1 ]] && return 1
198   then   if [[ ${RES} -eq 0 ]]
  return 1  
  fi  
  if [ "$RES" == "0" ]  
199   then   then
200   dialog_setup_hdd_info   dialog_setup_hdd_info
201   setup_hdd_partitions_manuell   setup_hdd_partitions_manuell
# Line 214  dialog_setup_hdd_partitions_manuell() { Line 203  dialog_setup_hdd_partitions_manuell() {
203   fi   fi
204  }  }
205    
206  dialog_setup_hdd_partitions_manuell_flash() {  dialog_setup_hdd_partitions_manuell_flash()
207   if [ -z "$installdevs" ]  {
208     local i
209    
210     if [[ -z ${installdevs} ]]
211   then   then
212   dialog \   dialog \
213   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
214   --ok-label "Beenden" \   --ok-label "Beenden" \
215   --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70   --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70
216   exit 1   exit 1
217   else   else
218    
219   echo "dialog \\" > /tmp/hddtmp.sh   echo "dialog \\" > /tmp/hddtmp.sh
220   echo "--backtitle \"$TITLE\" \\" >> /tmp/hddtmp.sh   echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
221   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh   echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
222   echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh   echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh
223   echo "--stdout \\" >> /tmp/hddtmp.sh   echo "--stdout \\" >> /tmp/hddtmp.sh
224   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh   echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
225    
226   for I in $installdevs   for i in ${installdevs}
227   do   do
228   echo "\"$I\" \"\" \\" >> /tmp/hddtmp.sh   echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
229   done   done
230   echo -e "\n" >> /tmp/hddtmp.sh   echo -e "\n" >> /tmp/hddtmp.sh
231    
232   chmod a+x /tmp/hddtmp.sh   chmod a+x /tmp/hddtmp.sh
233   HDD="`/tmp/hddtmp.sh`"   HDD="$(/tmp/hddtmp.sh)"
234   RES=$?   RES=$?
235   if [ "$RES" == "1" ]   [[ ${RES} -eq 1 ]] && return 1
236   then   if [[ ${RES} -eq 0 ]]
  return 1  
  fi  
  if [ "$RES" == "0" ]  
237   then   then
238   dialog_setup_hdd_info_flash   dialog_setup_hdd_info_flash
239   setup_hdd_partitions_manuell_flash   setup_hdd_partitions_manuell_flash
# Line 252  dialog_setup_hdd_partitions_manuell_flas Line 241  dialog_setup_hdd_partitions_manuell_flas
241   fi   fi
242  }  }
243    
244  dialog_setup_hdd_partitions_silent() {  dialog_setup_hdd_format()
245    {
246   dialog \   dialog \
247   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
  --infobox "Erstelle Partitionen ..." 3 70  
 }  
   
 dialog_setup_hdd_format() {  
  dialog \  
  --backtitle "$TITLE" \  
248   --infobox "Erstelle Datei-Systeme ..." 3 70   --infobox "Erstelle Datei-Systeme ..." 3 70
249  }  }
250    
251  dialog_install_settings() {  dialog_install_settings()
252    {
253   dialog \   dialog \
254   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
255   --infobox "Speichere System-Einstellungen ..." 3 70   --infobox "Speichere System-Einstellungen ..." 3 70
256  }  }
257    
258  dialog_install_system_image() {  dialog_install_system_image()
259    {
260   dialog \   dialog \
261   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
262   --gauge "Kopiere System-Image ..." 6 80   --gauge "Kopiere System-Image ..." 6 80
263  }  }
264    
265  dialog_install_meter() {  dialog_install_meter()
266   while [ "${CURRENTLINE}" != "${TOTALLINES}" ] ; do  {
267   CURRENTLINE=`grep --count . /tmp/install.log`   while [[ ${CURRENTLINE} != ${TOTALLINES} ]]
268   PERCENT=`expr ${CURRENTLINE} \* 100 / ${TOTALLINES}`   do
269     CURRENTLINE=$(grep -c . /tmp/install.log)
270     PERCENT=$(( ${CURRENTLINE} * 100 / ${TOTALLINES}))
271   echo ${PERCENT}   echo ${PERCENT}
272   sleep 1   sleep 1
273   done   done
# Line 288  dialog_install_meter() { Line 276  dialog_install_meter() {
276  }  }
277    
278    
279  dialog_install_bootsector() {  dialog_install_bootsector()
280    {
281   dialog \   dialog \
282   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
283   --infobox "Schreibe den Bootsektor ..." 3 70   --infobox "Schreibe den Bootsektor ..." 3 70
284  }  }
285    
286  dialog_install_alxconfig() {  dialog_install_successful()
287   dialog \  {
  --backtitle "$TITLE" \  
  --infobox "Installiere die ALX Setup-Tools ..." 3 70  
 }  
   
 dialog_install_kernel_image() {  
288   dialog \   dialog \
289   --backtitle "$TITLE" \   --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" \  
290   --colors \   --colors \
291   --msgbox "Die Installation war \Z2erfolgreich\Zn." 5 81   --msgbox "Die Installation war \Z2erfolgreich\Zn." 5 81
292  }  }
293    
294  dialog_install_failure() {  dialog_install_failure()
295    {
296   dialog \   dialog \
297   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
298   --colors \   --colors \
299   --msgbox "Die Installation ist \Z1Fehlgeschlagen\Zn.\n\n\   --msgbox "Die Installation ist \Z1Fehlgeschlagen\Zn.\n\n\
300   Fehler bei $ERROR, RetVal: $RETVAL \   Fehler bei ${ERROR}, RetVal: ${RETVAL} \
301   " 10 81   " 10 81
302  }  }
303    
304  dialog_install_method() {  dialog_main()
305    {
  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() {  
306   METHOD=0   METHOD=0
307    
308   while [ $METHOD -le 2 ]   while [[ ${METHOD} -le 2 ]]
309   do   do
310   METHOD=`dialog \   METHOD=$(dialog \
311   --backtitle "$TITLE" \   --backtitle "${TITLE}" \
312   --no-cancel \   --no-cancel \
313   --ok-label "Weiter" \   --ok-label "Weiter" \
314   --stdout \   --stdout \
# Line 371  dialog_main() { Line 316  dialog_main() {
316   "1" "AutoSta_LX installieren" \   "1" "AutoSta_LX installieren" \
317   "2" "Uebersicht gefundener Laufwerke" \   "2" "Uebersicht gefundener Laufwerke" \
318   "3" "Beenden und neustarten" \   "3" "Beenden und neustarten" \
319   "4" "Beenden und eine Shell starten" `   "4" "Beenden und eine Shell starten")
320   RES=$?   RES=$?
321   if [ "$RES" == "1" ];then   [[ ${RES} -eq 1 ]] && exit 1
322   exit 1   if [[ ${RES} -eq 0 ]]
323   fi   then
324   if [ "$RES" == "0" ];then   case ${METHOD} in
325   case "$METHOD" in           "1") dialog_setup_system_menu ;;
326           "1")   "2") dialog_setup_hdd_found_manuell ;;
327   #only for now later it will be used again   "3") install_do_reboot ;;
328   #with 6.1-r2 only one install method available   "4") /bin/bash --login -i ;;
  #dialog_install_method  
  #run_install_normal  
  dialog_setup_system_menu  
  ;;  
  "2") dialog_setup_hdd_found_manuell  
  ;;  
  "3") install_do_reboot  
  ;;  
  "4") /bin/bash --login -i  
  ;;  
329   esac   esac
330   fi   fi
331   done   done
# Line 399  dialog_main() { Line 334  dialog_main() {
334  #################################################  #################################################
335  # Install Komandos #  # Install Komandos #
336  #################################################  #################################################
337  setup_hdd_partitions_manuell() {  setup_hdd_partitions_manuell()
338    {
339   BOOTHDD="${HDD}1"   BOOTHDD="${HDD}1"
340   SWAPHDD="${HDD}2"   SWAPHDD="${HDD}2"
341   ROOTHDD="${HDD}3"   ROOTHDD="${HDD}3"
342    
343   ## hdds partitionieren manuell   ## hdds partitionieren manuell
344   cfdisk $HDD || die   cfdisk ${HDD} || die
345  }  }
346    
347  setup_hdd_partitions_manuell_flash() {  setup_hdd_partitions_manuell_flash()
348    {
349   ROOTHDD="${HDD}1"   ROOTHDD="${HDD}1"
350    
351   ## hdds partitionieren manuell   ## hdds partitionieren manuell
352   cfdisk $HDD || die   cfdisk ${HDD} || die
353  }  }
354    
355  setup_hdd_partitions_silent() {  setup_hdd_format()
356   ## hdds löschen  {
357   dd if=/dev/zero of=$HDD bs=1024k count=1 || die   mkswap ${SWAPHDD} || die
358   ## hdds partitionieren silent   mke2fs -j -q ${BOOTHDD} || die
359   fdisk $HDD < $CONFIGS_TEMPLATE/fdisksettings #1> /dev/null 3> /dev/null || die   mke2fs -j -q ${ROOTHDD} || die
   
  read  
360  }  }
361    
362  setup_hdd_format() {  setup_hdd_format_flash()
363   mkswap $SWAPHDD || die  {
364   mke2fs -j -q $BOOTHDD || die   mke2fs -j -q ${ROOTHDD} || die
  mke2fs -j -q $ROOTHDD || die  
365  }  }
366    
367  setup_hdd_format_flash() {  install_mount_rootfs()
368  # mkswap $SWAPHDD || die  {
369  # mke2fs -j -q $BOOTHDD || die   swapon ${SWAPHDD} || die
370   mke2fs -j -q $ROOTHDD || die   mount ${ROOTHDD} ${INSTALLPATH} || die
371     install -d ${INSTALLPATH}/boot || die
372     mount ${BOOTHDD} ${INSTALLPATH}/boot || die
373     cd ${INSTALLPATH} || die
374  }  }
375    
376  install_mount_rootfs() {  install_mount_rootfs_flash()
377   swapon $SWAPHDD || die  {
378   mount $ROOTHDD $INSTALLPATH || die   mount ${ROOTHDD} ${INSTALLPATH} || die
379   install -d $INSTALLPATH/boot || die   install -d ${INSTALLPATH}/boot || die
380   mount $BOOTHDD $INSTALLPATH/boot || die   cd ${INSTALLPATH} || die
  cd $INSTALLPATH || die  
381  }  }
382    
383  install_mount_rootfs_flash() {  install_system_image()
384  # swapon $SWAPHDD || die  {
  mount $ROOTHDD $INSTALLPATH || die  
  install -d $INSTALLPATH/boot || die  
 # mount $BOOTHDD $INSTALLPATH/boot || die  
  cd $INSTALLPATH || die  
 }  
   
 install_system_image() {  
  #tar xvzpf $CDPATH/system/autosta_lx.tar.gz  
385   tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH}   tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH}
386  }  }
387    
388    install_bootsector_chroot()
389  install_kernel_image() {  {
  declare -i CPUTYPE=`cat /proc/cpuinfo |grep "cpu family"|cut -d ' ' -f3`  
   
  if [ $CPUTYPE -le 5 ];then  
                 #echo -e "\033[1;6m\033[36m""i386 Architektur gefunden.""\033[0m"  
                 #echo -e "Installiere i386 Kernel..."  
   
  lastdir="`pwd`"  
   
  mkdir -p $INSTALLPATH/INSTALL/kernel || die  
  cd $INSTALLPATH/INSTALL/kernel || die  
  tar xzpf $CDPATH/kernels/kernel-i386.tar.gz || die  
  source $INSTALLPATH/INSTALL/kernel/kernelversion || die  
   
  cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNLIB $INSTALLPATH/lib/modules || die  
  cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNIMG $INSTALLPATH/boot || die  
  cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNINITRD $INSTALLPATH/boot || die  
  cp -aRf $INSTALLPATH/INSTALL/kernel/kernelversion $INSTALLPATH/boot || die  
   
  cd $lastdir || die  
   
         elif [ $CPUTYPE -ge 6 ];then  
                 #echo -e "\033[1;6m\033[36m""i686 Architektur gefunden.""\033[0m"  
                 #echo -e "Installiere i686 Kernel..."  
   
  lastdir="`pwd`"  
   
  mkdir -p $INSTALLPATH/INSTALL/kernel || die  
  cd $INSTALLPATH/INSTALL/kernel || die  
  tar xzpf $CDPATH/kernels/kernel-i686.tar.gz || die  
  source $INSTALLPATH/INSTALL/kernel/kernelversion || die  
   
  cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNLIB $INSTALLPATH/lib/modules || die  
  cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNIMG $INSTALLPATH/boot || die  
  cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNINITRD $INSTALLPATH/boot || die  
  cp -aRf $INSTALLPATH/INSTALL/kernel/kernelversion $INSTALLPATH/boot || die  
   
  cd $lastdir || die  
         fi  
 }  
   
 install_bootsector() {  
  ### grubconf schreiben  
  source $INSTALLPATH/INSTALL/kernel/kernelversion  
   
  if [ -z $KRNVER ]  
  then  
  KRNVER="AutoSta_LX"  
  fi  
   
  if [ -z $KRNIMG ]  
  then  
  KRNIMG="bzImage"  
  fi  
   
  if [ -z $KRNINITRD ]  
  then  
  KRNINITRD="initrd"  
  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  
 }  
   
 install_bootsector_chroot() {  
390   ### grubconf schreiben   ### grubconf schreiben
391   #source $INSTALLPATH/INSTALL/kernel/kernelversion   source ${INSTALLPATH}/boot/kernelversion
  source $INSTALLPATH/boot/kernelversion  
392    
393   #for alx only   #for alx only
394   if [ -e ${INSTALLPATH}/etc/alx_version ]   if [ -e ${INSTALLPATH}/etc/alx_version ]
# Line 555  install_bootsector_chroot() { Line 398  install_bootsector_chroot() {
398   KRNVER="ALX-${ALXVER}"   KRNVER="ALX-${ALXVER}"
399   ALXVER="${OLD_ALXVER}"   ALXVER="${OLD_ALXVER}"
400   fi   fi
   
  if [ -z "$KRNVER" ]  
  then  
  KRNVER="AutoSta_LX"  
  fi  
   
  if [ -z "$KRNIMG" ]  
  then  
  KRNIMG="bzImage"  
  fi  
401    
402   if [ -z "$KRNINITRD" ]   [[ -z ${KRNVER} ]] && KRNVER="AutoSta_LX"
403   then   [[ -z ${KRNINITRD} ]] && KRNINITRD="initrd"
  KRNINITRD="initrd"  
  fi  
404    
405   echo -e "default 0" > $INSTALLPATH/boot/grub/grub.conf || die   local grubconf=${INSTALLPATH}/boot/grub/grub.conf
406   echo -e "timeout 0" >> $INSTALLPATH/boot/grub/grub.conf ||die   : > ${grubconf} || die
407     echo "default 0" >> ${grubconf} || die
408   #no support for splash image in 6.1-r2   echo "timeout 3" >> ${grubconf} || die
409   #echo -e "splashimage=(hd0,0)/boot/grub/splash.xpm.gz" >> $INSTALLPATH/boot/grub/grub.conf || die   # using current root password
410     echo "password --md5 $(cat ${INSTALLPATH}/etc/shadow | grep root | cut -d: -f2)"  >> ${grubconf} || die
411   echo -e "\ntitle=${KRNVER}" >> $INSTALLPATH/boot/grub/grub.conf || die  
412   echo -e "root (hd0,0)" >> $INSTALLPATH/boot/grub/grub.conf || die   echo  >> ${grubconf} || die
413     echo "# normal boot" >> ${grubconf} || die
414   #s3 cards don't support this   echo "title ${KRNVER}" >> ${grubconf} || die
415   #echo -e "kernel (hd0,0)/boot/${KRNIMG} root=$ROOTHDD vga=0x317 video:vesa:ywrap,mtrr splash=silent quiet" >> $INSTALLPATH/boot/grub/grub.conf || die   echo "root (hd0,0)" >> ${grubconf} || die
416   #that's more safer:   echo "kernel /boot/vmlinuz root=${ROOTHDD} quiet" >> ${grubconf} || die
417   echo -e "kernel (hd0,0)/boot/${KRNIMG} root=$ROOTHDD quiet" >> $INSTALLPATH/boot/grub/grub.conf || die   echo "initrd /boot/initrd" >> ${grubconf} || die
418    
419   #not needed without bootsplash support   echo >> ${grubconf} || die
420   #echo -e "initrd=/boot/${KRNINITRD}" >> $INSTALLPATH/boot/grub/grub.conf || die   echo "# admin boot" >> ${grubconf} || die
421     echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || die
422     echo "lock"  >> ${grubconf} || die
423     echo "root (hd0,0)" >> ${grubconf} || die
424     echo "kernel /boot/vmlinuz root=${ROOTHDD} quiet hardware-auto-detection" >> ${grubconf} || die
425     echo "initrd /boot/initrd" >> ${grubconf} || die
426    
427     echo >> ${grubconf} || die
428     echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || die
429     echo "lock"  >> ${grubconf} || die
430     echo "root (hd0,0)" >> ${grubconf} || die
431     echo "kernel /boot/vmlinuz root=${ROOTHDD} quiet alx-reset-settings" >> ${grubconf} || die
432     echo "initrd /boot/initrd" >> ${grubconf} || die
433    
434     # bootsector schreiben chrooted schreiben (lfs/magellan)
435   ### bootsector schreiben chrooted schreiben (gentoo)   cat > ${INSTALLPATH}/root/.bashrc << CHROOTEOF
436   if [ -f $INSTALLPATH/sbin/grub ]  /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null
  then  
  cat > $INSTALLPATH/root/.bashrc << CHROOTEOF  
 /sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null  
437  root (hd0,0)  root (hd0,0)
438  setup (hd0)  setup (hd0)
439  quit  quit
440  EOF  EOF
441  exit 0  exit 0
442  CHROOTEOF  CHROOTEOF
  fi  
443    
444   ### bootsector schreiben chrooted schreiben (lfs/magellan)   ## enters chroot
445   if [ -f $INSTALLPATH/usr/sbin/grub ]   mount -t proc proc ${INSTALLPATH}/proc
446   then   mount -t sysfs sysfs ${INSTALLPATH}/sys
447   cat > $INSTALLPATH/root/.bashrc << CHROOTEOF   mount -o bind /dev ${INSTALLPATH}/dev
448  /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null   chroot ${INSTALLPATH} /bin/bash --rcfile /root/.bashrc -i
449  root (hd0,0)   umount ${INSTALLPATH}/proc
450  setup (hd0)   umount ${INSTALLPATH}/sys
451  quit   umount ${INSTALLPATH}/dev
452  EOF   rm ${INSTALLPATH}/root/.bashrc
453    }
454    
455    install_mkinitrd_chroot()
456    {
457     cat > ${INSTALLPATH}/root/.bashrc << CHROOTEOF
458    echo "MODULES=\"ext3 amd74xx piix sis5513 via82cxxx sd_mod ata_piix pata_amd pata_mpiix pata_oldpiix pata_sis pata_via sata_via sata_sis sata_nv\"" > /etc/conf.d/mkinitrd
459    mkinitrd -f /boot/$(readlink /boot/initrd) $(readlink /boot/vmlinuz | sed "s:kernel-::g") > /dev/null
460  exit 0  exit 0
461  CHROOTEOF  CHROOTEOF
  fi  
462    
463   ##enters chroot   ## enters chroot
464   mount -t proc none $INSTALLPATH/proc   mount -t proc proc ${INSTALLPATH}/proc
465   # bind /dev to get the devices right,   mount -t sysfs sysfs ${INSTALLPATH}/sys
466   # if bootet from a 2.6 kernel with udev   mount -o bind /dev ${INSTALLPATH}/dev
467   mount -o bind /dev $INSTALLPATH/dev   chroot ${INSTALLPATH} /bin/bash --rcfile /root/.bashrc -i
468   chroot $INSTALLPATH /bin/bash --rcfile /root/.bashrc -i   umount ${INSTALLPATH}/proc
469   umount $INSTALLPATH/proc   umount ${INSTALLPATH}/sys
470   umount $INSTALLPATH/dev   umount ${INSTALLPATH}/dev
471   rm $INSTALLPATH/root/.bashrc   rm ${INSTALLPATH}/root/.bashrc
472  }  }
473    
474  install_alxconfig(){  install_system_settings()
475   lastdir="`pwd`"  {
476     # schreibe fstab
477   mkdir -p $INSTALLPATH/opt/alx-config || die   echo -e "${BOOTHDD}\t/boot\text3\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die
478   cd $INSTALLPATH/opt/alx-config || die   echo -e "${ROOTHDD}\t/\text3\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die
479   tar xzpf $CDPATH/alx-config/alx-config.tar.gz || die   echo -e "${SWAPHDD}\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || die
480   chmod a+x $INSTALLPATH/opt/alx-config/Configurator/config_functions.sh || die   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
481   chmod a+x $INSTALLPATH/opt/alx-config/Configurator/config_menu.sh || die   echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
482   ln -sf /opt/alx-config/Configurator/config_menu.sh $INSTALLPATH/bin/ALXConfig || die  
483     # install network config skeleton
484   cd $lastdir || die   install -m0644 ${INSTALLPATH}/etc/alxconfig-ng/skel/net/net.eth0 ${INSTALLPATH}/etc/conf.d/ || die
485    }
486    
487    install_system_settings_flash()
488    {
489     # schreibe fstab
490     echo -e "${ROOTHDD}\t/\text3\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || die
491     echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
492     echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
493  }  }
494    
495    install_umount_rootfs()
496  install_system_settings(){  {
  ### schreibe fstab  
  echo -e "$BOOTHDD\t/boot\text3\tnoatime,noauto\t1 1" > $INSTALLPATH/etc/fstab || die  
  echo -e "$ROOTHDD\t/\text3\tnoatime\t0 0" >> $INSTALLPATH/etc/fstab || die  
  echo -e "$SWAPHDD\tswap\tswap\tpri=1\t0 0" >> $INSTALLPATH/etc/fstab || die  
  echo -e "none\t/proc\tproc\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die  
   
  #deprecated  
  #echo -e "devpts\t/dev/pts\tdevpts\tgid=4,mode=620\t0 0" >> $INSTALLPATH/etc/fstab || die  
   
  echo -e "none\t/dev/shm\ttmpfs\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die  
  echo -e "none\t/proc/bus/usb\tusbfs\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die  
 }  
   
 install_system_settings_flash(){  
  ### schreibe fstab  
 # echo -e "$BOOTHDD\t/boot\text3\tnoatime,noauto\t1 1" > $INSTALLPATH/etc/fstab || die  
  echo -e "$ROOTHDD\t/\text3\tnoatime\t0 0" > $INSTALLPATH/etc/fstab || die  
 # echo -e "$SWAPHDD\tswap\tswap\tpri=1\t0 0" >> $INSTALLPATH/etc/fstab || die  
  echo -e "none\t/proc\tproc\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die  
   
  #deprecated  
  #echo -e "devpts\t/dev/pts\tdevpts\tgid=4,mode=620\t0 0" >> $INSTALLPATH/etc/fstab || die  
   
  echo -e "none\t/dev/shm\ttmpfs\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die  
  echo -e "none\t/proc/bus/usb\tusbfs\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die  
 }  
 install_hotfixes(){  
  if [ -f $CDPATH/hotfixes/hotfixes.sh ]  
  then  
  dialog_hotfixes  
  sleep1  
  $CDPATH/hotfixes/hotfixes.sh  
  fi  
 }  
   
 install_umount_rootfs() {  
497   cd /   cd /
498   umount $INSTALLPATH/boot || die   umount ${INSTALLPATH}/boot || die
499   umount $INSTALLPATH || die   umount ${INSTALLPATH} || die
500   swapoff $SWAPHDD || die   swapoff ${SWAPHDD} || die
501  }  }
502    
503  install_umount_rootfs_flash() {  install_umount_rootfs_flash()
504    {
505   cd /   cd /
506  # umount $INSTALLPATH/boot || die   umount ${INSTALLPATH} || die
  umount $INSTALLPATH || die  
 # swapoff $SWAPHDD || die  
507  }  }
508    
509  install_do_reboot() {  install_do_reboot()
510    {
  #only for now later it will be used again  
  #with 6.1-r2 these options are not available  
  #cd /  
  #umount $CDPATH  
  #eject  
  #clear  
   
511   reboot   reboot
512  }  }
513    
# Line 706  install_do_reboot() { Line 515  install_do_reboot() {
515  #     Install Ablauf Scripte #  #     Install Ablauf Scripte #
516  #################################################  #################################################
517    
518  run_install_normal() {  run_install_normal()
519   #only for now later it will be used again  {
  #with 6.1-r2 only one install method available  
  #dialog_setup_hdd_menu  
520   dialog_setup_hdd_found_manuell   dialog_setup_hdd_found_manuell
521    
522   dialog_setup_hdd_partitions_manuell   dialog_setup_hdd_partitions_manuell
523   dialog_setup_hdd_format   dialog_setup_hdd_format
524   setup_hdd_format > /dev/null   setup_hdd_format > /dev/null
525   install_mount_rootfs   install_mount_rootfs
526   (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
527    
  #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  
   
528   dialog_install_bootsector   dialog_install_bootsector
529   install_bootsector_chroot   install_bootsector_chroot
530    
  #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  
   
531   dialog_install_settings   dialog_install_settings
532   sleep 1   sleep 1
533   install_system_settings   install_system_settings
534   install_hotfixes   install_mkinitrd_chroot
535   install_umount_rootfs   install_umount_rootfs
536   dialog_install_successful   dialog_install_successful
537  }  }
538    
539  run_install_flash() {  run_install_flash()
540   #only for now later it will be used again  {
  #with 6.1-r2 only one install method available  
  #dialog_setup_hdd_menu  
541   dialog_setup_hdd_found_manuell   dialog_setup_hdd_found_manuell
542    
543   dialog_setup_hdd_partitions_manuell_flash   dialog_setup_hdd_partitions_manuell_flash
544   dialog_setup_hdd_format   dialog_setup_hdd_format
545   setup_hdd_format_flash > /dev/null   setup_hdd_format_flash > /dev/null
546   install_mount_rootfs_flash   install_mount_rootfs_flash
547   (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
548    
  #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  
   
549   dialog_install_bootsector   dialog_install_bootsector
550   install_bootsector_chroot   install_bootsector_chroot
551    
  #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  
   
552   dialog_install_settings   dialog_install_settings
553   sleep 1   sleep 1
554   install_system_settings_flash   install_system_settings_flash
555   install_hotfixes   install_mkinitrd_chroot
556   install_umount_rootfs_flash   install_umount_rootfs_flash
557   dialog_install_successful   dialog_install_successful
558  }  }
559    
560  run_install_silent() {  dialog_main
  echo "starting silent install ..."  
  sleep 1  
 }  
   
 run_install_unattended() {  
  echo "starting unattended install ..."  
  sleep 1  
 }  
   
 if [ "$1" == "unattended" ]  
 then  
  run_install_unattended  
 else  
  dialog_main  
 fi  
561    
562  exit 0  exit 0

Legend:
Removed from v.280  
changed lines
  Added in v.1169