Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/local/bin/zsh
- BLUE='\e[1;34m'
- WHITE='\033[1m'
- RED='\e[1;31m'
- NC='\e[0m'
- # Automatic install ?
- dialog --clear --title "Install method" \
- --yesno "Want to use sysinstall directly?" 10 40
- case $? in
- 0) exec /usr/sbin/sysinstall;;
- 1) :;;
- 255) echo "${RED}ESC pressed${NC}";exit 1;;
- esac
- Memory=$(sysctl -n hw.physmem)
- let "Memory= $Memory / 1024 /1024"
- echo "> Memory ~= ${RED} $Memory ${NC} Mb"
- NetInterface=$(kenv boot.netif.name)
- if [ $? -ne 0 ]; then
- echo "< ${RED}You dont have, or not found netwok card!${NC}"
- exit 1
- else
- echo "> Found netwok device: ${RED} $NetInterface ${NC}"
- fi
- # Check hard disk
- Disks=$(sysctl -n kern.disks)
- if [ $? -ne 0 ]; then
- echo "< ${RED}You dont have,or not fount hard disk!${NC}"
- else
- echo "> Found hard disk : ${RED} $Disks ${NC}"
- fi
- Disk_size=$(fdisk /dev/$Disks | grep Meg | tr '(' ' ' | awk '{print $5}')
- echo -e "> Disk size ${RED} $Disk_size ${NC}Mb "
- echo -e "${WHITE}Press any key ${NC}"
- read
- ##############################################
- echo "nonInteractive=YES
- debug=YES
- noWarn=YES
- tryDHCP=YES
- netDev=$NetInterface
- ipaddr=DHCP
- _ftpPath=ftp://ftpfbsd.dcv/pub/FreeBSD
- mediaSetFTPPassive
- distSetDeveloper
- disk=$Disks
- partition=all
- bootManager=standard
- diskPartitionEditor" > install.cfg
- ##############################################
- # Dialog to dividing the hard disk
- tempfile=/tmp/test$$
- trap "rm -f $tempfile" 0 1 2 5 15
- #echo $tempfile
- dialog --clear --title "The method of dividing the hard disk" \
- --menu "Select option" 20 40 4 \
- "Auto" "Automatic partitioning" \
- "Hand" "Manual partitioning" 2> $tempfile
- retval=$?
- choise=$(cat $tempfile)
- touch install.cfg
- # block size = 512
- case $retval in
- 0)
- case $choise in
- "Auto") echo "Auto"
- # swap size = (MEMORY * 2) Mb
- let "swap_size = (($Memory * 2) * 1024 * 1024 ) / 512"
- # /tmp size = 512 Mb
- let "tmp_size = (512 * 1024 * 1024) / 512"
- # / size = 1024 Mb
- let "root_size = (1024 * 1024 * 1024) / 512"
- # /var size = 1024 Mb
- let "var_size = (1024 * 1024 * 1024) / 512"
- # /usr size = $DISKS - swap,tmp,var,/ =~ 1.5 Gb
- let "usr_size = (($Disk_size * 1024 * 1024) / 512) -
- $swap_size - $tmp_size - $root_size - $var_size "
- echo "
- swap = $swap_size
- /tmp = $tmp_size
- / = $root_size
- /var = $var_size
- /usr = $usr_size " ;;
- "Hand")
- echo "Disk size ${RED}$Disk_size${NC}"
- echo "All input values in ${RED}Mb${NC}"
- # swap
- echo -n "${BLUE}swap${NC} > "
- read swap_size
- let "swap_size = ($swap_size * 1024 * 1024) / 512"
- # /tmp
- echo -n "${BLUE}/tmp${NC} > "
- read tmp_size
- let "tmp_size = ($tmp_size * 1024 * 1024) / 512"
- # /
- echo -n "${BLUE}/${NC} > "
- read root_size
- let "root_size = ($root_size * 1024 * 1024) / 512"
- # /var
- echo -n "${BLUE}/var${NC} > "
- read var_size
- let "var_size = ($var_size * 1024 * 1024) / 512"
- # /usr
- echo "${BLUE}/usr${NC} > ${RED}remains${NC}"
- let "usr_size = (($Disk_size * 1024 * 1024) / 512) -
- $swap_size - $tmp_size - $root_size - $var_size "
- echo "
- swap = $swap_size
- /tmp = $tmp_size
- / = $root_size
- /var = $var_size
- /usr = $usr_size " ;;
- esac;;
- 1) echo "${RED}Disclaimers input${NC}"; exit 1;;
- 255) echo "${RED}ESC pressed${NC}"; exit 1;;
- esac
- ##############################################
- echo "
- ${Disks}s1-1=ufs $root_size /
- ${Disks}s1-2=swap $swap_size none
- ${Disks}s1-3=ufs $var_size /var
- ${Disks}s1-4=ufs $usr_size /usr
- ${Disks}s1-5=ufs $tmp_size /tmp
- diskLabelEditor
- installCommit " >> install.cfg
Add Comment
Please, Sign In to add comment