Magellan Linux

Diff of /trunk/installer-simple/bin/installer.sh.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2335 by niro, Fri Jan 3 14:07:34 2014 UTC revision 2336 by niro, Fri Jan 3 14:09:34 2014 UTC
# Line 62  FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM} Line 62  FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM}
62    
63  die()  die()
64  {  {
65     echo "Error: $@"
66     exit 1
67    }
68    
69    dialog_die()
70    {
71   ERROR=$1   ERROR=$1
72   RETVAL=$?   RETVAL=$?
73   dialog_install_failure   dialog_install_failure
# Line 513  hdd_size_below_256mb() Line 519  hdd_size_below_256mb()
519   local hdd="$1"   local hdd="$1"
520   local size   local size
521   local retval   local retval
522   [[ -z ${hdd} ]] && die "Error: get_hdd_size() no \$hdd given!"   [[ -z ${hdd} ]] && dialog_die "Error: get_hdd_size() no \$hdd given!"
523    
524   size=$(fdisk -l ${hdd} | grep "Disk.*${hdd}" | sed 's:.*,\ \(.*\)\ byte.*:\1:')   size=$(fdisk -l ${hdd} | grep "Disk.*${hdd}" | sed 's:.*,\ \(.*\)\ byte.*:\1:')
525   if [[ ${size} -le 257000000 ]]   if [[ ${size} -le 257000000 ]]
# Line 542  setup_hdd_partitions_auto() Line 548  setup_hdd_partitions_auto()
548   fi   fi
549    
550   ## delete disk   ## delete disk
551   dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die   dd if=/dev/zero of=${HDD} count=1 &> /dev/null || dialog_die
552    
553   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]
554   then   then
# Line 595  setup_hdd_partitions_manuell() Line 601  setup_hdd_partitions_manuell()
601   ROOTHDD="${HDD}3"   ROOTHDD="${HDD}3"
602    
603   ## hdds partitionieren manuell   ## hdds partitionieren manuell
604   cfdisk ${HDD} || die   cfdisk ${HDD} || dialog_die
605  }  }
606    
607  setup_hdd_partitions_manuell_flash()  setup_hdd_partitions_manuell_flash()
# Line 603  setup_hdd_partitions_manuell_flash() Line 609  setup_hdd_partitions_manuell_flash()
609   ROOTHDD="${HDD}1"   ROOTHDD="${HDD}1"
610    
611   ## hdds partitionieren manuell   ## hdds partitionieren manuell
612   cfdisk ${HDD} || die   cfdisk ${HDD} || dialog_die
613  }  }
614    
615  setup_hdd_format()  setup_hdd_format()
616  {  {
617   mkswap ${SWAPHDD} || die   mkswap ${SWAPHDD} || dialog_die
618   mke2fs -j -q ${BOOTHDD} || die   mke2fs -j -q ${BOOTHDD} || dialog_die
619   mke2fs -j -q ${ROOTHDD} || die   mke2fs -j -q ${ROOTHDD} || dialog_die
620  }  }
621    
622  setup_hdd_format_flash()  setup_hdd_format_flash()
623  {  {
624   mke2fs -j -q ${ROOTHDD} || die   mke2fs -j -q ${ROOTHDD} || dialog_die
625  }  }
626    
627  install_mount_rootfs()  install_mount_rootfs()
628  {  {
629   swapon ${SWAPHDD} || die   swapon ${SWAPHDD} || dialog_die
630   mount ${ROOTHDD} ${INSTALLPATH} || die   mount ${ROOTHDD} ${INSTALLPATH} || dialog_die
631   install -d ${INSTALLPATH}/boot || die   install -d ${INSTALLPATH}/boot || dialog_die
632   mount ${BOOTHDD} ${INSTALLPATH}/boot || die   mount ${BOOTHDD} ${INSTALLPATH}/boot || dialog_die
633   cd ${INSTALLPATH} || die   cd ${INSTALLPATH} || dialog_die
634  }  }
635    
636  install_mount_rootfs_flash()  install_mount_rootfs_flash()
637  {  {
638   mount ${ROOTHDD} ${INSTALLPATH} || die   mount ${ROOTHDD} ${INSTALLPATH} || dialog_die
639   install -d ${INSTALLPATH}/boot || die   install -d ${INSTALLPATH}/boot || dialog_die
640   cd ${INSTALLPATH} || die   cd ${INSTALLPATH} || dialog_die
641  }  }
642    
643  install_system_image()  install_system_image()
# Line 651  install_bootsector_chroot() Line 657  install_bootsector_chroot()
657   # needed by grub-mkconfig on the first run   # needed by grub-mkconfig on the first run
658   if [[ ! -f ${INSTALLPATH}/boot/grub/video.lst ]]   if [[ ! -f ${INSTALLPATH}/boot/grub/video.lst ]]
659   then   then
660   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
661   fi   fi
662    
663   # set kernelopts   # set kernelopts
664   if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]]   if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]]
665   then   then
666   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
667   else   else
668   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
669   fi   fi
670   echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || die   echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || dialog_die
671   echo "LC_ALL=C grub-mkconfig -o ${grub2conf}  &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die   echo "LC_ALL=C grub-mkconfig -o ${grub2conf}  &> /dev/null" >> ${INSTALLPATH}/root/.installrc || dialog_die
672   echo "grub-install --no-floppy ${HDD} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || die   echo "grub-install --no-floppy ${HDD} &> /dev/null" >> ${INSTALLPATH}/root/.installrc || dialog_die
673   echo "exit 0" >> ${INSTALLPATH}/root/.installrc || die   echo "exit 0" >> ${INSTALLPATH}/root/.installrc || dialog_die
674    
675   # grub-legacy   # grub-legacy
676   else   else
# Line 692  install_bootsector_chroot() Line 698  install_bootsector_chroot()
698   my_roothdd="${ROOTHDD}"   my_roothdd="${ROOTHDD}"
699   fi   fi
700    
701   : > ${grubconf} || die   : > ${grubconf} || dialog_die
702   echo "default 0" >> ${grubconf} || die   echo "default 0" >> ${grubconf} || dialog_die
703   echo "timeout 3" >> ${grubconf} || die   echo "timeout 3" >> ${grubconf} || dialog_die
704   # using current root password   # using current root password
705   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
706    
707   echo  >> ${grubconf} || die   echo  >> ${grubconf} || dialog_die
708   echo "# normal boot" >> ${grubconf} || die   echo "# normal boot" >> ${grubconf} || dialog_die
709   echo "title ${KRNVER}" >> ${grubconf} || die   echo "title ${KRNVER}" >> ${grubconf} || dialog_die
710   echo "root (hd0,0)" >> ${grubconf} || die   echo "root (hd0,0)" >> ${grubconf} || dialog_die
711   echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || die   echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || dialog_die
712   if is_initrd_supported   if is_initrd_supported
713   then   then
714   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die
715   fi   fi
716    
717   echo >> ${grubconf} || die   echo >> ${grubconf} || dialog_die
718   echo "# admin boot" >> ${grubconf} || die   echo "# admin boot" >> ${grubconf} || dialog_die
719   echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || die   echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || dialog_die
720   echo "lock"  >> ${grubconf} || die   echo "lock"  >> ${grubconf} || dialog_die
721   echo "root (hd0,0)" >> ${grubconf} || die   echo "root (hd0,0)" >> ${grubconf} || dialog_die
722   echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} hardware-auto-detection" >> ${grubconf} || die   echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} hardware-auto-detection" >> ${grubconf} || dialog_die
723   if is_initrd_supported   if is_initrd_supported
724   then   then
725   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die
726   fi   fi
727    
728   echo >> ${grubconf} || die   echo >> ${grubconf} || dialog_die
729   echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || die   echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || dialog_die
730   echo "lock"  >> ${grubconf} || die   echo "lock"  >> ${grubconf} || dialog_die
731   echo "root (hd0,0)" >> ${grubconf} || die   echo "root (hd0,0)" >> ${grubconf} || dialog_die
732   echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} alx-reset-settings" >> ${grubconf} || die   echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS} alx-reset-settings" >> ${grubconf} || dialog_die
733   if is_initrd_supported   if is_initrd_supported
734   then   then
735   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die
736   fi   fi
737    
738   # bootsector schreiben chrooted schreiben (lfs/magellan)   # bootsector schreiben chrooted schreiben (lfs/magellan)
# Line 740  exit 0 Line 746  exit 0
746  CHROOTEOF  CHROOTEOF
747   fi   fi
748    
749   ## enters chroot   ## enter chroot
750   mount -t proc proc ${INSTALLPATH}/proc   mount -t proc proc ${INSTALLPATH}/proc
751   mount -t sysfs sysfs ${INSTALLPATH}/sys   mount -t sysfs sysfs ${INSTALLPATH}/sys
752   mount -o bind /dev ${INSTALLPATH}/dev   mount -o bind /dev ${INSTALLPATH}/dev
# Line 785  install_initrd_chroot() Line 791  install_initrd_chroot()
791   fi   fi
792    
793   # install an appropriate uvesafb.conf   # install an appropriate uvesafb.conf
794   install -d ${INSTALLPATH}/etc/modprobe.d || die   install -d ${INSTALLPATH}/etc/modprobe.d || dialog_die
795   echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > ${INSTALLPATH}/etc/modprobe.d/uvesafb.conf || die   echo "options uvesafb mode_option=1024x768-32@60 scroll=ywrap" > ${INSTALLPATH}/etc/modprobe.d/uvesafb.conf || dialog_die
796    
797   # install an appropriate viafb.conf   # install an appropriate viafb.conf
798   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
799    
800   # install an appropriate i810fb.conf   # install an appropriate i810fb.conf
801   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
802    
803   cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF   cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF
804  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
# Line 832  get_uuid() Line 838  get_uuid()
838   local TYPE   local TYPE
839    
840   local dev="$1"   local dev="$1"
841   [[ -z ${dev} ]] && die "no dev given"   [[ -z ${dev} ]] && dialog_die "no dev given"
842    
843   # check if given device is already an UUID   # check if given device is already an UUID
844   if [[ ${dev/UUID=/}x != ${dev}x ]]   if [[ ${dev/UUID=/}x != ${dev}x ]]
# Line 849  install_system_settings() Line 855  install_system_settings()
855   # schreibe fstab   # schreibe fstab
856   if is_uuid_supported   if is_uuid_supported
857   then   then
858   echo -e "UUID=$(get_uuid ${BOOTHDD})\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die   echo -e "UUID=$(get_uuid ${BOOTHDD})\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || dialog_die
859   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
860   else   else
861   echo -e "${BOOTHDD}\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || die   echo -e "${BOOTHDD}\t/boot\t${FORMAT_FILESYSTEM}\tnoatime,noauto\t1 1" > ${INSTALLPATH}/etc/fstab || dialog_die
862   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
863   fi   fi
864   # not needed busybox loads all with swapon -a, even if not mentioned in fstab   # not needed busybox loads all with swapon -a, even if not mentioned in fstab
865   #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || die   #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die
866   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die
867   echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die   echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die
868    
869   # install network config skeleton   # install network config skeleton
870   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
871    
872   # intel framebufer quirk   # intel framebufer quirk
873   if [[ -e /proc/fb ]]   if [[ -e /proc/fb ]]
# Line 871  install_system_settings() Line 877  install_system_settings()
877   fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:')   fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:')
878   if [[ ${fbdev} != 0 ]]   if [[ ${fbdev} != 0 ]]
879   then   then
880   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
881   fi   fi
882   fi   fi
883   fi   fi
# Line 882  install_system_settings_flash() Line 888  install_system_settings_flash()
888   # schreibe fstab   # schreibe fstab
889   if is_uuid_supported   if is_uuid_supported
890   then   then
891   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
892   else   else
893   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
894   fi   fi
895   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die
896   echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || die   echo -e "shm\t/dev/shm\ttmpfs\tdefaults\t0 0" >> ${INSTALLPATH}/etc/fstab || dialog_die
897  }  }
898    
899  install_umount_rootfs()  install_umount_rootfs()
900  {  {
901   cd /   cd /
902   umount ${INSTALLPATH}/boot || die   umount ${INSTALLPATH}/boot || dialog_die
903   umount ${INSTALLPATH} || die   umount ${INSTALLPATH} || dialog_die
904   swapoff ${SWAPHDD} || die   swapoff ${SWAPHDD} || dialog_die
905  }  }
906    
907  install_umount_rootfs_flash()  install_umount_rootfs_flash()
908  {  {
909   cd /   cd /
910   umount ${INSTALLPATH} || die   umount ${INSTALLPATH} || dialog_die
911  }  }
912    
913  install_do_reboot()  install_do_reboot()

Legend:
Removed from v.2335  
changed lines
  Added in v.2336