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 |
82 |
|
|
83 |
dialog_setup_hdd_info() |
dialog_setup_hdd_info() |
84 |
{ |
{ |
85 |
|
case "${INSTALL_METHOD}" in |
86 |
|
auto) |
87 |
|
dialog_setup_hdd_info_auto |
88 |
|
dialog_setup_hdd_create_partitions |
89 |
|
;; |
90 |
|
normal) dialog_setup_hdd_info_normal ;; |
91 |
|
single) dialog_setup_hdd_info_single ;; |
92 |
|
esac |
93 |
|
} |
94 |
|
|
95 |
|
dialog_setup_hdd_info_normal() |
96 |
|
{ |
97 |
local SHDD="$(echo ${HDD} | sed 's/\/dev\///')" |
local SHDD="$(echo ${HDD} | sed 's/\/dev\///')" |
98 |
|
|
99 |
dialog \ |
dialog \ |
230 |
fi |
fi |
231 |
} |
} |
232 |
|
|
233 |
dialog_setup_hdd_partitions_manuell() |
dialog_setup_hdd_partitions() |
234 |
{ |
{ |
235 |
local i |
local i |
236 |
|
|
263 |
if [[ ${RES} -eq 0 ]] |
if [[ ${RES} -eq 0 ]] |
264 |
then |
then |
265 |
dialog_setup_hdd_info |
dialog_setup_hdd_info |
266 |
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 |
|
267 |
fi |
fi |
268 |
fi |
fi |
269 |
} |
} |
474 |
return "${retval}" |
return "${retval}" |
475 |
} |
} |
476 |
|
|
477 |
setup_hdd_partitions_auto() |
setup_hdd_partitions() |
478 |
{ |
{ |
479 |
ROOTHDD="${HDD}1" |
case "${INSTALL_METHOD}" in |
480 |
|
normal) |
481 |
|
BOOTHDD="${HDD}1" |
482 |
|
SWAPHDD="${HDD}2" |
483 |
|
ROOTHDD="${HDD}3" |
484 |
|
;; |
485 |
|
|
486 |
|
single|auto) |
487 |
|
BOOTHDD="" |
488 |
|
SWAPHDD="" |
489 |
|
ROOTHDD="${HDD}1" |
490 |
|
;; |
491 |
|
esac |
492 |
|
|
493 |
# run this only if FDISKPARTITIONBELOW256MB is not already 1 |
if [[ ${INSTALL_METHOD} = auto ]] |
|
if [[ ${FDISKPARTIONBELOW256MB} != 1 ]] |
|
494 |
then |
then |
495 |
if hdd_size_below_256mb ${HDD} |
# run this only if FDISKPARTITIONBELOW256MB is not already 1 |
496 |
|
if [[ ${FDISKPARTIONBELOW256MB} != 1 ]] |
497 |
then |
then |
498 |
FDISKPARTIONBELOW256MB=1 |
if hdd_size_below_256mb ${HDD} |
499 |
else |
then |
500 |
FDISKPARTIONBELOW256MB=0 |
FDISKPARTIONBELOW256MB=1 |
501 |
|
else |
502 |
|
FDISKPARTIONBELOW256MB=0 |
503 |
|
fi |
504 |
fi |
fi |
|
fi |
|
505 |
|
|
506 |
## delete disk |
## delete disk |
507 |
dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die |
dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die |
508 |
|
|
509 |
if [[ ${FDISKPARTIONBELOW256MB} = 1 ]] |
if [[ ${FDISKPARTIONBELOW256MB} = 1 ]] |
510 |
then |
then |
511 |
## setup one bootable partition |
## setup one bootable partition |
512 |
#1. n= new disk |
#1. n= new disk |
513 |
#2. p= primary disk |
#2. p= primary disk |
514 |
#3. 1= first partition |
#3. 1= first partition |
515 |
#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 |
516 |
#5. ''= defaul sector end |
#5. ''= defaul sector end |
517 |
#6. a= bootable flag |
#6. a= bootable flag |
518 |
#7. 1= boot flag for partition 1 |
#7. 1= boot flag for partition 1 |
519 |
#8. w= write/quit |
#8. w= write/quit |
520 |
fdisk ${HDD} &> /dev/null << EOF |
fdisk ${HDD} &> /dev/null << EOF |
521 |
n |
n |
522 |
p |
p |
523 |
1 |
1 |
527 |
1 |
1 |
528 |
w |
w |
529 |
EOF |
EOF |
530 |
else |
else |
531 |
## setup one bootable partition |
## setup one bootable partition |
532 |
#1. n= new disk |
#1. n= new disk |
533 |
#2. p= primary disk |
#2. p= primary disk |
534 |
#3. 1= first partition |
#3. 1= first partition |
535 |
#4. ''= default sector start |
#4. ''= default sector start |
536 |
#5. ''= defaul sector end |
#5. ''= defaul sector end |
537 |
#6. a= bootable flag |
#6. a= bootable flag |
538 |
#7. 1= boot flag for partition 1 |
#7. 1= boot flag for partition 1 |
539 |
#8. w= write/quit |
#8. w= write/quit |
540 |
fdisk ${HDD} &> /dev/null << EOF |
fdisk ${HDD} &> /dev/null << EOF |
541 |
n |
n |
542 |
p |
p |
543 |
1 |
1 |
547 |
1 |
1 |
548 |
w |
w |
549 |
EOF |
EOF |
550 |
|
fi |
551 |
|
else |
552 |
|
## hdds partitionieren manuell |
553 |
|
cfdisk ${HDD} || die |
554 |
fi |
fi |
555 |
} |
} |
556 |
|
|
|
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 |
|
|
} |
|
|
|
|
557 |
setup_hdd_format() |
setup_hdd_format() |
558 |
{ |
{ |
559 |
if [[ -n ${SWAPHDD} ]] |
if [[ -n ${SWAPHDD} ]] |
562 |
fi |
fi |
563 |
if [[ -n ${BOOTHDD} ]] |
if [[ -n ${BOOTHDD} ]] |
564 |
then |
then |
565 |
mke2fs -j -q ${BOOTHDD} || die |
mkfs.${FORMAT_FILESYSTEM} -q ${BOOTHDD} || die |
566 |
fi |
fi |
567 |
if [[ -n ${ROOTHDD} ]] |
if [[ -n ${ROOTHDD} ]] |
568 |
then |
then |
569 |
mke2fs -j -q ${ROOTHDD} || die |
mkfs.${FORMAT_FILESYSTEM} -q ${ROOTHDD} || die |
570 |
fi |
fi |
571 |
} |
} |
572 |
|
|
717 |
|
|
718 |
install_initrd_chroot() |
install_initrd_chroot() |
719 |
{ |
{ |
720 |
|
local CONFIG |
721 |
|
|
722 |
# only generate initrds if the cmd exists |
# only generate initrds if the cmd exists |
723 |
is_initrd_supported || return 0 |
is_initrd_supported || return 0 |
724 |
|
|
744 |
fi |
fi |
745 |
|
|
746 |
# install an appropriate uvesafb.conf |
# install an appropriate uvesafb.conf |
747 |
install -d ${INSTALLPATH}/etc/modprobe.d || die |
CONFIG=${INSTALLPATH}/etc/modprobe.d/uvesafb.conf |
748 |
echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > ${INSTALLPATH}/etc/modprobe.d/uvesafb.conf || die |
clearconfig |
749 |
|
addconfig "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" |
750 |
|
|
751 |
# install an appropriate viafb.conf |
# install an appropriate viafb.conf |
752 |
echo "options viafb viafb_mode=1024x768 viafb_refresh=60" > ${INSTALLPATH}/etc/modprobe.d/viafb.conf || die |
CONFIG=${INSTALLPATH}/etc/modprobe.d/viafb.conf |
753 |
|
clearconfig |
754 |
|
addconfig "options viafb viafb_mode=1024x768 viafb_refresh=60" |
755 |
|
|
756 |
# install an appropriate i810fb.conf |
# install an appropriate i810fb.conf |
757 |
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 |
758 |
|
clearconfig |
759 |
|
addconfig "options i810fb xres=1024 yres=768 bpp=16 mtrr=1 hsync1=30 hsync2=62 vsync1=30 vsync2=60" |
760 |
|
|
761 |
cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF |
cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF |
762 |
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 |
909 |
|
|
910 |
dialog_hardware_detection |
dialog_hardware_detection |
911 |
|
|
912 |
case "${INSTALL_METHOD}" in |
dialog_setup_hdd_partitions |
|
auto) dialog_setup_hdd_partitions_auto ;; |
|
|
*) dialog_setup_hdd_partitions_manuell ;; |
|
|
esac |
|
913 |
dialog_setup_hdd_format |
dialog_setup_hdd_format |
914 |
setup_hdd_format > /dev/null |
setup_hdd_format > /dev/null |
915 |
install_mount_rootfs |
install_mount_rootfs |