Magellan Linux

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

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

revision 2429 by niro, Tue Jan 7 14:13:11 2014 UTC revision 2442 by niro, Tue Jan 7 14:48:42 2014 UTC
# Line 281  run_hardware_detection() Line 281  run_hardware_detection()
281    
282   hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)"   hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)"
283    
284   # check for special devices/clients:   ## check for special devices/clients:
285   # if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd   ## if zotac a zotac and the disk is a removeable device, then add rootdelay to kernelcmd
286   local removable=0   #local removable=0
287   if [[ ! -z $(echo "${hwinfo}" | grep -i zotac) ]]   #if [[ ! -z $(echo "${hwinfo}" | grep -i zotac) ]]
288   then   #then
289   for i in /sys/block/[hs]d*/removable   #for i in /sys/block/[hs]d*/removable
290   do   #do
291   if [[ $(< ${i}) = 1 ]]   #if [[ $(< ${i}) = 1 ]]
292   then   #then
293   removable=1   #removable=1
294   fi   #fi
295   done   #done
296     ## smartcard = udevadm info -n /dev/sda -a | grep -i 'configuration.*card'
297   # only add this for grub legacy, grub2 detect these settings on its own  
298   export GRUBLEGACYOPTS="rootdelay=8"   ## only add this for grub legacy, grub2 detect these settings on its own
299   # there are to zotac types in the wild, nvidia based gfx and intel   #export GRUBLEGACYOPTS="rootdelay=8"
300   if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]]   ## there are to zotac types in the wild, nvidia based gfx and intel
301   then   #if [[ ! -z $(echo "${hwinfo}" | grep -i nouveau) ]]
302   export SPECIALDEVICE="zotac_nvidia"   #then
303   else   #export SPECIALDEVICE="zotac_nvidia"
304   export SPECIALDEVICE="zotac_intel"   #else
305   fi   #export SPECIALDEVICE="zotac_intel"
306   fi   #fi
307     #fi
308    
309   # check for special devices/clients:   # check for special devices/clients:
310   # if a rangee and disk ist smaller then 256mb move partion one block further ahead   # if a rangee and disk ist smaller then 256mb move partion one block further ahead
# Line 369  setup_hdd_partitions_auto() Line 370  setup_hdd_partitions_auto()
370  {  {
371   ROOTHDD="${HDD}1"   ROOTHDD="${HDD}1"
372    
373     # sanity check - should not happen
374     if is_mounted --device "${ROOTHDD}"
375     then
376     echo "partition: device ${ROOTHDD} is already mounted, umount it" >&2
377     umount "${ROOTHDD}"
378     fi
379    
380   # run this only if FDISKPARTITIONBELOW256MB is not already 1   # run this only if FDISKPARTITIONBELOW256MB is not already 1
381   if [[ ${FDISKPARTIONBELOW256MB} != 1 ]]   if [[ ${FDISKPARTIONBELOW256MB} != 1 ]]
382   then   then
# Line 430  EOF Line 438  EOF
438  setup_hdd_partitions_manual()  setup_hdd_partitions_manual()
439  {  {
440   ROOTHDD="${HDD}1"   ROOTHDD="${HDD}1"
441     SWAPHDD=""
442   ## hdds partitionieren manual   BOOTHDD=""
443   cfdisk ${HDD} || dialog_die   cfdisk ${HDD} || dialog_die
444  }  }
445    
446  setup_hdd_format()  setup_hdd_format()
447  {  {
448   mke2fs -j -q ${ROOTHDD} || dialog_die   # sanity check - should not happen
449     if is_mounted --device "${ROOTHDD}"
450     then
451     echo "format: device ${ROOTHDD} is already mounted, umount it" >&2
452     umount "${ROOTHDD}"
453     fi
454    
455     mkfs."${FORMAT_FILESYSTEM}" -q "${ROOTHDD}" || dialog_die
456  }  }
457    
458  install_mount_rootfs()  install_mount_rootfs()
459  {  {
460   mount ${ROOTHDD} ${INSTALLROOT} || dialog_die   is_mounted --location "${INSTALLROOT}" || mount "${ROOTHDD}" "${INSTALLROOT}"
461   install -d ${INSTALLROOT}/boot || dialog_die   install -d ${INSTALLROOT}/boot || dialog_die
  cd ${INSTALLROOT} || dialog_die  
462  }  }
463    
464  install_system_image()  install_system_image()
465  {  {
466     pushd ${INSTALLROOT} > /dev/null
467   tar xvjpf ${CDROOT}/system/${CDIMAGENAME} -C ${INSTALLROOT}   tar xvjpf ${CDROOT}/system/${CDIMAGENAME} -C ${INSTALLROOT}
468     popd > /dev/null
469  }  }
470    
471  install_bootsector_chroot()  install_bootsector_chroot()
# Line 498  install_bootsector_chroot() Line 514  install_bootsector_chroot()
514   [[ -z ${KRNIMG} ]] && KRNIMG="vmlinuz"   [[ -z ${KRNIMG} ]] && KRNIMG="vmlinuz"
515    
516   # uuid support   # uuid support
517   if is_uuid_supported   my_roothdd="UUID=$(get_uuid ${ROOTHDD})"
  then  
  my_roothdd="UUID=$(get_uuid ${ROOTHDD})"  
  else  
  my_roothdd="${ROOTHDD}"  
  fi  
518    
519   : > ${grubconf} || dialog_die   : > ${grubconf} || dialog_die
520   echo "default 0" >> ${grubconf} || dialog_die   echo "default 0" >> ${grubconf} || dialog_die
# Line 553  exit 0 Line 564  exit 0
564  CHROOTEOF  CHROOTEOF
565   fi   fi
566    
567   ## enter chroot   # run installrc
568   mount -t proc proc ${INSTALLROOT}/proc   chrooted /bin/bash --rcfile /root/.installrc -i
  mount -t sysfs sysfs ${INSTALLROOT}/sys  
  mount -o bind /dev ${INSTALLROOT}/dev  
  chroot ${INSTALLROOT} /bin/bash --rcfile /root/.installrc -i  
  umount ${INSTALLROOT}/proc  
  umount ${INSTALLROOT}/sys  
  umount ${INSTALLROOT}/dev  
569   rm ${INSTALLROOT}/root/.installrc   rm ${INSTALLROOT}/root/.installrc
570  }  }
571    
 is_initrd_supported()  
 {  
  # only generate initrds if the cmd exists  
  [[ -x ${INSTALLROOT}/sbin/mkinitrd ]] && return 0  
  return 1  
 }  
   
