#! /bin/sh if [ $# -le 1 -o $# -ge 7 ]; then echo "Usage: $0 vm_name iso_file [os_type [disk_size [memory [video_mem]]]]" >&2 echo "Example: $0 Debian debian.iso Debian 10000 512" >&2 exit 1 fi VM_NAME="$1" ISO_IMAGE="$2" VM_OS_TYPE="${3:-Linux}" DISK_SIZE="${4:-1024}" VM_MEM="${5:-1024}" VM_VMEM="${6:-128}" VBoxManage createvm --name "$VM_NAME" --ostype "$VM_OS_TYPE" --register && VBoxManage modifyvm "$VM_NAME" --memory "$VM_MEM" --vram "$VM_VMEM" --ioapic on && VBoxManage createhd --filename "$HOME/VirtualBox VMs/$VM_NAME/$VM_NAME".vdi --size "$DISK_SIZE" --format VDI && VBoxManage storagectl "$VM_NAME" --name "SATA Controller" --add sata --controller IntelAhci --bootable on && VBoxManage storageattach "$VM_NAME" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "$HOME/VirtualBox VMs/$VM_NAME/$VM_NAME".vdi && VBoxManage storagectl "$VM_NAME" --name "IDE Controller" --add ide --controller PIIX4 && VBoxManage storageattach "$VM_NAME" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium "$ISO_IMAGE" && VBoxManage modifyvm "$VM_NAME" --boot1 dvd --boot2 disk --boot3 none --boot4 none && VBoxManage modifyvm "$VM_NAME" --nic1 nat && VBoxManage modifyvm "$VM_NAME" --natpf1 SSH,tcp,localhost,2022,localhost,22 && #VBoxManage showvminfo "$VM_NAME" && exec VBoxManage startvm "$VM_NAME"