Magellan Linux

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

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

revision 2332 by niro, Fri Jan 3 13:58:23 2014 UTC revision 2339 by niro, Fri Jan 3 14:20:42 2014 UTC
# Line 7  Line 7 
7  # Niels Rogalla <niro@magellan-linux.de>  # Niels Rogalla <niro@magellan-linux.de>
8  #  #
9    
10  source %SYSCONFDIR%/installer.conf  # ignore the environment
11    LC_ALL=C
12    
13    INSTALLER_LIBDIR="%LIBDIR%"
14    
15    # configuration
16    if [ -e %SYSCONFDIR%/installer.conf ]
17    then
18     source %SYSCONFDIR%/installer.conf
19    else
20     die "/etc/installer.conf not found"
21    fi
22    
23  #images: (get ${CDIMAGENAME})  #images: (get ${CDIMAGENAME})
24  source /mnt/cdrom/system/images.conf  if [ -e /mnt/cdrom/system/images.conf ]
25    then
26     source /mnt/cdrom/system/images.conf
27    else
28     die "/mnt/cdrom/system/images.conf not found"
29    fi
30    
31  #Includes  # includes
32  source /usr/lib/installer/functions/findhdd.sh > /dev/null  source ${INSTALLER_LIBDIR}/functions/hwdetection.sh
 ### bugfix ###############################  
 cdromdev="$(echo ${cdromdev} | sed 's/ //')"  
 ########################################  