572  install_initrd_chroot()  install_initrd_chroot()
573  {  {
574   # only generate initrds if the cmd exists   # only generate initrds if the cmd exists
# Line 613  mkinitrd -f /boot/$(readlink /boot/initr Line 611  mkinitrd -f /boot/$(readlink /boot/initr
611  exit 0  exit 0
612  CHROOTEOF  CHROOTEOF
613    
614   ## enters chroot   # run installrc
615   mount -t proc proc ${INSTALLROOT}/proc   chrooted /bin/bash --rcfile /root/.installrc -i
  mount -t sysfs sysfs ${INSTALLROOT}/sys  
  mount -o bind /dev ${INSTALLROOT}/dev  
  chroot ${INSTALLROOT} /bin/bash --rcfile /root/.installrc -i  
  umount ${INSTALLROOT}/proc  
  umount ${INSTALLROOT}/sys  
  umount ${INSTALLROOT}/dev  
616   rm ${INSTALLROOT}/root/.installrc   rm ${INSTALLROOT}/root/.installrc
617  }  }
618    
 is_uuid_supported()  
 {  
  if [[ -x $(type -P busybox.mkinitrd) ]]  
  then  
  # only detect uuids if supported  
  if [[ ! -z $(busybox.mkinitrd | grep blkid) ]]  
  then  
  return 0  
  fi  
  fi  
   
  return 1  
 }  
   
 get_uuid()  
 {  
  local UUID  
  local SEC_TYPE  
  local TYPE  
   
  local dev="$1"  
  [[ -z ${dev} ]] && dialog_die "no dev given"  
   
  # check if given device is already an UUID  
  if [[ ${dev/UUID=/}x != ${dev}x ]]  
  then  
  eval "${dev}"  
  else  
  eval $(busybox.mkinitrd blkid ${dev} | grep "${dev}:" | sed 's/.*:\ //')  
  fi  
  echo "${UUID}"  
 }  
   
