Magellan Linux

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

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

revision 2947 by niro, Mon Jun 13 12:29:59 2016 UTC revision 2948 by niro, Mon Jun 13 15:03:52 2016 UTC
# Line 290  run_hardware_detection_disks() Line 290  run_hardware_detection_disks()
290   export ALL_CDROMS="$(get_hwinfo cdrom)"   export ALL_CDROMS="$(get_hwinfo cdrom)"
291  }  }
292    
293    auto_partition_clear_disk()
294    {
295     if [ -e ${HDD} ]
296     then
297     dd if=/dev/zero of=${HDD} count=1 &> /dev/null || dialog_die
298     else
299     echo "clear disk: device ${HDD} does not exist" >&2
300     fi
301    }
302    
303    auto_partition_command()
304    {
305     if [ -e ${HDD} ]
306     then
307     fdisk ${HDD} &> /dev/null << EOF
308    $(echo "${PARTITION_OPTS}")
309    EOF
310     else
311     echo "partition command: device ${HDD} does not exist" >&2
312     fi
313    }
314    
315  setup_hdd_partitions()  setup_hdd_partitions()
316  {  {
317     local partition_number
318     local partition_type
319     local partition_start_sector
320     local partition_size
321    
322   # sanity check - should not happen   # sanity check - should not happen
323   if is_mounted --device "${ROOTHDD}"   if is_mounted --device "${ROOTHDD}"
324   then   then
# Line 321  setup_hdd_partitions() Line 348  setup_hdd_partitions()
348   fi   fi
349    
350   ## delete disk   ## delete disk
351   dd if=/dev/zero of=${HDD} count=1 &> /dev/null || dialog_die   auto_partition_clear_disk
352    
353     # setup partition options
354     export PARTITION_OPTS
355    
356   if [[ ${FLASHDISK} = 1 ]]   if [[ -n ${BOOTHDD} ]]
357   then   then
358     # create a boot disk with 50meg size - bootable
359     partition_type="p"
360     partition_number="1"
361   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]
362   then   then
363   ## setup one bootable partition   # 2= default sector start // small disk needs more space for grub2 mbr sector
364   # 1. n= new disk   partition_start_sector="2"
365   # 2. p= primary disk   else
366   # 3. 1= first partition   # '' use default sector start
367   # 4. 2= default sector start // small disk needs more space for grub2 mbr sector   partition_start_sector=""
368   # 5. ''= defaul sector end   fi
369   # 6. a= bootable flag   # 50meg size
370   # 7. 1= boot flag for partition 1   partition_size="+50M"
  # 8. n= new disk  
  #10. p= primary disk  
  #11. 2= second partition  
  #12. ''= default sector start  
  #13. ''= defaul sector end  
  #14. w= write/quit  
  fdisk ${HDD} &> /dev/null << EOF  
 n  
 p  
 1  
 2  
 +50M  
 a  
 1  
 n  
 p  
 2  
371    
372     # create a boot disk with 50meg size - bootable
373     # n= new disk
374     # p= primary disk
375     # w= write/quit
376     PARTITION_OPTS="n
377    ${partition_type}
378    ${partition_number}
379    ${partition_start_sector}
380    ${partition_size}
381    w"
382     # create the disk
383     auto_partition_command
384    
385     # mark the disk bootable
386     PARTITION_OPTS="a
387    ${partition_number}
388    w"
389     auto_partition_command
390    
391  w   fi
 EOF  
  else  
  ## setup one bootable partition  
  # 1. n= new disk  
  # 2. p= primary disk  
  # 3. 1= first partition  
  # 4. ''= default sector start  
  # 5. ''= defaul sector end  
  # 6. a= bootable flag  
  # 7. 1= boot flag for partition 1  
  # 8. n= new disk  
  #10. p= primary disk  
  #11. 2= second partition  
  #12. ''= default sector start  
  #13. ''= defaul sector end  
  #14. w= write/quit  
  fdisk ${HDD} &> /dev/null << EOF  
 n  
 p  
 1  
   
 +50M  
 a  
 1  
 n  
 p  
 2  
392    
393     if [[ -n ${SWAPHDD} ]]
394     then
395     # p= primary disk
396     partition_type="p"
397     if [[ -n ${BOOTHDD} ]]
398     then
399     # boot disk exist, partition 2
400     partition_number="2"
401     else
402     # boot disk does not exist, partition 1
403     partition_number="1"
404     fi
405     if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]
406     then
407     # fake sector 2 and fdisk finds the next free sector which must be selected with enter
408     partition_start_sector="2
409    "
410     else
411     # '' use default sector start
412     partition_start_sector=""
413     fi
414     partition_start_sector=""
415     # +2G disk size
416     partition_size="+2G"
417    
418     # create a swap disk with 2GB size
419     PARTITION_OPTS="n
420    ${partition_type}
421    ${partition_number}
422    ${partition_start_sector}
423    ${partition_size}
424    w"
425     # create the disk
426     auto_partition_command
427    
428     # mark disk as swap space
429     PARTITION_OPTS="
430    t"
431     if [[ ${partition_number} != 1 ]]
432     then
433     PARTITION_OPTS+="
434    ${partition_number}"
435     fi
436     PARTITION_OPTS+="
437    82
438    w"
439     auto_partition_command
440     fi
441    
442  w   if [[ -n ${ROOTHDD} ]]
443  EOF   then
444     # p= primary disk
445     partition_type="p"
446     if [[ -z ${BOOTHDD} ]] && [[ -z ${SWAPHDD} ]]
447     then
448     # boot and swap disk does not exist, partition 1
449     partition_number="1"
450     fi
451     if [[ -n ${BOOTHDD} ]] || [[ -n ${SWAPHDD} ]]
452     then
453     # boot or swap disk exist, partition 2
454     partition_number="2"
455     fi
456     if [[ -n ${BOOTHDD} ]] && [[ -n ${SWAPHDD} ]]
457     then
458     # boot and swap disk does exist, partition 3
459     partition_number="3"
460   fi   fi
  else  
