Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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