Annotation of /alx-src/trunk/alxinstall-ng/bin/alxinstall-ng.sh
Parent Directory | Revision Log
Revision 519 -
(hide annotations)
(download)
(as text)
Fri Jun 27 22:01:08 2008 UTC (16 years, 2 months ago) by niro
File MIME type: application/x-sh
File size: 15967 byte(s)
Fri Jun 27 22:01:08 2008 UTC (16 years, 2 months ago) by niro
File MIME type: application/x-sh
File size: 15967 byte(s)
-removed comments
1 | niro | 258 | #!/bin/sh |
2 | # | ||
3 | niro | 519 | # $Header: /home/cvsd/alx-cvs/alx-src/alxinstall-ng/bin/alxinstall-ng.sh,v 1.6 2008-06-27 22:01:08 niro Exp $ |
4 | niro | 258 | # |
5 | # AutoSta_LX Installation Script | ||
6 | niro | 519 | # version: 0.9 |
7 | niro | 258 | # |
8 | # Niels Rogalla <niro@magellan-linux.de> | ||
9 | # <rogalla@augusta-bochum.de> | ||
10 | # | ||
11 | # | ||
12 | # Install Navigation Gui | ||
13 | # | ||
14 | |||
15 | #images: (get ${CDIMAGENAME}) | ||
16 | source /mnt/cdrom/system/images.conf | ||
17 | |||
18 | #Includes | ||
19 | source /usr/lib/alxinstall-ng/functions/findhdd.sh > /dev/null | ||
20 | ### bugfix ############################### | ||
21 | cdromdev="`echo $cdromdev|sed -e 's/ //'`" | ||
22 | ######################################## | ||
23 | |||
24 | ### System/Config Version | ||
25 | niro | 280 | VERSION="0.2" |
26 | niro | 258 | TITLE="alxinstall-ng - ${VERSION}" |
27 | |||
28 | #CONFIGS_TEMPLATE="/opt/alx-config/configs" | ||
29 | |||
30 | CDPATH="/mnt/cdrom" | ||
31 | INSTALLPATH="/mnt/magellan" | ||
32 | |||
33 | ### WICHTIG: anzahl lines in der autosta_lx.tar.gz -1 | ||
34 | CURRENTLINE=0 | ||
35 | #TOTALLINES=11072 # -> now in images.conf | ||
36 | |||
37 | |||
38 | ################################################# | ||
39 | # DIALOG BOXEN # | ||
40 | ################################################# | ||
41 | |||
42 | die() { | ||
43 | ERROR=$1 | ||
44 | RETVAL=$? | ||
45 | dialog_install_failure | ||
46 | exit 1 | ||
47 | } | ||
48 | |||
49 | dialog_warning() { | ||
50 | dialog \ | ||
51 | --backtitle "$TITLE" \ | ||
52 | --colors \ | ||
53 | --defaultno \ | ||
54 | --yesno "\Z1 !!! Achtung !!! \Zn\n\n\ | ||
55 | Diese Festplatte wird unwiederruflich geloescht werden.\n\n\ | ||
56 | Soll ich wirklich fortfahren ?" 10 70 | ||
57 | RES=$? | ||
58 | if [ "$RES" == "1" ] | ||
59 | then | ||
60 | clear | ||
61 | echo "Der Vorgang wurde abgebrochen." | ||
62 | exit 1 | ||
63 | fi | ||
64 | } | ||
65 | |||
66 | dialog_setup_hdd_info(){ | ||
67 | local SHDD="`echo $HDD|sed -e 's/\/dev\///'`" | ||
68 | |||
69 | dialog \ | ||
70 | --colors \ | ||
71 | --title "[ Festplatten Partitionierung ]" \ | ||
72 | --backtitle "$TITLE" \ | ||
73 | --ok-label "Weiter" \ | ||
74 | --msgbox "\nBitte legen Sie 3 Partitionen an.\n\n\ | ||
75 | [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit ca. 50MB\n\ | ||
76 | [ \Z3${SHDD}2\Zn ] Typ: \Z3Linux Swap\Zn mit ca. 256MB\n\ | ||
77 | [ \Z3${SHDD}3\Zn ] Typ: \Z3Linux \Zn mit dem Rest (min. 256MB)\n\n\ | ||
78 | Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81 | ||
79 | } | ||
80 | |||
81 | niro | 280 | dialog_setup_hdd_info_flash(){ |
82 | local SHDD="`echo $HDD|sed -e 's/\/dev\///'`" | ||
83 | niro | 258 | |
84 | niro | 280 | dialog \ |
85 | --colors \ | ||
86 | --title "[ Festplatten Partitionierung ]" \ | ||
87 | --backtitle "$TITLE" \ | ||
88 | --ok-label "Weiter" \ | ||
89 | --msgbox "\nBitte legen Sie 1 Partition an.\n\n\ | ||
90 | [ \Z3${SHDD}1\Zn ] Typ: \Z3Linux\Zn mit dem gesamten Speicher\n\ | ||
91 | Bitte ${SHDD}1 als \Z3bootable\Zn markieren." 12 81 | ||
92 | } | ||
93 | |||
94 | dialog_setup_system_menu() { | ||
95 | |||
96 | niro | 258 | I=`dialog \ |
97 | --backtitle "$TITLE" \ | ||
98 | --title "[ Festplatten Partitionierung ]" \ | ||
99 | --cancel-label "Abbrechen" \ | ||
100 | --ok-label "Weiter" \ | ||
101 | --stdout \ | ||
102 | niro | 280 | --menu "\nWaehlen Sie die Installations-Methode" 14 70 5 \ |
103 | "1" "Normale IDE-Disk" \ | ||
104 | "2" "Flash-Speicher"` | ||
105 | niro | 258 | RES=$? |
106 | if [ "$RES" == "1" ];then | ||
107 | return 1 | ||
108 | fi | ||
109 | if [ "$RES" == "0" ];then | ||
110 | case "$I" in | ||
111 | "1") | ||
112 | niro | 280 | run_install_normal |
113 | niro | 258 | ;; |
114 | "2") | ||
115 | niro | 280 | run_install_flash |
116 | ;; | ||
117 | niro | 258 | esac |
118 | fi | ||
119 | } | ||
120 | |||
121 | dialog_setup_hdd_found_manuell() { | ||
122 | if [ ! -z "$installdevs" ] | ||
123 | then | ||
124 | installdevs="" | ||
125 | fi | ||
126 | |||
127 | echo "dialog \\" > /tmp/hddtmp.sh | ||
128 | echo "--backtitle \"$TITLE\" \\" >> /tmp/hddtmp.sh | ||
129 | echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh | ||
130 | echo "--stdout \\" >> /tmp/hddtmp.sh | ||
131 | echo "--colors \\" >> /tmp/hddtmp.sh | ||
132 | echo "--msgbox \"Gefundene Hardware:\n\n \\" >> /tmp/hddtmp.sh | ||
133 | echo " Festplatten:\n \\" >> /tmp/hddtmp.sh | ||
134 | |||
135 | if [ ! -z "$scsidisks" ] | ||
136 | then | ||
137 | for I in $scsidisks | ||
138 | do | ||
139 | if [ "$I" != "$cdromdev" ] | ||
140 | then | ||
141 | echo " \\Z7SCSI: \\Z3$I\\Zn\n \\" >> /tmp/hddtmp.sh | ||
142 | installdevs="$installdevs $I" | ||
143 | fi | ||
144 | done | ||
145 | fi | ||
146 | |||
147 | if [ ! -z "$idedisks" ] | ||
148 | then | ||
149 | for I in $idedisks | ||
150 | do | ||
151 | if [ "$I" != "$cdromdev" ] | ||
152 | then | ||
153 | echo " \\Z7IDE: \\Z3$I\\Zn\n \\" >> /tmp/hddtmp.sh | ||
154 | installdevs="$installdevs $I" | ||
155 | fi | ||
156 | done | ||
157 | fi | ||
158 | |||
159 | if [ ! -z "$cdromdev" ] | ||
160 | then | ||
161 | echo " \n \\" >> /tmp/hddtmp.sh | ||
162 | echo " \\Z7andere Laufwerke:\n \\" >> /tmp/hddtmp.sh | ||
163 | echo " CDROM: \\Z3$cdromdev\\Zn\n \\" >> /tmp/hddtmp.sh | ||
164 | fi | ||
165 | echo " \" 13 70" >> /tmp/hddtmp.sh | ||
166 | chmod a+x /tmp/hddtmp.sh | ||
167 | /tmp/hddtmp.sh | ||
168 | } | ||
169 | |||
170 | dialog_setup_hdd_partitions_manuell() { | ||
171 | if [ -z "$installdevs" ] | ||
172 | then | ||
173 | dialog \ | ||
174 | --backtitle "$TITLE" \ | ||
175 | --ok-label "Beenden" \ | ||
176 | --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70 | ||
177 | exit 1 | ||
178 | else | ||
179 | |||
180 | echo "dialog \\" > /tmp/hddtmp.sh | ||
181 | echo "--backtitle \"$TITLE\" \\" >> /tmp/hddtmp.sh | ||
182 | echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh | ||
183 | echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh | ||
184 | echo "--stdout \\" >> /tmp/hddtmp.sh | ||
185 | echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh | ||
186 | |||
187 | for I in $installdevs | ||
188 | do | ||
189 | echo "\"$I\" \"\" \\" >> /tmp/hddtmp.sh | ||
190 | done | ||
191 | echo -e "\n" >> /tmp/hddtmp.sh | ||
192 | |||
193 | chmod a+x /tmp/hddtmp.sh | ||
194 | HDD="`/tmp/hddtmp.sh`" | ||
195 | RES=$? | ||
196 | if [ "$RES" == "1" ] | ||
197 | then | ||
198 | return 1 | ||
199 | fi | ||
200 | if [ "$RES" == "0" ] | ||
201 | then | ||
202 | dialog_setup_hdd_info | ||
203 | setup_hdd_partitions_manuell | ||
204 | fi | ||
205 | fi | ||
206 | } | ||
207 | |||
208 | niro | 280 | dialog_setup_hdd_partitions_manuell_flash() { |
209 | if [ -z "$installdevs" ] | ||
210 | then | ||
211 | dialog \ | ||
212 | --backtitle "$TITLE" \ | ||
213 | --ok-label "Beenden" \ | ||
214 | --msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70 | ||
215 | exit 1 | ||
216 | else | ||
217 | |||
218 | echo "dialog \\" > /tmp/hddtmp.sh | ||
219 | echo "--backtitle \"$TITLE\" \\" >> /tmp/hddtmp.sh | ||
220 | echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh | ||
221 | echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh | ||
222 | echo "--stdout \\" >> /tmp/hddtmp.sh | ||
223 | echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh | ||
224 | |||
225 | for I in $installdevs | ||
226 | do | ||
227 | echo "\"$I\" \"\" \\" >> /tmp/hddtmp.sh | ||
228 | done | ||
229 | echo -e "\n" >> /tmp/hddtmp.sh | ||
230 | |||
231 | chmod a+x /tmp/hddtmp.sh | ||
232 | HDD="`/tmp/hddtmp.sh`" | ||
233 | RES=$? | ||
234 | if [ "$RES" == "1" ] | ||
235 | then | ||
236 | return 1 | ||
237 | fi | ||
238 | if [ "$RES" == "0" ] | ||
239 | then | ||
240 | dialog_setup_hdd_info_flash | ||
241 | setup_hdd_partitions_manuell_flash | ||
242 | fi | ||
243 | fi | ||
244 | } | ||
245 | |||
246 | niro | 258 | dialog_setup_hdd_partitions_silent() { |
247 | dialog \ | ||
248 | --backtitle "$TITLE" \ | ||
249 | --infobox "Erstelle Partitionen ..." 3 70 | ||
250 | } | ||
251 | |||
252 | dialog_setup_hdd_format() { | ||
253 | dialog \ | ||
254 | --backtitle "$TITLE" \ | ||
255 | --infobox "Erstelle Datei-Systeme ..." 3 70 | ||
256 | } | ||
257 | |||
258 | dialog_install_settings() { | ||
259 | dialog \ | ||
260 | --backtitle "$TITLE" \ | ||
261 | --infobox "Speichere System-Einstellungen ..." 3 70 | ||
262 | } | ||
263 | |||
264 | dialog_install_system_image() { | ||
265 | dialog \ | ||
266 | --backtitle "$TITLE" \ | ||
267 | --gauge "Kopiere System-Image ..." 6 80 | ||
268 | } | ||
269 | |||
270 | dialog_install_meter() { | ||
271 | while [ "${CURRENTLINE}" != "${TOTALLINES}" ] ; do | ||
272 | CURRENTLINE=`grep --count . /tmp/install.log` | ||
273 | PERCENT=`expr ${CURRENTLINE} \* 100 / ${TOTALLINES}` | ||
274 | echo ${PERCENT} | ||
275 | sleep 1 | ||
276 | done | ||
277 | rm -f /tmp/install.log | ||
278 | return 0 | ||
279 | } | ||
280 | |||
281 | |||
282 | dialog_install_bootsector() { | ||
283 | dialog \ | ||
284 | --backtitle "$TITLE" \ | ||
285 | --infobox "Schreibe den Bootsektor ..." 3 70 | ||
286 | } | ||
287 | |||
288 | dialog_install_alxconfig() { | ||
289 | dialog \ | ||
290 | --backtitle "$TITLE" \ | ||
291 | --infobox "Installiere die ALX Setup-Tools ..." 3 70 | ||
292 | } | ||
293 | |||
294 | dialog_install_kernel_image() { | ||
295 | dialog \ | ||
296 | --backtitle "$TITLE" \ | ||
297 | --infobox "Installiere den System-Kernel ..." 3 70 | ||
298 | |||
299 | } | ||
300 | |||
301 | dialog_install_hotfixes() { | ||
302 | dialog \ | ||
303 | --backtitle "$TITLE" \ | ||
304 | --infobox "Installiere Hotfixes ..." 3 70 | ||
305 | |||
306 | } | ||
307 | |||
308 | dialog_install_successful() { | ||
309 | dialog \ | ||
310 | --backtitle "$TITLE" \ | ||
311 | --colors \ | ||
312 | --msgbox "Die Installation war \Z2erfolgreich\Zn." 5 81 | ||
313 | } | ||
314 | |||
315 | dialog_install_failure() { | ||
316 | dialog \ | ||
317 | --backtitle "$TITLE" \ | ||
318 | --colors \ | ||
319 | --msgbox "Die Installation ist \Z1Fehlgeschlagen\Zn.\n\n\ | ||
320 | Fehler bei $ERROR, RetVal: $RETVAL \ | ||
321 | " 10 81 | ||
322 | } | ||
323 | |||
324 | dialog_install_method() { | ||
325 | |||
326 | METHOD=`dialog \ | ||
327 | --backtitle "$TITLE" \ | ||
328 | --cancel-label "Abbrechen" \ | ||
329 | --ok-label "Weiter" \ | ||
330 | --stdout \ | ||
331 | --menu "Konfiguration" 14 70 5 \ | ||
332 | "1" "Normale Installation" \ | ||
333 | "2" "Silent Installation"` | ||
334 | RES=$? | ||
335 | if [ "$RES" == "1" ];then | ||
336 | return 1 | ||
337 | fi | ||
338 | if [ "$RES" == "0" ];then | ||
339 | case "$METHOD" in | ||
340 | "1") | ||
341 | run_install_normal | ||
342 | ;; | ||
343 | "2") | ||
344 | dialog_warning | ||
345 | run_install_silent | ||
346 | ;; | ||
347 | esac | ||
348 | fi | ||
349 | } | ||
350 | |||
351 | dialog_main() { | ||
352 | METHOD=0 | ||
353 | |||
354 | while [ $METHOD -le 2 ] | ||
355 | do | ||
356 | METHOD=`dialog \ | ||
357 | --backtitle "$TITLE" \ | ||
358 | --no-cancel \ | ||
359 | --ok-label "Weiter" \ | ||
360 | --stdout \ | ||
361 | --menu "Konfiguration" 14 70 5 \ | ||
362 | "1" "AutoSta_LX installieren" \ | ||
363 | "2" "Uebersicht gefundener Laufwerke" \ | ||
364 | "3" "Beenden und neustarten" \ | ||
365 | niro | 260 | "4" "Beenden und eine Shell starten" ` |
366 | niro | 258 | RES=$? |
367 | if [ "$RES" == "1" ];then | ||
368 | exit 1 | ||
369 | fi | ||
370 | if [ "$RES" == "0" ];then | ||
371 | case "$METHOD" in | ||
372 | "1") | ||
373 | niro | 280 | dialog_setup_system_menu |
374 | niro | 258 | ;; |
375 | "2") dialog_setup_hdd_found_manuell | ||
376 | ;; | ||
377 | "3") install_do_reboot | ||
378 | ;; | ||
379 | niro | 260 | "4") /bin/bash --login -i |
380 | ;; | ||
381 | niro | 258 | esac |
382 | fi | ||
383 | done | ||
384 | } | ||
385 | |||
386 | ################################################# | ||
387 | # Install Komandos # | ||
388 | ################################################# | ||
389 | setup_hdd_partitions_manuell() { | ||
390 | BOOTHDD="${HDD}1" | ||
391 | SWAPHDD="${HDD}2" | ||
392 | ROOTHDD="${HDD}3" | ||
393 | |||
394 | ## hdds partitionieren manuell | ||
395 | cfdisk $HDD || die | ||
396 | } | ||
397 | |||
398 | niro | 280 | setup_hdd_partitions_manuell_flash() { |
399 | ROOTHDD="${HDD}1" | ||
400 | |||
401 | ## hdds partitionieren manuell | ||
402 | cfdisk $HDD || die | ||
403 | } | ||
404 | |||
405 | niro | 258 | setup_hdd_partitions_silent() { |
406 | ## hdds löschen | ||
407 | dd if=/dev/zero of=$HDD bs=1024k count=1 || die | ||
408 | ## hdds partitionieren silent | ||
409 | fdisk $HDD < $CONFIGS_TEMPLATE/fdisksettings #1> /dev/null 3> /dev/null || die | ||
410 | |||
411 | read | ||
412 | } | ||
413 | |||
414 | setup_hdd_format() { | ||
415 | mkswap $SWAPHDD || die | ||
416 | mke2fs -j -q $BOOTHDD || die | ||
417 | mke2fs -j -q $ROOTHDD || die | ||
418 | } | ||
419 | |||
420 | niro | 280 | setup_hdd_format_flash() { |
421 | mke2fs -j -q $ROOTHDD || die | ||
422 | } | ||
423 | |||
424 | niro | 258 | install_mount_rootfs() { |
425 | swapon $SWAPHDD || die | ||
426 | mount $ROOTHDD $INSTALLPATH || die | ||
427 | install -d $INSTALLPATH/boot || die | ||
428 | mount $BOOTHDD $INSTALLPATH/boot || die | ||
429 | cd $INSTALLPATH || die | ||
430 | } | ||
431 | |||
432 | niro | 280 | install_mount_rootfs_flash() { |
433 | mount $ROOTHDD $INSTALLPATH || die | ||
434 | install -d $INSTALLPATH/boot || die | ||
435 | cd $INSTALLPATH || die | ||
436 | } | ||
437 | |||
438 | niro | 258 | install_system_image() { |
439 | tar xvjpf ${CDPATH}/system/${CDIMAGENAME} -C ${INSTALLPATH} | ||
440 | } | ||
441 | |||
442 | |||
443 | install_kernel_image() { | ||
444 | declare -i CPUTYPE=`cat /proc/cpuinfo |grep "cpu family"|cut -d ' ' -f3` | ||
445 | |||
446 | if [ $CPUTYPE -le 5 ];then | ||
447 | |||
448 | lastdir="`pwd`" | ||
449 | |||
450 | mkdir -p $INSTALLPATH/INSTALL/kernel || die | ||
451 | cd $INSTALLPATH/INSTALL/kernel || die | ||
452 | tar xzpf $CDPATH/kernels/kernel-i386.tar.gz || die | ||
453 | source $INSTALLPATH/INSTALL/kernel/kernelversion || die | ||
454 | |||
455 | cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNLIB $INSTALLPATH/lib/modules || die | ||
456 | cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNIMG $INSTALLPATH/boot || die | ||
457 | cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNINITRD $INSTALLPATH/boot || die | ||
458 | cp -aRf $INSTALLPATH/INSTALL/kernel/kernelversion $INSTALLPATH/boot || die | ||
459 | |||
460 | cd $lastdir || die | ||
461 | |||
462 | elif [ $CPUTYPE -ge 6 ];then | ||
463 | |||
464 | lastdir="`pwd`" | ||
465 | |||
466 | mkdir -p $INSTALLPATH/INSTALL/kernel || die | ||
467 | cd $INSTALLPATH/INSTALL/kernel || die | ||
468 | tar xzpf $CDPATH/kernels/kernel-i686.tar.gz || die | ||
469 | source $INSTALLPATH/INSTALL/kernel/kernelversion || die | ||
470 | |||
471 | cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNLIB $INSTALLPATH/lib/modules || die | ||
472 | cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNIMG $INSTALLPATH/boot || die | ||
473 | cp -aRf $INSTALLPATH/INSTALL/kernel/$KRNINITRD $INSTALLPATH/boot || die | ||
474 | cp -aRf $INSTALLPATH/INSTALL/kernel/kernelversion $INSTALLPATH/boot || die | ||
475 | |||
476 | cd $lastdir || die | ||
477 | fi | ||
478 | } | ||
479 | |||
480 | install_bootsector() { | ||
481 | ### grubconf schreiben | ||
482 | source $INSTALLPATH/INSTALL/kernel/kernelversion | ||
483 | |||
484 | if [ -z $KRNVER ] | ||
485 | then | ||
486 | KRNVER="AutoSta_LX" | ||
487 | fi | ||
488 | |||
489 | if [ -z $KRNIMG ] | ||
490 | then | ||
491 | KRNIMG="bzImage" | ||
492 | fi | ||
493 | |||
494 | if [ -z $KRNINITRD ] | ||
495 | then | ||
496 | KRNINITRD="initrd" | ||
497 | fi | ||
498 | |||
499 | echo -e "default 0" > $INSTALLPATH/boot/grub/grub.conf || die | ||
500 | echo -e "timeout 03" >> $INSTALLPATH/boot/grub/grub.conf ||die | ||
501 | echo -e "\ntitle=${KRNVER}" >> $INSTALLPATH/boot/grub/grub.conf || die | ||
502 | echo -e "root (hd0,0)" >> $INSTALLPATH/boot/grub/grub.conf || die | ||
503 | niro | 519 | |
504 | niro | 258 | echo -e "kernel (hd0,0)/boot/${KRNIMG} root=$ROOTHDD quiet" >> $INSTALLPATH/boot/grub/grub.conf || die |
505 | |||
506 | ### bootsector schreiben | ||
507 | /sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null || die | ||
508 | root (hd0,0) | ||
509 | setup (hd0) | ||
510 | quit | ||
511 | EOF | ||
512 | } | ||
513 | |||
514 | install_bootsector_chroot() { | ||
515 | ### grubconf schreiben | ||
516 | source $INSTALLPATH/boot/kernelversion | ||
517 | |||
518 | #for alx only | ||
519 | if [ -e ${INSTALLPATH}/etc/alx_version ] | ||
520 | then | ||
521 | OLD_ALXVER="${ALXVER}" | ||
522 | source ${INSTALLPATH}/etc/alx_version | ||
523 | KRNVER="ALX-${ALXVER}" | ||
524 | ALXVER="${OLD_ALXVER}" | ||
525 | fi | ||
526 | |||
527 | if [ -z "$KRNVER" ] | ||
528 | then | ||
529 | KRNVER="AutoSta_LX" | ||
530 | fi | ||
531 | |||
532 | if [ -z "$KRNIMG" ] | ||
533 | then | ||
534 | KRNIMG="bzImage" | ||
535 | fi | ||
536 | |||
537 | if [ -z "$KRNINITRD" ] | ||
538 | then | ||
539 | KRNINITRD="initrd" | ||
540 | fi | ||
541 | |||
542 | echo -e "default 0" > $INSTALLPATH/boot/grub/grub.conf || die | ||
543 | niro | 268 | echo -e "timeout 0" >> $INSTALLPATH/boot/grub/grub.conf ||die |
544 | niro | 258 | |
545 | echo -e "\ntitle=${KRNVER}" >> $INSTALLPATH/boot/grub/grub.conf || die | ||
546 | echo -e "root (hd0,0)" >> $INSTALLPATH/boot/grub/grub.conf || die | ||
547 | |||
548 | echo -e "kernel (hd0,0)/boot/${KRNIMG} root=$ROOTHDD quiet" >> $INSTALLPATH/boot/grub/grub.conf || die | ||
549 | |||
550 | ### bootsector schreiben chrooted schreiben (gentoo) | ||
551 | if [ -f $INSTALLPATH/sbin/grub ] | ||
552 | then | ||
553 | cat > $INSTALLPATH/root/.bashrc << CHROOTEOF | ||
554 | /sbin/grub --no-floppy --batch << "EOF" 1> /dev/null 2> /dev/null | ||
555 | root (hd0,0) | ||
556 | setup (hd0) | ||
557 | quit | ||
558 | EOF | ||
559 | niro | 260 | exit 0 |
560 | niro | 258 | CHROOTEOF |
561 | fi | ||
562 | |||
563 | ### bootsector schreiben chrooted schreiben (lfs/magellan) | ||
564 | if [ -f $INSTALLPATH/usr/sbin/grub ] | ||
565 | then | ||
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 | niro | 260 | exit 0 |
573 | niro | 258 | CHROOTEOF |
574 | fi | ||
575 | |||
576 | ##enters chroot | ||
577 | niro | 261 | mount -t proc none $INSTALLPATH/proc |
578 | mount -o bind /dev $INSTALLPATH/dev | ||
579 | niro | 260 | chroot $INSTALLPATH /bin/bash --rcfile /root/.bashrc -i |
580 | niro | 258 | umount $INSTALLPATH/proc |
581 | niro | 261 | umount $INSTALLPATH/dev |
582 | niro | 258 | rm $INSTALLPATH/root/.bashrc |
583 | } | ||
584 | |||
585 | install_alxconfig(){ | ||
586 | lastdir="`pwd`" | ||
587 | |||
588 | mkdir -p $INSTALLPATH/opt/alx-config || die | ||
589 | cd $INSTALLPATH/opt/alx-config || die | ||
590 | tar xzpf $CDPATH/alx-config/alx-config.tar.gz || die | ||
591 | chmod a+x $INSTALLPATH/opt/alx-config/Configurator/config_functions.sh || die | ||
592 | chmod a+x $INSTALLPATH/opt/alx-config/Configurator/config_menu.sh || die | ||
593 | ln -sf /opt/alx-config/Configurator/config_menu.sh $INSTALLPATH/bin/ALXConfig || die | ||
594 | |||
595 | cd $lastdir || die | ||
596 | } | ||
597 | |||
598 | |||
599 | install_system_settings(){ | ||
600 | ### schreibe fstab | ||
601 | niro | 268 | echo -e "$BOOTHDD\t/boot\text3\tnoatime,noauto\t1 1" > $INSTALLPATH/etc/fstab || die |
602 | niro | 258 | echo -e "$ROOTHDD\t/\text3\tnoatime\t0 0" >> $INSTALLPATH/etc/fstab || die |
603 | echo -e "$SWAPHDD\tswap\tswap\tpri=1\t0 0" >> $INSTALLPATH/etc/fstab || die | ||
604 | echo -e "none\t/proc\tproc\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die | ||
605 | |||
606 | echo -e "none\t/dev/shm\ttmpfs\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die | ||
607 | echo -e "none\t/proc/bus/usb\tusbfs\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die | ||
608 | } | ||
609 | |||
610 | niro | 280 | install_system_settings_flash(){ |
611 | ### schreibe fstab | ||
612 | echo -e "$ROOTHDD\t/\text3\tnoatime\t0 0" > $INSTALLPATH/etc/fstab || die | ||
613 | echo -e "none\t/proc\tproc\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die | ||
614 | |||
615 | echo -e "none\t/dev/shm\ttmpfs\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die | ||
616 | echo -e "none\t/proc/bus/usb\tusbfs\tdefaults\t0 0" >> $INSTALLPATH/etc/fstab || die | ||
617 | } | ||
618 | niro | 258 | install_hotfixes(){ |
619 | if [ -f $CDPATH/hotfixes/hotfixes.sh ] | ||
620 | then | ||
621 | dialog_hotfixes | ||
622 | sleep1 | ||
623 | $CDPATH/hotfixes/hotfixes.sh | ||
624 | fi | ||
625 | } | ||
626 | |||
627 | install_umount_rootfs() { | ||
628 | cd / | ||
629 | umount $INSTALLPATH/boot || die | ||
630 | umount $INSTALLPATH || die | ||
631 | swapoff $SWAPHDD || die | ||
632 | } | ||
633 | |||
634 | niro | 280 | install_umount_rootfs_flash() { |
635 | cd / | ||
636 | umount $INSTALLPATH || die | ||
637 | } | ||
638 | |||
639 | niro | 258 | install_do_reboot() { |
640 | |||
641 | reboot | ||
642 | } | ||
643 | |||
644 | ################################################# | ||
645 | # Install Ablauf Scripte # | ||
646 | ################################################# | ||
647 | |||
648 | run_install_normal() { | ||
649 | dialog_setup_hdd_found_manuell | ||
650 | |||
651 | dialog_setup_hdd_partitions_manuell | ||
652 | dialog_setup_hdd_format | ||
653 | setup_hdd_format > /dev/null | ||
654 | install_mount_rootfs | ||
655 | (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image | ||
656 | |||
657 | dialog_install_bootsector | ||
658 | install_bootsector_chroot | ||
659 | niro | 519 | |
660 | niro | 258 | dialog_install_settings |
661 | sleep 1 | ||
662 | install_system_settings | ||
663 | install_hotfixes | ||
664 | install_umount_rootfs | ||
665 | dialog_install_successful | ||
666 | } | ||
667 | |||
668 | niro | 280 | run_install_flash() { |
669 | dialog_setup_hdd_found_manuell | ||
670 | |||
671 | dialog_setup_hdd_partitions_manuell_flash | ||
672 | dialog_setup_hdd_format | ||
673 | setup_hdd_format_flash > /dev/null | ||
674 | install_mount_rootfs_flash | ||
675 | (install_system_image > /tmp/install.log) 2> /tmp/install_errors.log | dialog_install_meter | dialog_install_system_image | ||
676 | |||
677 | |||
678 | dialog_install_bootsector | ||
679 | install_bootsector_chroot | ||
680 | |||
681 | dialog_install_settings | ||
682 | sleep 1 | ||
683 | install_system_settings_flash | ||
684 | install_hotfixes | ||
685 | install_umount_rootfs_flash | ||
686 | dialog_install_successful | ||
687 | } | ||
688 | |||
689 | niro | 258 | run_install_silent() { |
690 | echo "starting silent install ..." | ||
691 | sleep 1 | ||
692 | } | ||
693 | |||
694 | run_install_unattended() { | ||
695 | echo "starting unattended install ..." | ||
696 | sleep 1 | ||
697 | } | ||
698 | |||
699 | if [ "$1" == "unattended" ] | ||
700 | then | ||
701 | run_install_unattended | ||
702 | else | ||
703 | dialog_main | ||
704 | fi | ||
705 | |||
706 | exit 0 |