#!/bin/bash # # @Branislav Zeljak v0.1 # # Create VBox from template #VAR_QUAN=${VAR_QUAN:-1} #VAR_CPU=${VAR_CPU:-1} #VAR_MEM=${VAR_MEM:-1024} VAR_OS_UBU=Ubuntu_64 VAR_OS_RH=RedHat_64 VAR_VID=32 VAR_RDP=339 VAR_NIC=bridged VAR_NET=en0 # Komponenten der Installation VAR_PATH="${HOME}/VirtualBox VMs/VDI/" VAR_UBU=ubu2004_master.vdi VAR_CO7=centos7_master.vdi VAR_CO8=centos8_master.vdi clear IFS=" " read -p "Wievile VMs werden benoetigt? [1]: " VAR_QUAN read -p "Welche Praefix soll die VM erhalten?: " VAR_PRE PS3='Please enter your choice: ' options=("Ubuntu" "CentOS 7" "CentOS 8" "Quit") select opt in "${options[@]}" do case $opt in "Ubuntu") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_UBU}" VAR_ISO="${VAR_UBU}" ;; "CentOS 7") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_RH}" VAR_ISO="${VAR_CO7}" ;; "CentOS 8") VAR_NAME="${VAR_PRE}" VAR_OS="${VAR_OS_RH}" VAR_ISO="${VAR_CO8}" ;; "Quit") break ;; *) echo "invalid option $REPLY" ;; esac read -p "Wieviele CPUs? [1] :" VAR_CPU read -p "Wiviel Memory? [1024] :" VAR_MEM VAR_CPU=${VAR_CPU:-1} VAR_MEM=${VAR_MEM:-1024} VAR_QUAN=${VAR_QUAN:-1} for N in $(seq 1 $VAR_QUAN) do VBoxManage createvm \ --name ${VAR_NAME}-${N} \ --ostype ${VAR_OS} \ --register \ --basefolder ${VAR_NAME}-${N} # CPU Memory Netzwerk RDP echo "Netzwerk" VBoxManage modifyvm ${VAR_NAME}-${N} \ --ioapic on \ --cpus ${VAR_CPU} \ --memory ${VAR_MEM} \ --vram ${VAR_VID} \ --nic1 NatNetwork \ --nic2 ${VAR_NIC} \ --bridgeadapter2 ${VAR_NET} \ --vrde on \ --vrdemulticon on \ --vrdeport ${VAR_RDP}${N} # Create HD-0 echo "HDD" VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk0.vdi \ --size 102400 \ --format VDI # Create HD-1 VBoxManage createhd \ --filename ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk1.vdi \ --size 10240 \ --format VDI # Create SATA Controler VBoxManage storagectl ${VAR_NAME}-${N} \ --name "SATA Controller" \ --add sata \ --controller IntelAhci \ --add sata \ --controller IntelAhci # Attach HD-0 to storage controller VBoxManage storageattach ${VAR_NAME}-${N} \ --storagectl "SATA Controller" \ --port 0 \ --device 0 \ --type hdd \ --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk0.vdi # Attach HD-1 to storage controller VBoxManage storageattach ${VAR_NAME}-${N} \ --storagectl "SATA Controller" \ --port 1 \ --device 0 \ --type hdd \ --medium ${VAR_VB}/${VAR_NAME}-${N}/${VAR_NAME}-${N}_disk1.vdi # IDE controller for CD-ROM VBoxManage storagectl ${VAR_NAME}-${N} \ --name "IDE Controller" \ --add ide \ --controller PIIX4 # Attach CD-ROM ISO VBoxManage storageattach ${VAR_NAME}-${N} \ --storagectl "IDE Controller" \ --port 1 \ --device 0 \ --type dvddrive \ --medium ${VAR_PATH}/${VAR_ISO} # Boot VBoxManage modifyvm ${VAR_NAME}-${N} \ --boot1 dvd \ --boot2 disk \ --boot3 none \ --boot4 none done break done