10 |
source /mnt/cdrom/system/images.conf |
source /mnt/cdrom/system/images.conf |
11 |
|
|
12 |
# includes |
# includes |
13 |
|
source ${MLIBDIR}/functions/generic.sh |
14 |
source ${MLIBDIR}/functions/hwdetection.sh |
source ${MLIBDIR}/functions/hwdetection.sh |
15 |
|
|
16 |
### System/Config Version |
### System/Config Version |
59 |
ERROR=$1 |
ERROR=$1 |
60 |
RETVAL=$? |
RETVAL=$? |
61 |
dialog_install_failure |
dialog_install_failure |
62 |
|
trap_exit |
63 |
exit 1 |
exit 1 |
64 |
} |
} |
65 |
|
|
83 |
|
|
84 |
dialog_setup_hdd_info() |
dialog_setup_hdd_info() |
85 |
{ |
{ |
86 |
|
case "${INSTALL_METHOD}" in |
87 |
|
auto) |
88 |
|
dialog_setup_hdd_info_auto |
89 |
|
dialog_setup_hdd_create_partitions |
90 |
|
;; |
91 |
|
normal) dialog_setup_hdd_info_normal ;; |
92 |
|
single) dialog_setup_hdd_info_single ;; |
93 |
|
esac |
94 |
|
} |
95 |
|
|
96 |
|
dialog_setup_hdd_info_normal() |
97 |
|
{ |
98 |
local SHDD="$(echo ${HDD} | sed 's/\/dev\///')" |
local SHDD="$(echo ${HDD} | sed 's/\/dev\///')" |
99 |
|
|
100 |
dialog \ |
dialog \ |
231 |
fi |
fi |
232 |
} |
} |
233 |
|
|
234 |
dialog_setup_hdd_partitions_manuell() |
dialog_setup_hdd_partitions() |
235 |
{ |
{ |
236 |
local i |
local i |
237 |
|
|
264 |
if [[ ${RES} -eq 0 ]] |
if [[ ${RES} -eq 0 ]] |
265 |
then |
then |
266 |
dialog_setup_hdd_info |
dialog_setup_hdd_info |
267 |
setup_hdd_partitions_manuell |
setup_hdd_partitions |
|
fi |
|
|
fi |
|
|
} |
|
|
|
|
|
dialog_setup_hdd_partitions_manuell_single() |
|
|
{ |
|
|
local i |
|
|
|
|
|
if [[ -z ${ALL_DISKS} ]] |
|
|
then |
|
|
dialog \ |
|
|
--backtitle "${TITLE}" \ |
|
|
--ok-label "Beenden" \ |
|
|
--msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70 |
|
|
exit 1 |
|
|
else |
|
|
|
|
|
echo "dialog \\" > /tmp/hddtmp.sh |
|
|
echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh |
|
|
echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh |
|
|
echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh |
|
|
echo "--stdout \\" >> /tmp/hddtmp.sh |
|
|
echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh |
|
|
|
|
|
for i in ${ALL_DISKS} |
|
|
do |
|
|
echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh |
|
|
done |
|
|
echo -e "\n" >> /tmp/hddtmp.sh |
|
|
|
|
|
chmod a+x /tmp/hddtmp.sh |
|
|
HDD="$(/tmp/hddtmp.sh)" |
|
|
RES=$? |
|
|
[[ ${RES} -eq 1 ]] && return 1 |
|
|
if [[ ${RES} -eq 0 ]] |
|
|
then |
|
|
dialog_setup_hdd_info_single |
|
|
setup_hdd_partitions_manuell_single |
|
|
fi |
|
|
fi |
|
|
} |
|
|
|
|
|
dialog_setup_hdd_partitions_auto() |
|
|
{ |
|
|
local i |
|
|
|
|
|
if [[ -z ${ALL_DISKS} ]] |
|
|
then |
|
|
dialog \ |
|
|
--backtitle "${TITLE}" \ |
|
|
--ok-label "Beenden" \ |
|
|
--msgbox "Kein geeignetes Laufwerk gefunden.\nDie Installation ist fehlgeschlagen." 6 70 |
|
|
exit 1 |
|
|
else |
|
|
|
|
|
echo "dialog \\" > /tmp/hddtmp.sh |
|
|
echo "--backtitle \"${TITLE}\" \\" >> /tmp/hddtmp.sh |
|
|
echo "--ok-label \"Weiter\" \\" >> /tmp/hddtmp.sh |
|
|
echo "--cancel-label \"Beenden\" \\" >> /tmp/hddtmp.sh |
|
|
echo "--stdout \\" >> /tmp/hddtmp.sh |
|
|
echo "--menu \"Installations Laufwerk auswaehlen:\" 10 70 3 \\" >> /tmp/hddtmp.sh |
|
|
|
|
|
for i in ${ALL_DISKS} |
|
|
do |
|
|
echo "\"${i}\" \"\" \\" >> /tmp/hddtmp.sh |
|
|
done |
|
|
echo -e "\n" >> /tmp/hddtmp.sh |
|
|
|
|
|
chmod a+x /tmp/hddtmp.sh |
|
|
HDD="$(/tmp/hddtmp.sh)" |
|
|
RES=$? |
|
|
[[ ${RES} -eq 1 ]] && return 1 |
|
|
if [[ ${RES} -eq 0 ]] |
|
|
then |
|
|
dialog_setup_hdd_info_auto |
|
|
dialog_setup_hdd_create_partitions |
|
|
setup_hdd_partitions_auto |
|
268 |
fi |
fi |
269 |
fi |
fi |
270 |
} |
} |
475 |
return "${retval}" |
return "${retval}" |
476 |
} |
} |
477 |
|
|
478 |
setup_hdd_partitions_auto() |
setup_hdd_partitions() |
479 |
{ |
{ |
480 |
ROOTHDD="${HDD}1" |
case "${INSTALL_METHOD}" in |
481 |
|
normal) |
482 |
|
BOOTHDD="${HDD}1" |
483 |
|
SWAPHDD="${HDD}2" |
484 |
|
ROOTHDD="${HDD}3" |
485 |
|
;; |
486 |
|
|
487 |
|
single|auto) |
488 |
|
BOOTHDD="" |
489 |
|
SWAPHDD="" |
490 |
|
ROOTHDD="${HDD}1" |
491 |
|
;; |
492 |
|
esac |
493 |
|
|
494 |
# run this only if FDISKPARTITIONBELOW256MB is not already 1 |
if [[ ${INSTALL_METHOD} = auto ]] |
|
if [[ ${FDISKPARTIONBELOW256MB} != 1 ]] |
|
495 |
then |
then |
496 |
if hdd_size_below_256mb ${HDD} |
# run this only if FDISKPARTITIONBELOW256MB is not already 1 |
497 |
|
if [[ ${FDISKPARTIONBELOW256MB} != 1 ]] |
498 |
then |
then |
499 |
FDISKPARTIONBELOW256MB=1 |
if hdd_size_below_256mb ${HDD} |
500 |
else |
then |
501 |
FDISKPARTIONBELOW256MB=0 |
FDISKPARTIONBELOW256MB=1 |
502 |
|
else |
503 |
|
FDISKPARTIONBELOW256MB=0 |
504 |
|
fi |
505 |
fi |
fi |
|
fi |
|
506 |
|
|
507 |
## delete disk |
## delete disk |
508 |
dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die |
dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die |
509 |
|
|
510 |
if [[ ${FDISKPARTIONBELOW256MB} = 1 ]] |
if [[ ${FDISKPARTIONBELOW256MB} = 1 ]] |
511 |
then |
then |
512 |
## setup one bootable partition |
## setup one bootable partition |
513 |
#1. n= new disk |
#1. n= new disk |
514 |
#2. p= primary disk |
#2. p= primary disk |
515 |
#3. 1= first partition |
#3. 1= first partition |
516 |
#4. 2= default sector start // small disk needs more space for grub2 mbr sector |
#4. 2= default sector start // small disk needs more space for grub2 mbr sector |
517 |
#5. ''= defaul sector end |
#5. ''= defaul sector end |
518 |
#6. a= bootable flag |
#6. a= bootable flag |
519 |
#7. 1= boot flag for partition 1 |
#7. 1= boot flag for partition 1 |
520 |
#8. w= write/quit |
#8. w= write/quit |
521 |
fdisk ${HDD} &> /dev/null << EOF |
fdisk ${HDD} &> /dev/null << EOF |
522 |
n |
n |
523 |
p |
p |
524 |
1 |
1 |
528 |
1 |
1 |
529 |
w |
w |
530 |
EOF |
EOF |
531 |
else |
else |
532 |
## setup one bootable partition |
## setup one bootable partition |
533 |
#1. n= new disk |
#1. n= new disk |
534 |
#2. p= primary disk |
#2. p= primary disk |
535 |
#3. 1= first partition |
#3. 1= first partition |
536 |
#4. ''= default sector start |
#4. ''= default sector start |
537 |
#5. ''= defaul sector end |
#5. ''= defaul sector end |
538 |
#6. a= bootable flag |
#6. a= bootable flag |
539 |
#7. 1= boot flag for partition 1 |
#7. 1= boot flag for partition 1 |
540 |
#8. w= write/quit |
#8. w= write/quit |
541 |
fdisk ${HDD} &> /dev/null << EOF |
fdisk ${HDD} &> /dev/null << EOF |
542 |
n |
n |
543 |
p |
p |
544 |
1 |
1 |
548 |
1 |
1 |
549 |
w |
w |
550 |
EOF |
EOF |
551 |
|
fi |
552 |
|
else |
553 |
|
## hdds partitionieren manuell |
554 |
|
cfdisk ${HDD} || die |
555 |
fi |
fi |
556 |
} |
} |
557 |
|
|
|
setup_hdd_partitions_manuell() |
|
|
{ |
|
|
case "${INSTALL_METHOD}" in |
|
|
normal) |
|
|
BOOTHDD="${HDD}1" |
|
|
SWAPHDD="${HDD}2" |
|
|
ROOTHDD="${HDD}3" |
|
|
;; |
|
|
|
|
|
single|auto) |
|
|
ROOTHDD="${HDD}1" |
|
|
;; |
|
|
esac |
|
|
|
|
|
## hdds partitionieren manuell |
|
|
cfdisk ${HDD} || die |
|
|
} |
|
|
|
|
558 |
setup_hdd_format() |
setup_hdd_format() |
559 |
{ |
{ |
560 |
if [[ -n ${SWAPHDD} ]] |
if [[ -n ${SWAPHDD} ]] |
563 |
fi |
fi |
564 |
if [[ -n ${BOOTHDD} ]] |
if [[ -n ${BOOTHDD} ]] |
565 |
then |
then |
566 |
mke2fs -j -q ${BOOTHDD} || die |
mkfs.${FORMAT_FILESYSTEM} -q ${BOOTHDD} || die |
567 |
fi |
fi |
568 |
if [[ -n ${ROOTHDD} ]] |
if [[ -n ${ROOTHDD} ]] |
569 |
then |
then |
570 |
mke2fs -j -q ${ROOTHDD} || die |
mkfs.${FORMAT_FILESYSTEM} -q ${ROOTHDD} || die |
571 |
fi |
fi |
572 |
} |
} |
573 |
|
|
718 |
|
|
719 |
install_initrd_chroot() |
install_initrd_chroot() |
720 |
{ |
{ |
721 |
|
local CONFIG |
722 |
|
|
723 |
# only generate initrds if the cmd exists |
# only generate initrds if the cmd exists |
724 |
is_initrd_supported || return 0 |
is_initrd_supported || return 0 |
725 |
|
|
745 |
fi |
fi |
746 |
|
|
747 |
# install an appropriate uvesafb.conf |
# install an appropriate uvesafb.conf |
748 |
install -d ${INSTALLPATH}/etc/modprobe.d || die |
CONFIG=${INSTALLPATH}/etc/modprobe.d/uvesafb.conf |
749 |
echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > ${INSTALLPATH}/etc/modprobe.d/uvesafb.conf || die |
clearconfig |
750 |
|
addconfig "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" |
751 |
|
|
752 |
# install an appropriate viafb.conf |
# install an appropriate viafb.conf |
753 |
echo "options viafb viafb_mode=1024x768 viafb_refresh=60" > ${INSTALLPATH}/etc/modprobe.d/viafb.conf || die |
CONFIG=${INSTALLPATH}/etc/modprobe.d/viafb.conf |
754 |
|
clearconfig |
755 |
|
addconfig "options viafb viafb_mode=1024x768 viafb_refresh=60" |
756 |
|
|
757 |
# install an appropriate i810fb.conf |
# install an appropriate i810fb.conf |
758 |
echo "options i810fb xres=1024 yres=768 bpp=16 mtrr=1 hsync1=30 hsync2=62 vsync1=30 vsync2=60" > ${INSTALLPATH}/etc/modprobe.d/i810fb.conf || die |
CONFIG=${INSTALLPATH}/etc/modprobe.d/i810fb.conf |
759 |
|
clearconfig |
760 |
|
addconfig "options i810fb xres=1024 yres=768 bpp=16 mtrr=1 hsync1=30 hsync2=62 vsync1=30 vsync2=60" |
761 |
|
|
762 |
cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF |
cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF |
763 |
echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS} ${OTHERMODS}\"" > /etc/conf.d/mkinitrd |
echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS} ${OTHERMODS}\"" > /etc/conf.d/mkinitrd |
910 |
|
|
911 |
dialog_hardware_detection |
dialog_hardware_detection |
912 |
|
|
913 |
case "${INSTALL_METHOD}" in |
dialog_setup_hdd_partitions |
|
auto) dialog_setup_hdd_partitions_auto ;; |
|
|
*) dialog_setup_hdd_partitions_manuell ;; |
|
|
esac |
|
914 |
dialog_setup_hdd_format |
dialog_setup_hdd_format |
915 |
setup_hdd_format > /dev/null |
setup_hdd_format > /dev/null |
916 |
install_mount_rootfs |
install_mount_rootfs |
928 |
dialog_install_successful |
dialog_install_successful |
929 |
} |
} |
930 |
|
|
931 |
|
# set some proper traps |
932 |
|
trap "trap_exit" SIGINT SIGQUIT |
933 |
|
|
934 |
dialog_main |
dialog_main |
935 |
|
|
936 |
exit 0 |
exit 0 |