33    
34  ### System/Config Version  ### System/Config Version
35  VERSION="%VERSIONTAG%"  VERSION="%VERSIONTAG%"
# Line 52  FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM} Line 65  FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM}
65    
66  die()  die()
67  {  {
68     echo "Error: $@"
69     exit 1
70    }
71    
72    dialog_die()
73    {
74   ERROR=$1   ERROR=$1
75   RETVAL=$?   RETVAL=$?
76   dialog_install_failure   dialog_install_failure
# Line 503  hdd_size_below_256mb() Line 522  hdd_size_below_256mb()
522   local hdd="$1"   local hdd="$1"
523   local size   local size
524   local retval   local retval
525   [[ -z ${hdd} ]] && die "Error: get_hdd_size() no \$hdd given!"   [[ -z ${hdd} ]] && dialog_die "Error: get_hdd_size() no \$hdd given!"
526    
527   size=$(fdisk -l ${hdd} | grep "Disk.*${hdd}" | sed 's:.*,\ \(.*\)\ byte.*:\1:')   size=$(fdisk -l ${hdd} | grep "Disk.*${hdd}" | sed 's:.*,\ \(.*\)\ byte.*:\1:')
528   if [[ ${size} -le 257000000 ]]   if [[ ${size} -le 257000000 ]]
# Line 532  setup_hdd_partitions_auto() Line 551  setup_hdd_partitions_auto()
551   fi   fi
552    
553   ## delete disk   ## delete disk
554   dd if=/dev/zero of=${HDD} count=1 &> /dev/null || die   dd if=/dev/zero of=${HDD} count=1 &> /dev/null || dialog_die
555    
556   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]
557   then   then
# Line 585  setup_hdd_partitions_manuell() Line 604  setup_hdd_partitions_manuell()
604   ROOTHDD="${HDD}3"   ROOTHDD="${HDD}3"
605    
606   ## hdds partitionieren manuell   ## hdds partitionieren manuell
607   cfdisk ${HDD} || die   cfdisk ${HDD} || dialog_die
608  }  }
609    
610  setup_hdd_partitions_manuell_flash()  setup_hdd_partitions_manuell_flash()
# Line 593  setup_hdd_partitions_manuell_flash() Line 612  setup_hdd_partitions_manuell_flash()
612   ROOTHDD="${HDD}1"   ROOTHDD="${HDD}1"
613    
614   ## hdds partitionieren manuell   ## hdds partitionieren manuell
615   cfdisk ${HDD} || die   cfdisk ${HDD} || dialog_die
616  }  }
617    
618  setup_hdd_format()  setup_hdd_format()
619  {  {
620   mkswap ${SWAPHDD} || die   mkswap ${SWAPHDD} || dialog_die
621   mke2fs -j -q ${BOOTHDD} || die   mke2fs -j -q ${BOOTHDD} || dialog_die
622   mke2fs -j -q ${ROOTHDD} || die   mke2fs -j -q ${ROOTHDD} || dialog_die
623  }  }
624    
625  setup_hdd_format_flash()  setup_hdd_format_flash()
626  {  {
627   mke2fs -j -q ${ROOTHDD} || die   mke2fs -j -q ${ROOTHDD} || dialog_die
628  }  }
629    
630  install_mount_rootfs()  install_mount_rootfs()
631  {  {
632   swapon ${SWAPHDD} || die   swapon ${SWAPHDD} || dialog_die
633   mount ${ROOTHDD} ${INSTALLPATH} || die   mount ${ROOTHDD} ${INSTALLPATH} || dialog_die
634   install -d ${INSTALLPATH}/boot || die   install -d ${INSTALLPATH}/boot || dialog_die
635   mount ${BOOTHDD} ${INSTALLPATH}/boot || die   mount ${BOOTHDD} ${INSTALLPATH}/boot || dialog_die
636   cd ${INSTALLPATH} || die   cd ${INSTALLPATH} || dialog_die
637  }  }
638    
639  install_mount_rootfs_flash()  install_mount_rootfs_flash()
640  {  {
641   mount ${ROOTHDD} ${INSTALLPATH} || die   mount ${ROOTHDD} ${INSTALLPATH} || dialog_die
642   install -d ${INSTALLPATH}/boot || die   install -d ${INSTALLPATH}/boot || dialog_die
643   cd ${INSTALLPATH} || die   cd ${INSTALLPATH} || dialog_die
644  }  }
645    
646  install_system_image()  install_system_image()
# Line 641  install_bootsector_chroot() Line 660  install_bootsector_chroot()
660   # needed by grub-mkconfig on the first run   # needed by grub-mkconfig on the first run
661   if [[ ! -f ${INSTALLPATH}/boot/grub/video.lst ]]   if [[ ! -f ${INSTALLPATH}/boot/grub/video.lst ]]
662   then   then
663   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
664   fi   fi
665    
666   # set kernelopts   # set kernelopts
667   if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]]   if [[ -f ${INSTALLPATH}/etc/conf.d/grub ]]
668   then   then
669   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
670   else   else
671   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
672   fi   fi
673   echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || die   echo 'grub-mkdevicemap' > ${INSTALLPATH}/root/.installrc || dialog_die
674   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
675   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
676   echo "exit 0" >> ${INSTALLPATH}/root/.installrc || die   echo "exit 0" >> ${INSTALLPATH}/root/.installrc || dialog_die
677    
678   # grub-legacy   # grub-legacy
679   else   else
# Line 682  install_bootsector_chroot() Line 701  install_bootsector_chroot()
701   my_roothdd="${ROOTHDD}"   my_roothdd="${ROOTHDD}"
702   fi   fi
703    
704   : > ${grubconf} || die   : > ${grubconf} || dialog_die
705   echo "default 0" >> ${grubconf} || die   echo "default 0" >> ${grubconf} || dialog_die
706   echo "timeout 3" >> ${grubconf} || die   echo "timeout 3" >> ${grubconf} || dialog_die
707   # using current root password   # using current root password
708   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
709    
710   echo  >> ${grubconf} || die   echo  >> ${grubconf} || dialog_die
711   echo "# normal boot" >> ${grubconf} || die   echo "# normal boot" >> ${grubconf} || dialog_die
712   echo "title ${KRNVER}" >> ${grubconf} || die   echo "title ${KRNVER}" >> ${grubconf} || dialog_die
713   echo "root (hd0,0)" >> ${grubconf} || die   echo "root (hd0,0)" >> ${grubconf} || dialog_die
714   echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || die   echo "kernel /boot/${KRNIMG} root=${my_roothdd} ${KERNELOPTS} ${GRUBLEGACYOPTS}" >> ${grubconf} || dialog_die
715   if is_initrd_supported   if is_initrd_supported
716   then   then
717   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die
718   fi   fi
719    
720   echo >> ${grubconf} || die   echo >> ${grubconf} || dialog_die
721   echo "# admin boot" >> ${grubconf} || die   echo "# admin boot" >> ${grubconf} || dialog_die
722   echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || die   echo "title ${KRNVER} - Re-run hardware-detection" >> ${grubconf} || dialog_die
723   echo "lock"  >> ${grubconf} || die   echo "lock"  >> ${grubconf} || dialog_die
724   echo "root (hd0,0)" >> ${grubconf} || die   echo "root (hd0,0)" >> ${grubconf} || dialog_die
725   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
726   if is_initrd_supported   if is_initrd_supported
727   then   then
728   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die
729   fi   fi
730    
731   echo >> ${grubconf} || die   echo >> ${grubconf} || dialog_die
732   echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || die   echo "title ${KRNVER} - Reset *all* local settings" >> ${grubconf} || dialog_die
733   echo "lock"  >> ${grubconf} || die   echo "lock"  >> ${grubconf} || dialog_die
734   echo "root (hd0,0)" >> ${grubconf} || die   echo "root (hd0,0)" >> ${grubconf} || dialog_die
735   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
736   if is_initrd_supported   if is_initrd_supported
737   then   then
738   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || die   echo "initrd /boot/${KRNINITRD}" >> ${grubconf} || dialog_die
739   fi   fi
740    
741   # bootsector schreiben chrooted schreiben (lfs/magellan)   # bootsector schreiben chrooted schreiben (lfs/magellan)
# Line 730  exit 0 Line 749  exit 0
749  CHROOTEOF  CHROOTEOF
750   fi   fi
751    
752   ## enters chroot   ## enter chroot
753   mount -t proc proc ${INSTALLPATH}/proc   mount -t proc proc ${INSTALLPATH}/proc
754   mount -t sysfs sysfs ${INSTALLPATH}/sys   mount -t sysfs sysfs ${INSTALLPATH}/sys
755   mount -o bind /dev ${INSTALLPATH}/dev   mount -o bind /dev ${INSTALLPATH}/dev
# Line 775  install_initrd_chroot() Line 794  install_initrd_chroot()
794   fi   fi
795    
796   # install an appropriate uvesafb.conf   # install an appropriate uvesafb.conf
797   install -d ${INSTALLPATH}/etc/modprobe.d || die   install -d ${INSTALLPATH}/etc/modprobe.d || dialog_die
798   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
799    
800   # install an appropriate viafb.conf   # install an appropriate viafb.conf
801   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
802    
803   # install an appropriate i810fb.conf   # install an appropriate i810fb.conf
804   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
805    
806   cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF   cat > ${INSTALLPATH}/root/.installrc << CHROOTEOF
807  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 822  get_uuid() Line 841  get_uuid()
841   local TYPE   local TYPE
842    
843   local dev="$1"   local dev="$1"
844   [[ -z ${dev} ]] && die "no dev given"   [[ -z ${dev} ]] && dialog_die "no dev given"
845    
846   # check if given device is already an UUID   # check if given device is already an UUID
847   if [[ ${dev/UUID=/}x != ${dev}x ]]   if [[ ${dev/UUID=/}x != ${dev}x ]]
# Line 839  install_system_settings() Line 858  install_system_settings()
858   # schreibe fstab   # schreibe fstab
859   if is_uuid_supported   if is_uuid_supported
860   then   then
861   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
862   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
863   else   else
864   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
865   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
866   fi   fi
867   # 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
868   #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
869   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
870   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
871    
872   # install network config skeleton   # install network config skeleton
873   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
874    
875   # intel framebufer quirk   # intel framebufer quirk
876   if [[ -e /proc/fb ]]   if [[ -e /proc/fb ]]
# Line 861  install_system_settings() Line 880  install_system_settings()
880   fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:')   fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:')
881   if [[ ${fbdev} != 0 ]]   if [[ ${fbdev} != 0 ]]
882   then   then
883   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
884   fi   fi
885   fi   fi
886   fi   fi
# Line 872  install_system_settings_flash() Line 891  install_system_settings_flash()
891   # schreibe fstab   # schreibe fstab
892   if is_uuid_supported   if is_uuid_supported
893   then   then
894   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
895   else   else
896   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
897   fi   fi
898   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
899   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
900  }  }
901    
902  install_umount_rootfs()  install_umount_rootfs()
903  {  {
904   cd /   cd /
905   umount ${INSTALLPATH}/boot || die   umount ${INSTALLPATH}/boot || dialog_die
906   umount ${INSTALLPATH} || die   umount ${INSTALLPATH} || dialog_die
907   swapoff ${SWAPHDD} || die   swapoff ${SWAPHDD} || dialog_die
908  }  }
909    
910  install_umount_rootfs_flash()  install_umount_rootfs_flash()
911  {  {
912   cd /   cd /
913   umount ${INSTALLPATH} || die   umount ${INSTALLPATH} || dialog_die
914  }  }
915    
916  install_do_reboot()  install_do_reboot()

Legend:
Removed from v.2332  
changed lines
  Added in v.2339