619  install_system_settings()  install_system_settings()
620  {  {
621   # schreibe fstab   # schreibe fstab
622   if is_uuid_supported   echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLROOT}/etc/fstab || dialog_die
  then  
  echo -e "UUID=$(get_uuid ${ROOTHDD})\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLROOT}/etc/fstab || dialog_die  
  else  
  echo -e "${ROOTHDD}\t/\t${FORMAT_FILESYSTEM}\tnoatime\t0 0" >> ${INSTALLROOT}/etc/fstab || dialog_die  
  fi  
623   # 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
624   #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLROOT}/etc/fstab || dialog_die   #echo -e "UUID='$(get_uuid ${SWAPHDD})'\tswap\tswap\tpri=1\t0 0" >> ${INSTALLROOT}/etc/fstab || dialog_die
625   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLROOT}/etc/fstab || dialog_die   echo -e "proc\t/proc\tproc\tdefaults\t0 0" >> ${INSTALLROOT}/etc/fstab || dialog_die
# Line 674  install_system_settings() Line 628  install_system_settings()
628   # install network config skeleton   # install network config skeleton
629   install -m0644 ${INSTALLROOT}/etc/alxconfig-ng/skel/net/net.eth0 ${INSTALLROOT}/etc/conf.d/ || dialog_die   install -m0644 ${INSTALLROOT}/etc/alxconfig-ng/skel/net/net.eth0 ${INSTALLROOT}/etc/conf.d/ || dialog_die
630    
631   # intel framebufer quirk   # intel framebuffer quirk
632   if [[ -e /proc/fb ]]   if [ -e ${INSTALLROOT}/etc/splash/splash.conf ]
633   then   then
634   if [[ ! -z $(grep 'inteldrmfb' /proc/fb) ]]   if [ -e /proc/fb ]
635   then   then
636   fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:')   if [[ ! -z $(grep 'inteldrmfb' /proc/fb) ]]
  if [[ ${fbdev} != 0 ]]  
637   then   then
638   sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${INSTALLROOT}/etc/splash/splash.conf || dialog_die   fbdev=$(grep 'inteldrmfb' /proc/fb | sed 's:\([0-9]\).*:\1:')
639     if [[ ${fbdev} != 0 ]]
640     then
641     sed -i "s:^\(SPLASH_DEV=\).*:\1\"/dev/fb${fbdev}\":" ${INSTALLROOT}/etc/splash/splash.conf || dialog_die
642     fi
643   fi   fi
644   fi   fi
645   fi   fi
# Line 690  install_system_settings() Line 647  install_system_settings()
647    
648  install_umount_rootfs()  install_umount_rootfs()
649  {  {
650   cd /   is_mounted --location ${INSTALLROOT}/boot && umount ${INSTALLROOT}/boot
651   umount ${INSTALLROOT}/boot || dialog_die   is_mounted --location ${INSTALLROOT} && umount ${INSTALLROOT}
  umount ${INSTALLROOT} || dialog_die  
652  }  }
653    
654  install_do_reboot()  install_do_reboot()
# Line 717  run_install_normal() Line 673  run_install_normal()
673   dialog_install_settings   dialog_install_settings
674   sleep 1   sleep 1
675   install_system_settings   install_system_settings
676   dialog_install_initrd   if is_initrd_supported
677   install_initrd_chroot   then
678     dialog_install_initrd
679     initrd_config
680     initrd_install
681     fi
682    
683   dialog_install_bootsector   dialog_install_bootsector
684   install_bootsector_chroot   bootloader_config
685     bootloader_install
686    
687   install_umount_rootfs   install_umount_rootfs
688   dialog_install_successful   dialog_install_successful
# Line 740  run_install_auto() Line 701  run_install_auto()
701   dialog_install_settings   dialog_install_settings
702   sleep 1   sleep 1
703   install_system_settings   install_system_settings
704   dialog_install_initrd   if is_initrd_supported
705   install_initrd_chroot   then
706     dialog_install_initrd
707     initrd_config
708     initrd_install
709     fi
710    
711   dialog_install_bootsector   dialog_install_bootsector
712   install_bootsector_chroot   bootloader_config
713     bootloader_install
714    
715   install_umount_rootfs   install_umount_rootfs
716   dialog_install_successful   dialog_install_successful

Legend:
Removed from v.2429  
changed lines
  Added in v.2442