Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1606 - (hide annotations) (download) (as text)
Fri Mar 4 17:08:39 2011 UTC (13 years, 2 months ago) by niro
File MIME type: application/x-sh
File size: 14298 byte(s)
-remove the bootdevice from ALL_DISKS if it was a usbstick or similar
1 niro 1275 #!/bin/bash
2     # $Id$
3    
4 niro 1294 # ignore environment!
5     LC_ALL=C
6 niro 1275
7 niro 1294 MLIBDIR="/usr/lib/mcore-install"
8    
9 niro 1275 # images: (get ${CDIMAGENAME})
10     source /mnt/cdrom/system/images.conf
11    
12     # includes
13 niro 1294 source ${MLIBDIR}/functions/hwdetection.sh
14 niro 1275
15     ### System/Config Version
16     VERSION="@@VERSION@@"
17     TITLE="mcore-install - ${VERSION}"
18    
19     CDPATH="/mnt/cdrom"
20 niro 1294 INSTALL_ROOT="/mnt/magellan"
21 niro 1275
22 niro 1294 ### linecount of system.tar.gz -1 !
23 niro 1275 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 niro 1294 # target filesystem
33     FORMAT_FILESYSTEM="ext3"
34    
35 niro 1275 #################################################
36     # DIALOG BOXEN #
37     #################################################
38    
39     die()
40     {
41 niro 1294 ERROR="$1"
42     RETVAL="$?"
43 niro 1275 dialog_install_failure
44     exit 1
45     }
46    
47     dialog_warning()
48     {
49 niro 1294 local retval
50    
51 niro 1275 dialog \
52     --backtitle "${TITLE}" \
53     --colors \
54     --defaultno \
55     --yesno "\Z1 !!! Achtung !!! \Zn\n\n\
56     Diese Festplatte wird unwiederruflich geloescht werden.\n\n\
57     Soll ich wirklich fortfahren ?" 10 70
58 niro 1294 retval=$?
59     if [[ ${retval} -eq 1 ]]
60 niro 1275 then
61     clear
62     echo "Der Vorgang wurde abgebrochen."
63     exit 1
64     fi
65     }
66    
67     dialog_setup_hdd_info()
68     {
69     local SHDD="$(echo $HDD | sed 's/\/dev\///')"
70    
71     dialog \
72     --colors \
73     --title "[ Festplatten Partitionierung ]" \
74     --backtitle "${TITLE}" \
75     --ok-label "Weiter" \
76     --msgbox "\nBitte legen Sie 1 Partition an.\n\n\
77     [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit dem gesamten Speicher\n\
78     Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81
79     }
80    
81     dialog_setup_hdd_info_auto()
82     {
83     local SHDD="$(echo $HDD | sed 's/\/dev\///')"
84    
85     dialog \
86     --colors \
87     --title "[ Festplatten Partitionierung ]" \
88     --backtitle "${TITLE}" \
89     --ok-label "Weiter" \
90     --msgbox "\nAchtung!\n\
91     Alle Daten werden von der Disk [ \Z3${HDD}\Zn ] gelöscht!" 12 81
92     }
93    
94     dialog_setup_system_menu()
95     {
96     local i
97 niro 1294 local retval
98 niro 1275
99     i=$(dialog \
100     --backtitle "${TITLE}" \
101     --title "[ Festplatten Partitionierung ]" \
102     --cancel-label "Abbrechen" \
103     --ok-label "Weiter" \
104     --stdout \
105     --colors \
106     --menu "\nWaehlen Sie die Installations-Methode" 14 70 5 \
107     "1" "Automatisches Setup (Empfohlen)" \
108     "" "" \
109     "" "\Z1Experten Modi:\Zn" \
110 niro 1294 "2" "Normale IDE-Disk (Manuell)")
111     retval=$?
112     [[ ${retval} -eq 1 ]] && return 1
113     if [[ ${retval} -eq 0 ]]
114 niro 1275 then
115     case "${i}" in
116     "1") run_install_auto ;;
117     "2") run_install_normal ;;
118     "") dialog_setup_system_menu;;
119     esac
120     fi
121     }
122    
123     dialog_hardware_detection()
124     {
125     local i
126     local hwtmp
127    
128     if [ -x $(which mktemp &> /dev/null) ]
129     then
130     hwtmp="$(mktemp)"
131     else
132     hwtmp="/tmp/hwtmp.sh"
133     fi
134    
135 niro 1294 run_hardware_detection_disks
136 niro 1275
137     echo "dialog \\" > ${hwtmp}
138     echo "--backtitle \"${TITLE}\" \\" >> ${hwtmp}
139     echo "--ok-label \"Weiter\" \\" >> ${hwtmp}
140     echo "--stdout \\" >> ${hwtmp}
141     echo "--colors \\" >> ${hwtmp}
142     echo "--msgbox \"Gefundene Hardware:\n\n \\" >> ${hwtmp}
143     echo " Festplatten:\n \\" >> ${hwtmp}
144    
145 niro 1294 if [[ ! -z ${ALL_DISKS} ]]
146 niro 1275 then
147 niro 1294 for i in ${ALL_DISKS}
148 niro 1275 do
149 niro 1294 echo " \\Z3${i}\\Zn\n \\" >> ${hwtmp}
150 niro 1275 done
151     fi
152    
153 niro 1294 if [[ ! -z ${ALL_CDROMS} ]]
154 niro 1275 then
155 niro 1294 echo " \n \\" >> ${hwtmp}
156     echo " CDROM Laufwerke:\n \\" >> ${hwtmp}
157     for i in ${ALL_CDROMS}
158 niro 1275 do
159 niro 1294 echo " \\Z3${i}\\Zn\n \\" >> ${hwtmp}
160 niro 1275 done
161     fi
162    
163     # other devices
164     run_hardware_detection
165     case "${SPECIALDEVICE}" in
166 niro 1294 zotac) echo " \n \\Z2Zotac Device erkannt!\\Zn \\" >> ${hwtmp} ;;
167     *) echo " \n \\ZnStandard Device erkannt!\\Zn \\" >> ${hwtmp} ;;
168 niro 1275 esac
169    
170     echo " \" 13 70" >> ${hwtmp}
171     chmod a+x ${hwtmp}
172     ${hwtmp}
173    
174     # remove tmp file
175     if [[ -f ${hwtmp} ]]
176     then
177     rm ${hwtmp}
178     fi
179     }
180    
181     dialog_setup_hdd_partitions_manuell()
182     {
183     local i
184 niro 1294 local retval
185 niro 1275
186 niro 1294 if [[ -z ${ALL_DISKS} ]]
187 niro 1275 then
188     dialog \
189     --backtitle "${TITLE}" \
190     --ok-label "Beenden" \
191     --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70
192     exit 1
193     else
194     echo "dialog \\" > /tmp/hddtmp.sh
195     echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
196     echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
197     echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh
198     echo "--stdout \\" >> /tmp/hddtmp.sh
199     echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
200    
201 niro 1294 for i in ${ALL_DISKS}
202 niro 1275 do
203     echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
204     done
205     echo -e "\n" >> /tmp/hddtmp.sh
206    
207     chmod a+x /tmp/hddtmp.sh
208     HDD="$(/tmp/hddtmp.sh)"
209 niro 1294 retval=$?
210     [[ ${retval} -eq 1 ]] && return 1
211     if [[ ${retval} -eq 0 ]]
212 niro 1275 then
213     dialog_setup_hdd_info
214     setup_hdd_partitions_manuell
215     fi
216     fi
217     }
218    
219     dialog_setup_hdd_partitions_auto()
220     {
221     local i
222 niro 1294 local retval
223 niro 1275
224 niro 1294 if [[ -z ${ALL_DISKS} ]]
225 niro 1275 then
226     dialog \
227     --backtitle "${TITLE}" \
228     --ok-label "Beenden" \
229     --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70
230     exit 1
231     else
232     echo "dialog \\" > /tmp/hddtmp.sh
233     echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh
234     echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh
235     echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh
236     echo "--stdout \\" >> /tmp/hddtmp.sh
237     echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh
238    
239 niro 1294 for i in ${ALL_DISKS}
240 niro 1275 do
241     echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh
242     done
243     echo -e "\n" >> /tmp/hddtmp.sh
244    
245     chmod a+x /tmp/hddtmp.sh
246     HDD="$(/tmp/hddtmp.sh)"
247 niro 1294 retval=$?
248     [[ ${retval} -eq 1 ]] && return 1
249     if [[ ${retval} -eq 0 ]]
250 niro 1275 then
251     dialog_setup_hdd_info_auto
252     dialog_setup_hdd_create_partitions
253     setup_hdd_partitions_auto
254     fi
255     fi
256     }
257    
258     dialog_setup_hdd_create_partitions()
259     {
260     dialog \
261     --backtitle "${TITLE}" \
262     --infobox "Erstelle Disk Partitionen ..." 3 70
263     }
264    
265     dialog_setup_hdd_format()
266     {
267     dialog \
268     --backtitle "${TITLE}" \
269     --infobox "Erstelle Datei-Systeme ..." 3 70
270     }
271    
272     dialog_install_settings()
273     {
274     dialog \
275     --backtitle "${TITLE}" \
276     --infobox "Speichere System-Einstellungen ..." 3 70
277     }
278    
279     dialog_install_system_image()
280     {
281     dialog \
282     --backtitle "${TITLE}" \
283     --gauge "Kopiere System-Image ..." 6 80
284     }
285    
286 niro 1294 dialog_install_initrd()
287     {
288     dialog \
289     --backtitle "${TITLE}" \
290     --infobox "Erstelle Initrd ..." 3 70
291     }
292    
293 niro 1275 dialog_install_meter()
294     {
295     while [[ ${CURRENTLINE} != ${TOTALLINES} ]]
296     do
297     CURRENTLINE=$(grep -c . /tmp/install.log)
298     PERCENT=$(( ${CURRENTLINE} * 100 / ${TOTALLINES}))
299 niro 1294 echo "${PERCENT}"
300 niro 1275 sleep 1
301     done
302     rm -f /tmp/install.log
303     return 0
304     }
305    
306     dialog_install_bootsector()
307     {
308     dialog \
309     --backtitle "${TITLE}" \
310     --infobox "Schreibe den Bootsektor ..." 3 70
311     }
312    
313     dialog_install_successful()
314     {
315     dialog \
316     --backtitle "${TITLE}" \
317     --colors \
318     --msgbox "Die Installation war \Z2erfolgreich\Zn." 5 81
319     }
320    
321     dialog_install_failure()
322     {
323     dialog \
324     --backtitle "${TITLE}" \
325     --colors \
326     --msgbox "Die Installation ist \Z1Fehlgeschlagen\Zn.\n\n\
327     Fehler bei ${ERROR}, RetVal: ${RETVAL} \
328     " 10 81
329     }
330    
331     dialog_main()
332     {
333 niro 1294 local method=0
334     local retval
335 niro 1275
336 niro 1294 while [[ ${method} -le 2 ]]
337 niro 1275 do
338 niro 1294 method=$(dialog \
339 niro 1275 --backtitle "${TITLE}" \
340     --no-cancel \
341     --ok-label "Weiter" \
342     --stdout \
343     --menu "Konfiguration" 14 70 5 \
344 niro 1294 "1" "mCore installieren" \
345 niro 1275 "2" "Uebersicht gefundener Laufwerke" \
346     "3" "Beenden und neustarten" \
347     "4" "Beenden und eine Shell starten")
348 niro 1294 retval=$?
349     [[ ${retval} -eq 1 ]] && exit 1
350     if [[ ${retval} -eq 0 ]]
351 niro 1275 then
352 niro 1294 case ${method} in
353 niro 1275 "1") dialog_setup_system_menu ;;
354     "2") dialog_hardware_detection ;;
355     "3") install_do_reboot ;;
356 niro 1294 "4") clear;/bin/bash --login -i ;;
357 niro 1275 esac
358     fi
359     done
360     }
361    
362     #################################################
363     # Install Komandos #
364     #################################################
365     run_hardware_detection()
366     {
367     # check for special devices/clients:
368 niro 1294 # if the device is a zotac and has a removeable device as boot disk,
369     # then add a rootdelay of 8 seconds to kernelcmd
370 niro 1275 local removable=0
371     if [[ ! -z $(lspci -v | grep -i zotac) ]]
372     then
373     for i in /sys/block/[hs]d*/removable
374     do
375     if [[ $(< ${i}) = 1 ]]
376     then
377     removable=1
378     fi
379     done
380    
381     export KERNELOPTS="${KERNELOPTS} rootdelay=8"
382     export SPECIALDEVICE="zotac"
383     fi
384     }
385    
386 niro 1294 run_hardware_detection_disks()
387     {
388 niro 1606 local bootdev
389    
390 niro 1294 # all disks but exclude ramdisks
391     export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d')
392 niro 1606 # remove the boot device from ALL_DISKS if it was an usbstick
393     if [[ $(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]]
394     then
395     bootdev="$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g')"
396     export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}")
397     fi
398 niro 1294 export ALL_CDROMS="$(get_hwinfo cdrom)"
399     }
400    
401 niro 1275 setup_hdd_partitions_auto()
402     {
403     ROOTHDD="${HDD}1"
404    
405     ## delete disk
406 niro 1294 dd if=/dev/zero of="${HDD}" count=1 &> /dev/null || die
407 niro 1275
408     ## setup one bootable partition
409     #1. n= new disk
410     #2. p= primary disk
411     #3. 1= first partition
412     #4. ''= default sector start
413     #5. ''= defaul sector end
414     #6. a= bootable flag
415     #7. 1= boot flag for partition 1
416     #8. w= write/quit
417 niro 1294 fdisk "${HDD}" &> /dev/null << EOF
418 niro 1275 n
419     p
420     1
421    
422    
423     a
424     1
425     w
426     EOF
427     }
428    
429     setup_hdd_partitions_manuell()
430     {
431     ROOTHDD="${HDD}1"
432 niro 1294 cfdisk "${HDD}" || die
433 niro 1275 }
434    
435     setup_hdd_format()
436     {
437 niro 1294 # defaults to ext3
438     [[ -z ${FORMAT_FILESYSTEM} ]] && FORMAT_FILESYSTEM="ext3"
439 niro 1275
440 niro 1294 mkfs."${FORMAT_FILESYSTEM}" -q "${ROOTHDD}" || die
441 niro 1275 }
442    
443     install_mount_rootfs()
444     {
445 niro 1294 mount "${ROOTHDD}" "${INSTALL_ROOT}" || die
446     install -d ${INSTALL_ROOT}/boot || die
447     cd ${INSTALL_ROOT} || die
448 niro 1275 }
449    
450     install_system_image()
451     {
452 niro 1294 tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALL_ROOT}
453 niro 1275 }
454    
455 niro 1294 install_bootsector()
456 niro 1275 {
457 niro 1294 local uuid
458     local initrd
459     local kernelversion
460     local grubtitle
461     local chroot
462     local grubdisk
463     local CONFIG
464 niro 1275
465 niro 1294 # setup a proper boot device
466     if [[ -z ${BOOTHDD} ]]
467 niro 1275 then
468 niro 1294 grubdisk="${ROOTHDD}"
469     else
470     grubdisk="${BOOTHDD}"
471 niro 1275 fi
472    
473 niro 1294 # first of all, create a device.map
474     create_device_map
475 niro 1275
476 niro 1294 # get kernelnames
477     initrd=/boot/$(readlink ${INSTALL_ROOT}/boot/initrd)
478     kernelversion=$(readlink ${INSTALL_ROOT}/boot/vmlinuz | sed "s:kernel-::g")
479    
480     # for mcore only
481     if [ -f ${INSTALL_ROOT}/etc/mcore_version ]
482 niro 1275 then
483 niro 1294 grubtitle="mCore-$(< ${INSTALL_ROOT}/etc/mcore_version) (${kernelversion})"
484 niro 1275 else
485 niro 1294 grubtitle="mCore (${kernelversion})"
486 niro 1275 fi
487    
488 niro 1294 # uuid support
489     uuid=$(get_uuid "${ROOTHDD}")
490 niro 1275
491 niro 1294 CONFIG="${INSTALL_ROOT}/boot/grub/grub.conf"
492     clearconfig
493     addconfig 'default 0'
494     addconfig 'timeout 3'
495     if [[ -f ${INSTALL_ROOT}/boot/grub/splash.xpm.gz ]]
496 niro 1275 then
497 niro 1294 addconfig "splashimage $(convert_device ${grubdisk})/boot/grub/splash.xpm.gz"
498 niro 1275 fi
499 niro 1294 # using current root password
500     addconfig "password --md5 $(cat ${INSTALL_ROOT}/etc/shadow | grep root | cut -d: -f2)"
501     addconfig
502     addconfig '# normal boot'
503     addconfig "title ${grubtitle}"
504     addconfig "root $(convert_device ${grubdisk})"
505     addconfig "kernel /boot/kernel-${kernelversion} root=${uuid} ${KERNELOPTS}"
506     addconfig "initrd /boot/${initrd}"
507 niro 1275
508 niro 1294 [[ ! -z ${INSTALL_ROOT} ]] && chroot=chrooted
509    
510     # update grub
511     ${chroot} grub --batch --no-floppy &> /dev/null << EOF
512     root $(convert_device ${grubdisk})
513     setup $(convert_device ${grubdisk} | sed "s:,[0-9]::")
514 niro 1275 quit
515     EOF
516    
517 niro 1294 return 0
518 niro 1275 }
519    
520 niro 1294 create_device_map()
521 niro 1275 {
522 niro 1294 local chroot
523    
524     [[ ! -z ${INSTALL_ROOT} ]] && chroot=chrooted
525    
526     # create device.map
527     ${chroot} grub --batch --no-floppy --no-config-file --device-map=/boot/grub/device.map </dev/null &> /dev/null
528 niro 1275 }
529    
530 niro 1294 convert_device()
531 niro 1275 {
532 niro 1294 local device="$1"
533     local root_part=
534 niro 1275
535 niro 1294 # extract device type (block) and major number for root drive
536     local major_minor=$(ls -Ll ${device} | awk '{if ($6 < 64) printf("%c%d0", $1, $5); else printf("%c%d1", $1, $5)}')
537 niro 1275
538 niro 1294 # find the matching BIOS device
539     for bios_drive in $(grep -v '^#' ${INSTALL_ROOT}/boot/grub/device.map | awk '{print $2}')
540     do
541     bios_major_minor=$(ls -Ll ${bios_drive} 2>/dev/null | awk '{if ($6 < 64) printf("%c%d0", $1, $5); else printf("%c%d1", $1, $5)}')
542 niro 1275
543 niro 1294 if [[ ${major_minor} = ${bios_major_minor} ]]
544 niro 1275 then
545 niro 1294 # we found it
546     root_drive=$(grep ${bios_drive} ${INSTALL_ROOT}/boot/grub/device.map | awk '{print $1}')
547     root_part=$(ls -Ll ${device} | awk '{print $6}')
548     root_part=$(( ${root_part} % 16 - 1 ))
549     break
550 niro 1275 fi
551 niro 1294 done
552 niro 1275
553 niro 1294 drive=$(echo ${root_drive} | sed "s:)$:,${root_part}):")
554     echo ${drive}
555 niro 1275 }
556    
557 niro 1294 install_initrd()
558 niro 1275 {
559 niro 1294 local initrd
560     local kernelversion
561 niro 1275
562 niro 1294 initrd=/boot/$(readlink ${INSTALL_ROOT}/boot/initrd)
563     kernelversion=$(readlink ${INSTALL_ROOT}/boot/vmlinuz | sed "s:kernel-::g")
564 niro 1275
565 niro 1294 create_initrd --initrd "${initrd}" --kernelversion "${kernelversion}" &> /dev/null
566 niro 1275 }
567    
568     install_system_settings()
569     {
570 niro 1294 local CONFIG
571     local uuid
572    
573 niro 1275 # schreibe fstab
574 niro 1294 uuid=$(get_uuid "${ROOTHDD}")
575     CONFIG="${INSTALL_ROOT}/etc/fstab"
576     clearconfig
577     addconfig -e "UUID=${uuid}\t/\text3\tnoatime\t0 0"
578     addconfig -e "proc\t/proc\tproc\tdefaults\t0 0"
579     addconfig -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0"
580 niro 1275
581     # install network config skeleton
582 niro 1294 CONFIG="${INSTALL_ROOT}/etc/conf.d/net.eth0"
583     clearconfig
584     addconfig 'ONBOOT="yes"'
585     addconfig 'NETWORKING="dhcp"'
586 niro 1275 }
587    
588     install_umount_rootfs()
589     {
590     cd /
591 niro 1294 umount ${INSTALL_ROOT} || die
592 niro 1275 }
593    
594     install_do_reboot()
595     {
596     reboot
597     }
598    
599     #################################################
600     # Install Ablauf Scripte #
601     #################################################
602    
603 niro 1294 addconfig()
604     {
605     local opts
606    
607     if [[ -z ${CONFIG} ]]
608     then
609     echo "You must define \$CONFIG varibale first!"
610     return 1
611     fi
612    
613     if [[ ! -d $(dirname ${CONFIG}) ]]
614     then
615     install -d $(dirname ${CONFIG})
616     fi
617    
618     # check for opts
619     case $1 in
620     -n) shift; opts=" -n" ;;
621     -e) shift; opts=" -e" ;;
622     esac
623    
624     echo ${opts} "$@" >> ${CONFIG}
625     }
626    
627     clearconfig()
628     {
629     if [[ -z ${CONFIG} ]]
630     then
631     echo "You must define \$CONFIG varibale first!"
632     return 1
633     fi
634    
635     if [[ ! -d $(dirname ${CONFIG}) ]]
636     then
637     install -d $(dirname ${CONFIG})
638     fi
639     : > ${CONFIG}
640     }
641    
642 niro 1275 run_install_normal()
643     {
644     dialog_hardware_detection
645    
646     dialog_setup_hdd_partitions_manuell
647     dialog_setup_hdd_format
648     setup_hdd_format > /dev/null
649     install_mount_rootfs
650     (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image
651    
652     dialog_install_bootsector
653 niro 1294 install_bootsector
654 niro 1275
655     dialog_install_settings
656     sleep 1
657     install_system_settings
658 niro 1294 dialog_install_initrd
659     install_initrd
660 niro 1275 install_umount_rootfs
661     dialog_install_successful
662     }
663    
664     run_install_auto()
665     {
666     dialog_hardware_detection
667    
668     dialog_setup_hdd_partitions_auto
669     dialog_setup_hdd_format
670 niro 1294 setup_hdd_format > /dev/null
671     install_mount_rootfs
672 niro 1275 (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image
673    
674     dialog_install_bootsector
675 niro 1294 install_bootsector
676 niro 1275
677     dialog_install_settings
678     sleep 1
679 niro 1294 install_system_settings
680     dialog_install_initrd
681     install_initrd
682     install_umount_rootfs
683 niro 1275 dialog_install_successful
684     }
685    
686     dialog_main
687    
688     exit 0