--- trunk/installer-simple/bin/installer.sh.in 2015/07/31 09:39:45 2882 +++ trunk/installer-simple/bin/installer.sh.in 2015/07/31 11:13:02 2891 @@ -44,7 +44,9 @@ VERSION="%VERSIONTAG%" TITLE="${DEFAULT_TITLE} - ${VERSION}" +# initialize global variables so they are exportable # some sane defaults +INSTALL_METHOD="" LIVEROOT="${DEFAULT_LIVEROOT}" IMAGEROOT="${DEFAULT_IMAGEROOT}" INSTALLROOT="${DEFAULT_INSTALLROOT}" @@ -56,6 +58,7 @@ SPECIALDEVICE="" FORMFACTOR="${DEFAULT_FORMFACTOR}" FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM}" +FLASHDISK=0 # TOTALLINES=linecount of ${CDIMAGENAME}-tarball -1 ! # -> now in images.conf @@ -81,6 +84,7 @@ is_mounted --location "${INSTALLROOT}/sys" && umount ${INSTALLROOT}/sys is_mounted --location "${INSTALLROOT}/boot" && umount ${INSTALLROOT}/boot is_mounted --location "${INSTALLROOT}" && umount ${INSTALLROOT} + [[ -n ${SWAPHDD} ]] && swapoff ${SWAPHDD} echo $"Installation aborted." exit 1 @@ -99,28 +103,6 @@ return 0 } -install_mount_rootfs() -{ - local opts - - if [[ -n ${SWAPHDD} ]] - then - swapon ${SWAPHDD} || die - fi - if [[ -n ${ROOTHDD} ]] - then - mount -t ${FORMAT_FILESYSTEM_ROOTHDD} ${ROOTHDD} ${INSTALL_ROOT} || die - fi - if [[ -n ${BOOTHDD} ]] - then - install -d ${INSTALL_ROOT}/boot || die - mount -t ${FORMAT_FILESYSTEM_BOOTHDD} ${BOOTHDD} ${INSTALL_ROOT}/boot || die - fi - - cd ${INSTALL_ROOT} || die -} - - mount_rootfs() { local retval @@ -136,7 +118,7 @@ then echo $"${INSTALLROOT} already mounted" >&2 else - mount "${ROOTHDD}" "${INSTALLROOT}" || dialog_die $"Could not mount rootfs - drive '${ROOTHDD}' -> '${INSTALLROOT}'" + mount -t "${FORMAT_FILESYSTEM_ROOTHDD}" "${ROOTHDD}" "${INSTALLROOT}" || dialog_die $"Could not mount rootfs - drive '${ROOTHDD}' -> '${INSTALLROOT}'" fi fi @@ -148,7 +130,7 @@ then echo $"${INSTALLROOT}/boot already mounted" >&2 else - mount "${BOOTHDD}" "${INSTALLROOT}"/boot || dialog_die $"Could not mount bootfs - drive '${BOOTHDD}' -> '${INSTALLROOT}/boot'" + mount -t "${FORMAT_FILESYSTEM_BOOTHDD}" "${BOOTHDD}" "${INSTALLROOT}"/boot || dialog_die $"Could not mount bootfs - drive '${BOOTHDD}' -> '${INSTALLROOT}/boot'" fi fi } @@ -180,13 +162,15 @@ local removable=0 if [[ ! -z $(echo "${hwinfo}" | grep -i zotac) ]] then - #for i in /sys/block/[hs]d*/removable - #do - # if [[ $(< ${i}) = 1 ]] - # then - # removable=1 - # fi - #done + for i in /sys/block/[hs]d*/removable + do + if [[ $(< ${i}) = 1 ]] + then + removable=1 + # we assume that all removable disks are flash disks on a zotac + export FLASHDISK=1 + fi + done # smartcard = udevadm info -n /dev/sda -a | grep -i 'configuration.*card' # only add this for grub legacy, grub2 detect these settings on its own @@ -244,19 +228,6 @@ setup_hdd_partitions() { - case "${INSTALL_METHOD}" in - auto) - BOOTHDD="" - SWAPHDD="" - ROOTHDD="${HDD}1" - ;; - normal) - BOOTHDD="${HDD}1" - SWAPHDD="${HDD}2" - ROOTHDD="${HDD}3" - ;; - esac - # sanity check - should not happen if is_mounted --device "${ROOTHDD}" then @@ -288,38 +259,103 @@ ## delete disk dd if=/dev/zero of=${HDD} count=1 &> /dev/null || dialog_die - if [[ ${FDISKPARTIONBELOW256MB} = 1 ]] + if [[ ${FLASHDISK} = 1 ]] then - ## setup one bootable partition - #1. n= new disk - #2. p= primary disk - #3. 1= first partition - #4. 2= default sector start // small disk needs more space for grub2 mbr sector - #5. ''= defaul sector end - #6. a= bootable flag - #7. 1= boot flag for partition 1 - #8. w= write/quit - fdisk ${HDD} &> /dev/null << EOF + if [[ ${FDISKPARTIONBELOW256MB} = 1 ]] + then + ## setup one bootable partition + # 1. n= new disk + # 2. p= primary disk + # 3. 1= first partition + # 4. 2= default sector start // small disk needs more space for grub2 mbr sector + # 5. ''= defaul sector end + # 6. a= bootable flag + # 7. 1= boot flag for partition 1 + # 8. n= new disk + #10. p= primary disk + #11. 2= second partition + #12. ''= default sector start + #13. ''= defaul sector end + #14. w= write/quit + fdisk ${HDD} &> /dev/null << EOF n p 1 2 ++50M +a +1 +n +p +2 + +w +EOF + else + ## setup one bootable partition + # 1. n= new disk + # 2. p= primary disk + # 3. 1= first partition + # 4. ''= default sector start + # 5. ''= defaul sector end + # 6. a= bootable flag + # 7. 1= boot flag for partition 1 + # 8. n= new disk + #10. p= primary disk + #11. 2= second partition + #12. ''= default sector start + #13. ''= defaul sector end + #14. w= write/quit + fdisk ${HDD} &> /dev/null << EOF +n +p +1 + ++50M a 1 +n +p +2 + + w EOF + fi else - ## setup one bootable partition - #1. n= new disk - #2. p= primary disk - #3. 1= first partition - #4. ''= default sector start - #5. ''= defaul sector end - #6. a= bootable flag - #7. 1= boot flag for partition 1 - #8. w= write/quit - fdisk ${HDD} &> /dev/null << EOF + if [[ ${FDISKPARTIONBELOW256MB} = 1 ]] + then + ## setup one bootable partition + #1. n= new disk + #2. p= primary disk + #3. 1= first partition + #4. 2= default sector start // small disk needs more space for grub2 mbr sector + #5. ''= defaul sector end + #6. a= bootable flag + #7. 1= boot flag for partition 1 + #8. w= write/quit + fdisk ${HDD} &> /dev/null << EOF +n +p +1 +2 + +a +1 +w +EOF + else + ## setup one bootable partition + #1. n= new disk + #2. p= primary disk + #3. 1= first partition + #4. ''= default sector start + #5. ''= defaul sector end + #6. a= bootable flag + #7. 1= boot flag for partition 1 + #8. w= write/quit + fdisk ${HDD} &> /dev/null << EOF n p 1 @@ -329,6 +365,7 @@ 1 w EOF + fi fi else cfdisk ${HDD} || dialog_die @@ -337,6 +374,9 @@ setup_hdd_format() { + install -d /tmp + :> /tmp/format.log + if [[ -n ${SWAPHDD} ]] then # sanity check - should not happen @@ -357,7 +397,7 @@ umount "${BOOTHDD}" fi - mkfs."${FORMAT_FILESYSTEM}" -q "${BOOTHDD}" || dialog_die + mkfs."${FORMAT_FILESYSTEM_BOOTHDD}" "${BOOTHDD}" &>> /tmp/format.log || dialog_die fi if [[ -n ${ROOTHDD} ]] @@ -369,7 +409,7 @@ umount "${ROOTHDD}" fi - mkfs."${FORMAT_FILESYSTEM}" -q "${ROOTHDD}" || dialog_die + mkfs."${FORMAT_FILESYSTEM_ROOTHDD}" "${ROOTHDD}" &>> /tmp/format.log || dialog_die fi } @@ -389,11 +429,11 @@ clearconfig if [[ -n ${BOOTHDD} ]] then - addconfig -e "UUID=$(get_uuid ${BOOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t1 1" + addconfig -e "UUID=$(get_uuid ${BOOTHDD})\t/\t${FORMAT_FILESYSTEM_BOOTHDD}\tnoatime\t1 1" fi if [[ -n ${ROOTHDD} ]] then - addconfig -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" + addconfig -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM_ROOTHDD}\tnoatime\t0 0" fi if [[ -n ${SWAPHDD} ]] then @@ -506,6 +546,11 @@ then message+=$"\n\ZnFormfactor Laptop, activating 'ondemand' powersaving mode.\Zn" fi + if [[ ${FLASHDISK} = 1 ]] + then + message+=$"\n\ZnFlash memory detected.\Zn" + message+=$"\n\ZnF2FS will be used as default filesystem withn the auto installation mode.\Zn" + fi messagebox -y 12 -h $"Detected hardware:" "${message}" } @@ -561,9 +606,44 @@ case "${method}" in auto) + if [[ ${FLASHDISK} = 1 ]] + then + export BOOTHDD="${HDD}1" + export SWAPHDD="" + export ROOTHDD="${HDD}2" + export FORMAT_FILESYSTEM_BOOTHDD="f2fs" + export FORMAT_FILESYSTEM_ROOTHDD="ext2" + else + export BOOTHDD="" + export SWAPHDD="" + export ROOTHDD="${HDD}1" + export FORMAT_FILESYSTEM_BOOTHDD="" + export FORMAT_FILESYSTEM_ROOTHDD="${FORMAT_FILESYSTEM}" + fi export INSTALL_METHOD="${method}" ;; normal) + export BOOTHDD="${HDD}1" + export SWAPHDD="${HDD}2" + export ROOTHDD="${HDD}3" + export FORMAT_FILESYSTEM_BOOTHDD="${FORMAT_FILESYSTEM}" + export FORMAT_FILESYSTEM_ROOTHDD="${FORMAT_FILESYSTEM}" + export INSTALL_METHOD="${method}" + ;; + single) + export BOOTHDD="" + export SWAPHDD="" + export ROOTHDD="${HDD}1" + export FORMAT_FILESYSTEM_BOOTHDD="" + export FORMAT_FILESYSTEM_ROOTHDD="${FORMAT_FILESYSTEM}" + export INSTALL_METHOD="${method}" + ;; + flash) + export BOOTHDD="${HDD}1" + export SWAPHDD="" + export ROOTHDD="${HDD}2" + export FORMAT_FILESYSTEM_BOOTHDD="${FORMAT_FILESYSTEM}" + export FORMAT_FILESYSTEM_ROOTHDD="f2fs" export INSTALL_METHOD="${method}" ;; *)