Magellan Linux

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

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

revision 2427 by niro, Tue Jan 7 14:09:01 2014 UTC revision 2438 by niro, Tue Jan 7 14:30:19 2014 UTC
# Line 27  for inc in %SYSCONFDIR%/installer.conf \ Line 27  for inc in %SYSCONFDIR%/installer.conf \
27   ${INSTALLER_LIBDIR}/functions/common.sh \   ${INSTALLER_LIBDIR}/functions/common.sh \
28   ${INSTALLER_LIBDIR}/functions/common-dialogs.sh \   ${INSTALLER_LIBDIR}/functions/common-dialogs.sh \
29   ${INSTALLER_LIBDIR}/functions/hwdetection.sh \   ${INSTALLER_LIBDIR}/functions/hwdetection.sh \
30     ${INSTALLER_LIBDIR}/functions/bootloader.sh \
31     ${INSTALLER_LIBDIR}/functions/initrd-tools.sh \
32   ${INSTALLER_LIBDIR}/functions/installer-dialogs.sh   ${INSTALLER_LIBDIR}/functions/installer-dialogs.sh
33  do  do
34   if [ -e ${inc} ]   if [ -e ${inc} ]
# Line 231  dialog_setup_hdd_partitions_auto() Line 233  dialog_setup_hdd_partitions_auto()
233   fi   fi
234  }  }
235    
 run_hardware_detection_disks()  
 {  
  local bootdev  
   
  # all disks but exclude ramdisks  
  export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d')  
  # remove the boot device from ALL_DISKS if it was an usbstick  
  if [[ $(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]]  
  then  
  bootdev="$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g')"  
  export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}")  
  fi  
  export ALL_CDROMS="$(get_hwinfo cdrom)"  
 }  
   
236  install_meter()  install_meter()
237  {  {
238   while [[ ${CURRENTLINE} != ${TOTALLINES} ]]   while [[ ${CURRENTLINE} != ${TOTALLINES} ]]
# Line 294  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 345  run_hardware_detection() Line 333  run_hardware_detection()
333   fi   fi
334  }  }
335    
336    run_hardware_detection_disks()
337    {
338     local bootdev
339    
340     # all disks but exclude ramdisks
341     export ALL_DISKS=$(get_hwinfo disk | sed '/\/dev\/ram[0-9].*/d')
342     # remove the boot device from ALL_DISKS if it was an usbstick
343     if [[ $(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f3) != iso9660 ]]
344     then
345     bootdev="$(grep '[[:space:]]/mnt/cdrom[[:space:]]' /proc/mounts | cut -d' ' -f1 | sed 's:[0-9]::g')"
346     export ALL_DISKS=$(echo "${ALL_DISKS}" | grep -v "${bootdev}")
347     fi
348     export ALL_CDROMS="$(get_hwinfo cdrom)"
349    }
350    
351  hdd_size_below_256mb()  hdd_size_below_256mb()
352  {  {
353   local hdd="$1"   local hdd="$1"
# Line 367  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 428  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 551  exit 0 Line 569  exit 0
569  CHROOTEOF  CHROOTEOF
570   fi   fi
571    
572   ## enter chroot   # run installrc
573   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  
574   rm ${INSTALLROOT}/root/.installrc   rm ${INSTALLROOT}/root/.installrc
575  }  }
576    
# Line 611  mkinitrd -f /boot/$(readlink /boot/initr Line 623  mkinitrd -f /boot/$(readlink /boot/initr
623  exit 0  exit 0
624  CHROOTEOF  CHROOTEOF
625    
626   ## enters chroot   # run installrc
627   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  
628   rm ${INSTALLROOT}/root/.installrc   rm ${INSTALLROOT}/root/.installrc
629  }  }
630    
# Line 636  is_uuid_supported() Line 642  is_uuid_supported()
642   return 1   return 1
643  }  }
644    
 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}"  
 }  
   
645  install_system_settings()  install_system_settings()
646  {  {
647   # schreibe fstab   # schreibe fstab
# Line 688  install_system_settings() Line 675  install_system_settings()
675    
676  install_umount_rootfs()  install_umount_rootfs()
677  {  {
678   cd /   is_mounted --location ${INSTALLROOT}/boot && umount ${INSTALLROOT}/boot
679   umount ${INSTALLROOT}/boot || dialog_die   is_mounted --location ${INSTALLROOT} && umount ${INSTALLROOT}
  umount ${INSTALLROOT} || dialog_die  
680  }  }
681    
682  install_do_reboot()  install_do_reboot()

Legend:
Removed from v.2427  
changed lines
  Added in v.2438