461   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]   if [[ ${FDISKPARTIONBELOW256MB} = 1 ]]
462   then   then
463   ## setup one bootable partition   if [[ -z ${BOOTHDD} ]]
464   #1. n= new disk   then
465   #2. p= primary disk   # 2= default sector start // small disk needs more space for grub2 mbr sector
466   #3. 1= first partition   partition_start_sector="2"
467   #4. 2= default sector start // small disk needs more space for grub2 mbr sector   else
468   #5. ''= defaul sector end   # fake sector 2 and fdisk finds the next free sector which must be selected with enter
469   #6. a= bootable flag   partition_start_sector="2
470   #7. 1= boot flag for partition 1  "
471   #8. w= write/quit   fi
  fdisk ${HDD} &> /dev/null << EOF  
 n  
 p  
 1  
 2  
   
 a  
 1  
 w  
 EOF  
472   else   else
473   ## setup one bootable partition   # '' use default sector start
474   #1. n= new disk   partition_start_sector=""
475   #2. p= primary disk   fi
476   #3. 1= first partition   # '' default sector end
477   #4. ''= default sector start   partition_size=""
478   #5. ''= defaul sector end  
479   #6. a= bootable flag   # create system disk with remaining space
480   #7. 1= boot flag for partition 1   # w= write/quit
481   #8. w= write/quit   PARTITION_OPTS="n
482   fdisk ${HDD} &> /dev/null << EOF  ${partition_type}
483  n  ${partition_number}
484  p  ${partition_start_sector}
485  1  ${partition_size}
486    w"
487     # create the disk
488  a   auto_partition_command
489  1  
490  w   # no boot disk? then this is the boot disk
491  EOF   if [[ -z ${BOOTHDD} ]]
492     then
493     # mark the disk bootable
494     PARTITION_OPTS="a
495    ${partition_number}
496    w"
497     auto_partition_command
498   fi   fi
499   fi   fi
500   else   else

Legend:
Removed from v.2947  
changed lines
  Added in v.2948