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