--- trunk/installer-simple/bin/installer.sh.in 2014/01/03 14:07:34 2335 +++ trunk/installer-simple/bin/installer.sh.in 2014/01/03 14:09:34 2336 @@ -62,6 +62,12 @@ die() { + echo "Error: $@" + exit 1 +} + +dialog_die() +{ ERROR=$1 RETVAL=$? dialog_install_failure @@ -513,7 +519,7 @@ local hdd="$1" local size local retval - [[ -z ${hdd} ]] && die "Error: get_hdd_size() no \$hdd given!" + [[ -z ${hdd} ]] && dialog_die "Error: get_hdd_size() no \$hdd given!" size=$(fdisk -l ${hdd} | grep "Disk.*${hdd}" | sed 's:.*,\ \(.*\)\ byte.*:\1:') if [[ ${size} -le 257000000 ]] @@ -542,7 +548,7 @@ fi ## delete disk - dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die + dd if=/dev/zero of=${HDD} count=1 &> /dev/null || dialog_die if [[ ${FDISKPARTIONBELOW256MB} = 1 ]] then @@ -595,7 +601,7 @@ ROOTHDD="${HDD}3" ## hdds partitionieren manuell - cfdisk ${HDD} || die + cfdisk ${HDD} || dialog_die } setup_hdd_partitions_manuell_flash() @@ -603,35 +609,35 @@ ROOTHDD="${HDD}1" ## hdds partitionieren manuell - cfdisk ${HDD} || die + cfdisk ${HDD} || dialog_die } setup_hdd_format() { - mkswap ${SWAPHDD} || die - mke2fs -j -q ${BOOTHDD} || die - mke2fs -j -q ${ROOTHDD} || die + mkswap ${SWAPHDD} || dialog_die + mke2fs -j -q ${BOOTHDD} || dialog_die + mke2fs -j -q ${ROOTHDD} || dialog_die } setup_hdd_format_flash() { - mke2fs -j -q ${ROOTHDD} || die + mke2fs -j -q ${ROOTHDD} || dialog_die } install_mount_rootfs() { - swapon ${SWAPHDD} || die - mount ${ROOTHDD} ${INSTALLPATH} || die - install -d ${INSTALLPATH}/boot || die - mount ${BOOTHDD} ${INSTALLPATH}/boot || die - cd ${INSTALLPATH} || die + swapon ${SWAPHDD} || dialog_die + mount ${ROOTHDD} ${INSTALLPATH} || dialog_die + install -d ${INSTALLPATH}/boot || dialog_die + mount ${BOOTHDD} ${INSTALLPATH}/boot || dialog_die + cd ${INSTALLPATH} || dialog_die } install_mount_rootfs_flash() { - mount ${ROOTHDD} ${INSTALLPATH} || die - install -d ${INSTALLPATH}/boot || die - cd ${INSTALLPATH} || die + mount ${ROOTHDD} ${INSTALLPATH} || dialog_die + install -d ${INSTALLPATH}/boot || dialog_die + cd ${INSTALLPATH} || dialog_die } install_system_image() @@ -651,20 +657,20 @@ # needed by grub-mkconfig on the first run if [[ ! -f ${INSTALLPATH}/boot/grub/video.lst ]] then - install -m0644 ${INSTALLPATH}/lib/grub/*/video.lst ${INSTALLPATH}/boot/grub/video.lst || die + install -m0644 ${INSTALLPATH}/lib/grub/*/video.lst ${INSTALLPATH}/boot/grub/video.lst || dialog_die fi # set kernelopts if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]] then - sed -i "s:^\(export GRUB_CMDLINE_LINUX_DEFAULT=\).*:\1\"${KERNELOPTS}\":" ${INSTALLPATH}/etc/conf.d/grub || die + sed -i "s:^\(export GRUB_CMDLINE_LINUX_DEFAULT=\).*:\1\"${KERNELOPTS}\":" ${INSTALLPATH}/etc/conf.d/grub || dialog_die else - echo "export GRUB_CMDLINE_LINUX_DEFAULT=\"${KERNELOPTS}\"" > ${INSTALLPATH}/etc/conf.d/grub || die + echo "export GRUB_CMDLINE_LINUX_DEFAULT=\"${KERNELOPTS}\"" > ${INSTALLPATH}/etc/conf.d/grub || dialog_die fi - echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || die - echo "LC_ALL=C grub-mkconfig -o ${grub2conf} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die - echo "grub-install --no-floppy ${HDD} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die - echo "exit 0" >> ${INSTALLPATH}/root/.installrc || die + echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || dialog_die + echo "LC_ALL=C grub-mkconfig -o ${grub2conf} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || dialog_die + echo "grub-install --no-floppy ${HDD} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || dialog_die + echo "exit 0" >> ${INSTALLPATH}/root/.installrc || dialog_die # grub-legacy else @@ -692,41 +698,41 @@ my_roothdd="${ROOTHDD}" fi - : > ${grubconf} || die - echo "default 0" >> ${grubconf} || die - echo "timeout 3" >> ${grubconf} || die + : > ${grubconf} || dialog_die + echo "default 0" >> ${grubconf} || dialog_die + echo "timeout 3" >> ${grubconf} || dialog_die # using current root password - echo "password --md5 $(cat ${INSTALLPATH}/etc/shadow | grep root | cut -d: -f2)" >> ${grubconf} || die + echo "password --md5 $(cat ${INSTALLPATH}/etc/shadow | grep root | cut -d: -f2)" >> ${grubconf} || dialog_die - echo >> ${grubconf} || die - echo "# normal boot" >> ${grubconf} || die - echo "title ${KRNVER}" >> ${grubconf} || die - echo "root (hd0,0)" >> ${grubconf} || die - echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || die + echo >> ${grubconf} || dialog_die + echo "# normal boot" >> ${grubconf} || dialog_die + echo "title ${KRNVER}" >> ${grubconf} || dialog_die + echo "root (hd0,0)" >> ${grubconf} || dialog_die + echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || dialog_die if is_initrd_supported then - echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die + echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die fi - echo >> ${grubconf} || die - echo "# admin boot" >> ${grubconf} || die - echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || die - echo "lock" >> ${grubconf} || die - echo "root (hd0,0)" >> ${grubconf} || die - echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} hardware-auto-detection" >> ${grubconf} || die + echo >> ${grubconf} || dialog_die + echo "# admin boot" >> ${grubconf} || dialog_die + echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || dialog_die + echo "lock" >> ${grubconf} || dialog_die + echo "root (hd0,0)" >> ${grubconf} || dialog_die + echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} hardware-auto-detection" >> ${grubconf} || dialog_die if is_initrd_supported then - echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die + echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die fi - echo >> ${grubconf} || die - echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || die - echo "lock" >> ${grubconf} || die - echo "root (hd0,0)" >> ${grubconf} || die - echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} alx-reset-settings" >> ${grubconf} || die + echo >> ${grubconf} || dialog_die + echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || dialog_die + echo "lock" >> ${grubconf} || dialog_die + echo "root (hd0,0)" >> ${grubconf} || dialog_die + echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} alx-reset-settings" >> ${grubconf} || dialog_die if is_initrd_supported then - echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die + echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die fi # bootsector schreiben chrooted schreiben (lfs/magellan) @@ -740,7 +746,7 @@ CHROOTEOF fi - ## enters chroot + ## enter chroot mount -t proc proc ${INSTALLPATH}/proc mount -t sysfs sysfs ${INSTALLPATH}/sys mount -o bind /dev ${INSTALLPATH}/dev @@ -785,14 +791,14 @@ fi # install an appropriate uvesafb.conf - install -d ${INSTALLPATH}/etc/modprobe.d || die - echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > ${INSTALLPATH}/etc/modprobe.d/uvesafb.conf || die + install -d ${INSTALLPATH}/etc/modprobe.d || dialog_die + echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > ${INSTALLPATH}/etc/modprobe.d/uvesafb.conf || dialog_die # install an appropriate viafb.conf - echo "options viafb viafb_mode=1024x768 viafb_refresh=60" > ${INSTALLPATH}/etc/modprobe.d/viafb.conf || die + echo "options viafb viafb_mode=1024x768 viafb_refresh=60" > ${INSTALLPATH}/etc/modprobe.d/viafb.conf || dialog_die # install an appropriate i810fb.conf - 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 + 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 || dialog_die cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF echo "MODULES=\"${FORMAT_FILESYSTEM} ${DISKMODS} ${OLDATAMODS} ${PATAMODS} ${SATAMODS} ${DRMMODS} ${FBMODS} ${OTHERMODS}\"" > /etc/conf.d/mkinitrd @@ -832,7 +838,7 @@ local TYPE local dev="$1" - [[ -z ${dev} ]] && die "no dev given" + [[ -z ${dev} ]] && dialog_die "no dev given" # check if given device is already an UUID if [[ ${dev/UUID=/}x != ${dev}x ]] @@ -849,19 +855,19 @@ # schreibe fstab if is_uuid_supported then - echo -e "UUID=$(get_uuid ${BOOTHDD})\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die - echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die + echo -e "UUID=$(get_uuid ${BOOTHDD})\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || dialog_die + echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die else - echo -e "${BOOTHDD}\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die - echo -e "${ROOTHDD}\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || die + echo -e "${BOOTHDD}\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || dialog_die + echo -e "${ROOTHDD}\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die fi # not needed busybox loads all with swapon -a, even if not mentioned in fstab - #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || die - echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die - echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die + #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die + echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die + echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die # install network config skeleton - install -m0644 ${INSTALLPATH}/etc/alxconfig-ng/skel/net/net.eth0 ${INSTALLPATH}/etc/conf.d/ || die + install -m0644 ${INSTALLPATH}/etc/alxconfig-ng/skel/net/net.eth0 ${INSTALLPATH}/etc/conf.d/ || dialog_die # intel framebufer quirk if [[ -e /proc/fb ]] @@ -871,7 +877,7 @@ fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:') if [[ ${fbdev} != 0 ]] then - sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${INSTALLPATH}/etc/splash/splash.conf || die + sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${INSTALLPATH}/etc/splash/splash.conf || dialog_die fi fi fi @@ -882,26 +888,26 @@ # schreibe fstab if is_uuid_supported then - echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || die + echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || dialog_die else - echo -e "${ROOTHDD}\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || die + echo -e "${ROOTHDD}\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" > ${INSTALLPATH}/etc/fstab || dialog_die fi - echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die - echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die + echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die + echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die } install_umount_rootfs() { cd / - umount ${INSTALLPATH}/boot || die - umount ${INSTALLPATH} || die - swapoff ${SWAPHDD} || die + umount ${INSTALLPATH}/boot || dialog_die + umount ${INSTALLPATH} || dialog_die + swapoff ${SWAPHDD} || dialog_die } install_umount_rootfs_flash() { cd / - umount ${INSTALLPATH} || die + umount ${INSTALLPATH} || dialog_die } install_do_reboot()