Guest User

Untitled

a guest
May 25th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. #!/usr/local/bin/zsh
  2.  
  3. BLUE='\e[1;34m'
  4. WHITE='\033[1m'
  5. RED='\e[1;31m'
  6. NC='\e[0m'
  7.  
  8. # Automatic install ?
  9. dialog --clear --title "Install method" \
  10. --yesno "Want to use sysinstall directly?" 10 40
  11.  
  12. case $? in
  13. 0) exec /usr/sbin/sysinstall;;
  14. 1) :;;
  15. 255) echo "${RED}ESC pressed${NC}";exit 1;;
  16. esac
  17.  
  18. Memory=$(sysctl -n hw.physmem)
  19. let "Memory= $Memory / 1024 /1024"
  20. echo "> Memory ~= ${RED} $Memory ${NC} Mb"
  21.  
  22.  
  23. NetInterface=$(kenv boot.netif.name)
  24.  
  25. if [ $? -ne 0 ]; then
  26. echo "< ${RED}You dont have, or not found netwok card!${NC}"
  27. exit 1
  28. else
  29. echo "> Found netwok device: ${RED} $NetInterface ${NC}"
  30. fi
  31.  
  32. # Check hard disk
  33. Disks=$(sysctl -n kern.disks)
  34. if [ $? -ne 0 ]; then
  35. echo "< ${RED}You dont have,or not fount hard disk!${NC}"
  36. else
  37. echo "> Found hard disk : ${RED} $Disks ${NC}"
  38. fi
  39.  
  40. Disk_size=$(fdisk /dev/$Disks | grep Meg | tr '(' ' ' | awk '{print $5}')
  41.  
  42. echo -e "> Disk size ${RED} $Disk_size ${NC}Mb "
  43. echo -e "${WHITE}Press any key ${NC}"
  44. read
  45.  
  46. ##############################################
  47. echo "nonInteractive=YES
  48. debug=YES
  49. noWarn=YES
  50.  
  51. tryDHCP=YES
  52. netDev=$NetInterface
  53. ipaddr=DHCP
  54. _ftpPath=ftp://ftpfbsd.dcv/pub/FreeBSD
  55. mediaSetFTPPassive
  56. distSetDeveloper
  57.  
  58. disk=$Disks
  59. partition=all
  60. bootManager=standard
  61. diskPartitionEditor" > install.cfg
  62.  
  63. ##############################################
  64.  
  65. # Dialog to dividing the hard disk
  66. tempfile=/tmp/test$$
  67. trap "rm -f $tempfile" 0 1 2 5 15
  68. #echo $tempfile
  69.  
  70. dialog --clear --title "The method of dividing the hard disk" \
  71. --menu "Select option" 20 40 4 \
  72. "Auto" "Automatic partitioning" \
  73. "Hand" "Manual partitioning" 2> $tempfile
  74.  
  75. retval=$?
  76. choise=$(cat $tempfile)
  77.  
  78. touch install.cfg
  79. # block size = 512
  80.  
  81. case $retval in
  82. 0)
  83. case $choise in
  84. "Auto") echo "Auto"
  85. # swap size = (MEMORY * 2) Mb
  86. let "swap_size = (($Memory * 2) * 1024 * 1024 ) / 512"
  87.  
  88. # /tmp size = 512 Mb
  89. let "tmp_size = (512 * 1024 * 1024) / 512"
  90.  
  91. # / size = 1024 Mb
  92. let "root_size = (1024 * 1024 * 1024) / 512"
  93.  
  94. # /var size = 1024 Mb
  95. let "var_size = (1024 * 1024 * 1024) / 512"
  96.  
  97. # /usr size = $DISKS - swap,tmp,var,/ =~ 1.5 Gb
  98. let "usr_size = (($Disk_size * 1024 * 1024) / 512) -
  99. $swap_size - $tmp_size - $root_size - $var_size "
  100.  
  101. echo "
  102. swap = $swap_size
  103. /tmp = $tmp_size
  104. / = $root_size
  105. /var = $var_size
  106. /usr = $usr_size " ;;
  107. "Hand")
  108. echo "Disk size ${RED}$Disk_size${NC}"
  109. echo "All input values in ${RED}Mb${NC}"
  110.  
  111. # swap
  112. echo -n "${BLUE}swap${NC} > "
  113. read swap_size
  114. let "swap_size = ($swap_size * 1024 * 1024) / 512"
  115.  
  116. # /tmp
  117. echo -n "${BLUE}/tmp${NC} > "
  118. read tmp_size
  119. let "tmp_size = ($tmp_size * 1024 * 1024) / 512"
  120.  
  121. # /
  122. echo -n "${BLUE}/${NC} > "
  123. read root_size
  124. let "root_size = ($root_size * 1024 * 1024) / 512"
  125.  
  126. # /var
  127. echo -n "${BLUE}/var${NC} > "
  128. read var_size
  129. let "var_size = ($var_size * 1024 * 1024) / 512"
  130.  
  131. # /usr
  132. echo "${BLUE}/usr${NC} > ${RED}remains${NC}"
  133. let "usr_size = (($Disk_size * 1024 * 1024) / 512) -
  134. $swap_size - $tmp_size - $root_size - $var_size "
  135.  
  136. echo "
  137. swap = $swap_size
  138. /tmp = $tmp_size
  139. / = $root_size
  140. /var = $var_size
  141. /usr = $usr_size " ;;
  142. esac;;
  143.  
  144. 1) echo "${RED}Disclaimers input${NC}"; exit 1;;
  145. 255) echo "${RED}ESC pressed${NC}"; exit 1;;
  146. esac
  147.  
  148. ##############################################
  149. echo "
  150. ${Disks}s1-1=ufs $root_size /
  151. ${Disks}s1-2=swap $swap_size none
  152. ${Disks}s1-3=ufs $var_size /var
  153. ${Disks}s1-4=ufs $usr_size /usr
  154. ${Disks}s1-5=ufs $tmp_size /tmp
  155.  
  156. diskLabelEditor
  157. installCommit " >> install.cfg
Add Comment
Please, Sign In to add comment