Magellan Linux

Annotation of /mcore-src/trunk/mcore-install/bin/mcore-install.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1275 - (hide annotations) (download) (as text)
Fri Feb 4 22:20:50 2011 UTC (13 years, 3 months ago) by niro
File MIME type: application/x-sh
File size: 17087 byte(s)
- initial release
1 niro 1275 #!/bin/bash
2     # $Id$
3    
4     MLIBDIR="/usr/lib/mcore-intall"
5    
6     # images: (get ${CDIMAGENAME})
7     source /mnt/cdrom/system/images.conf
8    
9     # includes
10     source ${MLIBDIR}/functions/findhdd.sh > /dev/null
11     ### bugfix ###############################
12     cdromdev="$(echo ${cdromdev} | sed 's/ //')"
13     ########################################
14    
15     ### System/Config Version
16     VERSION="@@VERSION@@"
17     TITLE="mcore-install - ${VERSION}"
18    
19     CDPATH="/mnt/cdrom"
20     INSTALLPATH="/mnt/magellan"
21    
22     ### WICHTIG: anzahl lines in der autosta_lx.tar.gz -1
23     CURRENTLINE=0
24     #TOTALLINES=11072 # -> now in images.conf
25    
26     # standart kernel opts
27     KERNELOPTS="quiet"
28    
29     # default specialdevices
30     SPECIALDEVICE=""
31    
32     #################################################
33     # DIALOG BOXEN #
34     #################################################
35    
36     die()
37     {
38     ERROR=$1
39     RETVAL=$?
40     dialog_install_failure
41     exit 1
42     }
43    
44     dialog_warning()
45     {
46     dialog \
47     --backtitle "${TITLE}" \
48     --colors \
49     --defaultno \
50     --yesno "\Z1 !!! Achtung !!! \Zn\n\n\
51     Diese Festplatte wird unwiederruflich geloescht werden.\n\n\
52     Soll ich wirklich fortfahren ?" 10 70
53     RES=$?
54     if [[ ${RES} -eq 1 ]]
55     then
56     clear
57     echo "Der Vorgang wurde abgebrochen."
58     exit 1
59     fi
60     }
61    
62     dialog_setup_hdd_info()
63     {
64     local SHDD="$(echo ${HDD} | sed 's/\/dev\///')"
65    
66     dialog \
67     --colors \
68     --title "[ Festplatten Partitionierung ]" \
69     --backtitle "${TITLE}" \
70     --ok-label "Weiter" \
71     --msgbox "\nBitte legen Sie 3 Partitionen an.\n\n\
72     [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit ca. 50MB\n\
73     [ \Z3${SHDD}2\Zn ] Typ: \Z3Linux Swap\Zn mit ca. 256MB\n\
74     [ \Z3${SHDD}3\Zn ] Typ: \Z3Linux \Zn mit dem Rest (min. 256MB)\n\n\
75     Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81
76     }
77    
78     dialog_setup_hdd_info_flash()
79     {
80     local SHDD="$(echo $HDD | sed 's/\/dev\///')"
81    
82     dialog \
83     --colors \
84     --title "[ Festplatten Partitionierung ]" \
85     --backtitle "${TITLE}" \
86     --ok-label "Weiter" \
87     --msgbox "\nBitte legen Sie 1 Partition an.\n\n\
88     [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit dem gesamten Speicher\n\
89     Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81
90     }
91    
92     dialog_setup_hdd_info_auto()
93     {
94     local SHDD="$(echo $HDD | sed 's/\/dev\///')"
95    
96     dialog \
97     --colors \
98     --title "[ Festplatten Partitionierung ]" \
99     --backtitle "${TITLE}" \
100     --ok-label "Weiter" \
101     --msgbox "\nAchtung!\n\
102     Alle Daten werden von der Disk [ \Z3${HDD}\Zn ] gelöscht!" 12 81
103     }
104    
105     dialog_setup_system_menu()
106     {
107     local i
108    
109     i=$(dialog \
110     --backtitle "${TITLE}" \
111     --title "[ Festplatten Partitionierung ]" \
112     --cancel-label "Abbrechen" \
113     --ok-label "Weiter" \
114     --stdout \
115     --colors \
116     --menu "\nWaehlen Sie die Installations-Methode" 14 70 5 \
117     "1" "Automatisches Setup (Empfohlen)" \
118     "" "" \
119     "" "\Z1Experten Modi:\Zn" \
120     "2" "Normale IDE-Disk (Manuell)" \
121     "3" "Flash-Speicher (Manuell)")
122     RES=$?
123     [[ ${RES} -eq 1 ]] && return 1
124     if [[ ${RES} -eq 0 ]]
125     then
126     case "${i}" in
127     "1") run_install_auto ;;
128     "2") run_install_normal ;;
129     "3") run_install_flash ;;
130     "") dialog_setup_system_menu;;
131     esac
132     fi
133     }
134    
135     dialog_hardware_detection()
136     {
137     local i
138     local hwtmp
139    
140     if [ -x $(which mktemp &> /dev/null) ]
141     then
142     hwtmp="$(mktemp)"
143     else
144     hwtmp="/tmp/hwtmp.sh"
145     fi
146    
147     [[ ! -z ${installdevs} ]] && installdevs=""
148    
149     echo "dialog \\" > ${hwtmp}
150     echo "--backtitle \"${TITLE}\" \\" >> ${hwtmp}
151     echo "--ok-label \"Weiter\" \\" >> ${hwtmp}
152     echo "--stdout \\" >> ${hwtmp}
153     echo "--colors \\" >> ${hwtmp}
154     echo "--msgbox \"Gefundene Hardware:\n\n \\" >> ${hwtmp}
155     echo " Festplatten:\n \\" >> ${hwtmp}
156    
157     if [[ ! -z ${scsidisks} ]]
158     then
159     for i in ${scsidisks}
160     do
161     if [[ ${i} != ${cdromdev} ]]
162     then
163     echo " \\Z7SCSI: \\Z3${i}\\Zn\n \\" >> ${hwtmp}
164     installdevs="${installdevs} ${i}"
165     fi
166     done
167     fi
168    
169     if [[ ! -z ${idedisks} ]]
170     then
171     for i in ${idedisks}
172     do
173     if [[ ${i} != ${cdromdev} ]]
174     then
175     echo " \\Z7IDE: \\Z3${i}\\Zn\n \\" >> ${hwtmp}
176     installdevs="${installdevs} ${i}"
177     fi
178     done
179     fi
180    
181     if [[ ! -z ${cdromdev} ]]
182     then
183     echo " \n \\" >> ${hwtmp}
184     echo " \\Z7andere Laufwerke:\n \\" >> ${hwtmp}
185     echo " CDROM: \\Z3${cdromdev}\\Zn\n \\" >> ${hwtmp}
186     fi
187    
188     # other devices
189     run_hardware_detection
190     case "${SPECIALDEVICE}" in
191     zotac) echo " \n\n\n \\Z2Zotac Device erkannt!\\Zn \\" >> ${hwtmp} ;;
192     *) echo " \n\n\n \\ZnStandard Device erkannt!\\Zn \\" >> ${hwtmp} ;;
193     esac
194    
195     echo " \" 13 70" >> ${hwtmp}
196     chmod a+x ${hwtmp}
197     ${hwtmp}
198    
199     # remove tmp file
200     if [[ -f ${hwtmp} ]]
201     then
202     rm ${hwtmp}
203     fi
204     }
205    
206     dialog_setup_hdd_partitions_manuell()
207     {
208     local i
209    
210     if [[ -z ${installdevs} ]]
211     then
212     dialog \
213     --backtitle "${TITLE}" \
214     --ok-label "Beenden" \
215     --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70
216     exit 1
217     else
218    
219     echo "dialog \\" > /tmp/hddtmp.sh
220     echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
221     echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
222     echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh
223     echo "--stdout \\" >> /tmp/hddtmp.sh
224     echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
225    
226     for i in ${installdevs}
227     do
228     echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
229     done
230     echo -e "\n" >> /tmp/hddtmp.sh
231    
232     chmod a+x /tmp/hddtmp.sh
233     HDD="$(/tmp/hddtmp.sh)"
234     RES=$?
235     [[ ${RES} -eq 1 ]] && return 1
236     if [[ ${RES} -eq 0 ]]
237     then
238     dialog_setup_hdd_info
239     setup_hdd_partitions_manuell
240     fi
241     fi
242     }
243    
244     dialog_setup_hdd_partitions_manuell_flash()
245     {
246     local i
247    
248     if [[ -z ${installdevs} ]]
249     then
250     dialog \
251     --backtitle "${TITLE}" \
252     --ok-label "Beenden" \
253     --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70
254     exit 1
255     else
256    
257     echo "dialog \\" > /tmp/hddtmp.sh
258     echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
259     echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
260     echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh
261     echo "--stdout \\" >> /tmp/hddtmp.sh
262     echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
263    
264     for i in ${installdevs}
265     do
266     echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
267     done
268     echo -e "\n" >> /tmp/hddtmp.sh
269    
270     chmod a+x /tmp/hddtmp.sh
271     HDD="$(/tmp/hddtmp.sh)"
272     RES=$?
273     [[ ${RES} -eq 1 ]] && return 1
274     if [[ ${RES} -eq 0 ]]
275     then
276     dialog_setup_hdd_info_flash
277     setup_hdd_partitions_manuell_flash
278     fi
279     fi
280     }
281    
282     dialog_setup_hdd_partitions_auto()
283     {
284     local i
285    
286     if [[ -z ${installdevs} ]]
287     then
288     dialog \
289     --backtitle "${TITLE}" \
290     --ok-label "Beenden" \
291     --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70
292     exit 1
293     else
294    
295     echo "dialog \\" > /tmp/hddtmp.sh
296     echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
297     echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
298     echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh
299     echo "--stdout \\" >> /tmp/hddtmp.sh
300     echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
301    
302     for i in ${installdevs}
303     do
304     echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
305     done
306     echo -e "\n" >> /tmp/hddtmp.sh
307    
308     chmod a+x /tmp/hddtmp.sh
309     HDD="$(/tmp/hddtmp.sh)"
310     RES=$?
311     [[ ${RES} -eq 1 ]] && return 1
312     if [[ ${RES} -eq 0 ]]
313     then
314     dialog_setup_hdd_info_auto
315     dialog_setup_hdd_create_partitions
316     setup_hdd_partitions_auto
317     fi
318     fi
319     }
320    
321     dialog_setup_hdd_create_partitions()
322     {
323     dialog \
324     --backtitle "${TITLE}" \
325     --infobox "Erstelle Disk Partitionen ..." 3 70
326     }
327    
328     dialog_setup_hdd_format()
329     {
330     dialog \
331     --backtitle "${TITLE}" \
332     --infobox "Erstelle Datei-Systeme ..." 3 70
333     }
334    
335     dialog_install_settings()
336     {
337     dialog \
338     --backtitle "${TITLE}" \
339     --infobox "Speichere System-Einstellungen ..." 3 70
340     }
341    
342     dialog_install_system_image()
343     {
344     dialog \
345     --backtitle "${TITLE}" \
346     --gauge "Kopiere System-Image ..." 6 80
347     }
348    
349     dialog_install_meter()
350     {
351     while [[ ${CURRENTLINE} != ${TOTALLINES} ]]
352     do
353     CURRENTLINE=$(grep -c . /tmp/install.log)
354     PERCENT=$(( ${CURRENTLINE} * 100 / ${TOTALLINES}))
355     echo ${PERCENT}
356     sleep 1
357     done
358     rm -f /tmp/install.log
359     return 0
360     }
361    
362    
363     dialog_install_bootsector()
364     {
365     dialog \
366     --backtitle "${TITLE}" \
367     --infobox "Schreibe den Bootsektor ..." 3 70
368     }
369    
370     dialog_install_successful()
371     {
372     dialog \
373     --backtitle "${TITLE}" \
374     --colors \
375     --msgbox "Die Installation war \Z2erfolgreich\Zn." 5 81
376     }
377    
378     dialog_install_failure()
379     {
380     dialog \
381     --backtitle "${TITLE}" \
382     --colors \
383     --msgbox "Die Installation ist \Z1Fehlgeschlagen\Zn.\n\n\
384     Fehler bei ${ERROR}, RetVal: ${RETVAL} \
385     " 10 81
386     }
387    
388     dialog_main()
389     {
390     METHOD=0
391    
392     while [[ ${METHOD} -le 2 ]]
393     do
394     METHOD=$(dialog \
395     --backtitle "${TITLE}" \
396     --no-cancel \
397     --ok-label "Weiter" \
398     --stdout \
399     --menu "Konfiguration" 14 70 5 \
400     "1" "AutoSta_LX installieren" \
401     "2" "Uebersicht gefundener Laufwerke" \
402     "3" "Beenden und neustarten" \
403     "4" "Beenden und eine Shell starten")
404     RES=$?
405     [[ ${RES} -eq 1 ]] && exit 1
406     if [[ ${RES} -eq 0 ]]
407     then
408     case ${METHOD} in
409     "1") dialog_setup_system_menu ;;
410     "2") dialog_hardware_detection ;;
411     "3") install_do_reboot ;;
412     "4") /bin/bash --login -i ;;
413     esac
414     fi
415     done
416     }
417    
418     #################################################
419     # Install Komandos #
420     #################################################
421     run_hardware_detection()
422     {
423     # check for special devices/clients:
424     # if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd
425     local removable=0
426     if [[ ! -z $(lspci -v | grep -i zotac) ]]
427     then
428     for i in /sys/block/[hs]d*/removable
429     do
430     if [[ $(< ${i}) = 1 ]]
431     then
432     removable=1
433     fi
434     done
435    
436     export KERNELOPTS="${KERNELOPTS} rootdelay=8"
437     export SPECIALDEVICE="zotac"
438     fi
439     }
440    
441     setup_hdd_partitions_auto()
442     {
443     ROOTHDD="${HDD}1"
444    
445     ## delete disk
446     dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die
447    
448     ## setup one bootable partition
449     #1. n= new disk
450     #2. p= primary disk
451     #3. 1= first partition
452     #4. ''= default sector start
453     #5. ''= defaul sector end
454     #6. a= bootable flag
455     #7. 1= boot flag for partition 1
456     #8. w= write/quit
457     fdisk ${HDD} &> /dev/null << EOF
458     n
459     p
460     1
461    
462    
463     a
464     1
465     w
466     EOF
467     }
468    
469     setup_hdd_partitions_manuell()
470     {
471     BOOTHDD="${HDD}1"
472     SWAPHDD="${HDD}2"
473     ROOTHDD="${HDD}3"
474    
475     ## hdds partitionieren manuell
476     cfdisk ${HDD} || die
477     }
478    
479     setup_hdd_partitions_manuell_flash()
480     {
481     ROOTHDD="${HDD}1"
482    
483     ## hdds partitionieren manuell
484     cfdisk ${HDD} || die
485     }
486    
487     setup_hdd_format()
488     {
489     mkswap ${SWAPHDD} || die
490     mke2fs -j -q ${BOOTHDD} || die
491     mke2fs -j -q ${ROOTHDD} || die
492     }
493    
494     setup_hdd_format_flash()
495     {
496     mke2fs -j -q ${ROOTHDD} || die
497     }
498    
499     install_mount_rootfs()
500     {
501     swapon ${SWAPHDD} || die
502     mount ${ROOTHDD} ${INSTALLPATH} || die
503     install -d ${INSTALLPATH}/boot || die
504     mount ${BOOTHDD} ${INSTALLPATH}/boot || die
505     cd ${INSTALLPATH} || die
506     }
507    
508     install_mount_rootfs_flash()
509     {
510     mount ${ROOTHDD} ${INSTALLPATH} || die
511     install -d ${INSTALLPATH}/boot || die
512     cd ${INSTALLPATH} || die
513     }
514    
515     install_system_image()
516     {
517     tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH}
518     }
519    
520     install_bootsector_chroot()
521     {
522     local my_roothdd
523    
524     # grubconf schreiben
525     source ${INSTALLPATH}/boot/kernelversion
526    
527     # for mcore only
528     if [ -e ${INSTALLPATH}/etc/mcore_version ]
529     then
530     OLD_MCOREVER="${MCOREVER}"
531     source ${INSTALLPATH}/etc/mcore_version
532     KRNVER="mCore-${MCOREVER}"
533     MCOREVER="${OLD_MCOREVER}"
534     fi
535    
536     [[ -z ${KRNVER} ]] && KRNVER="mCore"
537     [[ -z ${KRNINITRD} ]] && KRNINITRD="initrd"
538     [[ -z ${KRNIMG} ]] && KRNIMG="vmlinuz"
539    
540     # uuid support
541     if is_uuid_supported
542     then
543     my_roothdd="UUID=$(get_uuid ${ROOTHDD})"
544     else
545     my_roothdd="${ROOTHDD}"
546     fi
547    
548     local grubconf=${INSTALLPATH}/boot/grub/grub.conf
549     : > ${grubconf} || die
550     echo "default 0" >> ${grubconf} || die
551     echo "timeout 3" >> ${grubconf} || die
552     # using current root password
553     echo "password --md5 $(cat ${INSTALLPATH}/etc/shadow | grep root | cut -d: -f2)" >> ${grubconf} || die
554    
555     echo >> ${grubconf} || die
556     echo "# normal boot" >> ${grubconf} || die
557     echo "title ${KRNVER}" >> ${grubconf} || die
558     echo "root (hd0,0)" >> ${grubconf} || die
559     echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS}" >> ${grubconf} || die
560     if is_initrd_supported
561     then
562     echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die
563     fi
564    
565     # bootsector schreiben chrooted schreiben (lfs/magellan)
566     cat > ${INSTALLPATH}/root/.bashrc << CHROOTEOF
567     /usr/sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null
568     root (hd0,0)
569     setup (hd0)
570     quit
571     EOF
572     exit 0
573     CHROOTEOF
574    
575     ## enters chroot
576     mount -t proc proc ${INSTALLPATH}/proc
577     mount -t sysfs sysfs ${INSTALLPATH}/sys
578     mount -o bind /dev ${INSTALLPATH}/dev
579     chroot ${INSTALLPATH} /bin/bash --rcfile /root/.bashrc -i
580     umount ${INSTALLPATH}/proc
581     umount ${INSTALLPATH}/sys
582     umount ${INSTALLPATH}/dev
583     rm ${INSTALLPATH}/root/.bashrc
584     }
585    
586     is_initrd_supported()
587     {
588     # only generate initrds if the cmd exists
589     [[ -x ${INSTALLPATH}/sbin/mkinitrd ]] && return 0
590     return 1
591     }
592    
593     install_initrd_chroot()
594     {
595     # only generate initrds if the cmd exists
596     is_initrd_supported || return 0
597    
598     cat > ${INSTALLPATH}/root/.bashrc << CHROOTEOF
599     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
600     mkinitrd -f /boot/$(readlink /boot/initrd) $(readlink /boot/vmlinuz | sed "s:kernel-::g") > /dev/null
601     exit 0
602     CHROOTEOF
603    
604     ## enters chroot
605     mount -t proc proc ${INSTALLPATH}/proc
606     mount -t sysfs sysfs ${INSTALLPATH}/sys
607     mount -o bind /dev ${INSTALLPATH}/dev
608     chroot ${INSTALLPATH} /bin/bash --rcfile /root/.bashrc -i
609     umount ${INSTALLPATH}/proc
610     umount ${INSTALLPATH}/sys
611     umount ${INSTALLPATH}/dev
612     rm ${INSTALLPATH}/root/.bashrc
613     }
614    
615     is_uuid_supported()
616     {
617     if [[ -x $(which busybox.mkinitrd &> /dev/null) ]]
618     then
619     # only detect uuids if supported
620     if [[ ! -z $(busybox.mkinitrd | grep blkid) ]]
621     then
622     return 0
623     fi
624     fi
625    
626     return 1
627     }
628    
629     get_uuid()
630     {
631     local UUID
632     local SEC_TYPE
633     local TYPE
634    
635     local dev="$1"
636     [[ -z ${dev} ]] && die "no dev given"
637    
638     # check if given device is already an UUID
639     if [[ ${dev/UUID=/}x != ${dev}x ]]
640     then
641     eval "${dev}"
642     else
643     eval $(busybox.mkinitrd blkid ${dev} | grep "${dev}:" | sed 's/.*:\ //')
644     fi
645     echo "${UUID}"
646     }
647    
648     install_system_settings()
649     {
650     # schreibe fstab
651     if is_uuid_supported
652     then
653     echo -e "UUID=$(get_uuid ${BOOTHDD})\t/boot\text3\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die
654     echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\text3\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die
655     else
656     echo -e "${BOOTHDD}\t/boot\text3\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die
657     echo -e "${ROOTHDD}\t/\text3\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die
658     fi
659     # not needed busybox loads all with swapon -a, even if not mentioned in fstab
660     #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || die
661     echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
662     echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
663    
664     # install network config skeleton
665     echo 'ONBOOT="yes"' > ${INSTALLPATH}/etc/conf.d/net.eth0 || die
666     echo 'NETWORKING="dhcp"' >> ${INSTALLPATH}/etc/conf.d/net.eth0 || die
667     }
668    
669     install_system_settings_flash()
670     {
671     # schreibe fstab
672     if is_uuid_supported
673     then
674     echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\text3\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || die
675     else
676     echo -e "${ROOTHDD}\t/\text3\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || die
677     fi
678     echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
679     echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die
680     }
681    
682     install_umount_rootfs()
683     {
684     cd /
685     umount ${INSTALLPATH}/boot || die
686     umount ${INSTALLPATH} || die
687     swapoff ${SWAPHDD} || die
688     }
689    
690     install_umount_rootfs_flash()
691     {
692     cd /
693     umount ${INSTALLPATH} || die
694     }
695    
696     install_do_reboot()
697     {
698     reboot
699     }
700    
701     #################################################
702     # Install Ablauf Scripte #
703     #################################################
704    
705     run_install_normal()
706     {
707     dialog_hardware_detection
708    
709     dialog_setup_hdd_partitions_manuell
710     dialog_setup_hdd_format
711     setup_hdd_format > /dev/null
712     install_mount_rootfs
713     (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image
714    
715     dialog_install_bootsector
716     install_bootsector_chroot
717    
718     dialog_install_settings
719     sleep 1
720     install_system_settings
721     install_initrd_chroot
722     install_umount_rootfs
723     dialog_install_successful
724     }
725    
726     run_install_flash()
727     {
728     dialog_hardware_detection
729    
730     dialog_setup_hdd_partitions_manuell_flash
731     dialog_setup_hdd_format
732     setup_hdd_format_flash > /dev/null
733     install_mount_rootfs_flash
734     (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image
735    
736     dialog_install_bootsector
737     install_bootsector_chroot
738    
739     dialog_install_settings
740     sleep 1
741     install_system_settings_flash
742     install_initrd_chroot
743     install_umount_rootfs_flash
744     dialog_install_successful
745     }
746    
747     run_install_auto()
748     {
749     dialog_hardware_detection
750    
751     dialog_setup_hdd_partitions_auto
752     dialog_setup_hdd_format
753     setup_hdd_format_flash > /dev/null
754     install_mount_rootfs_flash
755     (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image
756    
757     dialog_install_bootsector
758     install_bootsector_chroot
759    
760     dialog_install_settings
761     sleep 1
762     install_system_settings_flash
763     install_initrd_chroot
764     install_umount_rootfs_flash
765     dialog_install_successful
766     }
767    
768     dialog_main
769    
770     exit 0