From 9608255574a4a66b541010aab0ce0980c2677100 Mon Sep 17 00:00:00 2001 From: Miguel Scapolla Date: Fri, 6 May 2016 22:18:49 -0300 Subject: [PATCH] Virtualbox. --- virtualbox.sh | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 virtualbox.sh diff --git a/virtualbox.sh b/virtualbox.sh new file mode 100644 index 0000000..854ce5f --- /dev/null +++ b/virtualbox.sh @@ -0,0 +1,138 @@ +#----- VirtualBox command line ----- + +# Set the directory for the vms. + VBoxManage setproperty machinefolder /home/user/path/to/vms/ + +# See info. + VBoxManage list systemproperties + VBoxManage list hostinfo + VBoxManage list bridgedifs + VBoxManage list ostypes + +# Create a vm. + VBoxManage createvm -name VMNAME + +# VM in non standard directory. + mv /old/path/to/vm/VMNAME.vbox /new/path/to/vm/VMNAME.vbox + rmdir /old/path/to/vm + +# Register the vm. + VBoxManage registervm /new/path/to/vm/VMNAME.vbox + +# Configure the vm. + VBoxManage modifyvm VMNAME \ + --ostype debian \ + --memory 512 \ + --vram 32 \ + --acpi on \ + --ioapic on \ + --cpus 1 \ + --pae on \ + --accelerate3d off \ + --accelerate2dvideo off \ + --firmware bios \ + --chipset piix3 \ + --boot1 dvd --boot2 none --boot3 none --boot4 none \ + --uart1 off --uart2 off --uart3 off --uart4 off \ + --lpt1 off --lpt2 off \ + --audio none \ + --usb off --usbehci off \ + --teleporter off \ + --tracing-enabled off \ + --usbcardreader off \ + --autostart-enabled off \ + --videocap off \ + --snapshotfolder default \ + --rtcuseutc on \ + --mouse ps2 \ + --keyboard ps2 \ + --clipboard disabled \ + --draganddrop disabled \ + --vrde off \ + --nic1 none --nic2 none --nic3 none --nic4 none --nic5 none --nic6 none --nic7 none --nic8 none \ + --nictype1 Am79C970A --nictype2 Am79C970A --nictype3 Am79C970A --nictype4 Am79C970A \ + --nictype5 Am79C970A --nictype6 Am79C970A --nictype7 Am79C970A --nictype8 Am79C970A \ + --cableconnected1 on --cableconnected2 on --cableconnected3 on --cableconnected4 on \ + --cableconnected5 on --cableconnected6 on --cableconnected7 on --cableconnected8 on \ + --macaddress1 00001D3C5F00 --macaddress2 00001D3C5F01 --macaddress3 00001D3C5F02 --macaddress4 00001D3C5F03 \ + --macaddress5 00001D3C5F04 --macaddress6 00001D3C5F05 --macaddress7 00001D3C5F06 --macaddress8 00001D3C5F07 \ + +# NIC with NAT. + VBoxManage modifyvm VMNAME --nic1 nat + +# NIC host only. + VBoxManage modifyvm VMNAME --nic1 hostonly --hostonlyadapter1 vboxnet0 + +# NIC with udp tunnel. + VBoxManage modifyvm VMNAME --nic1 generic --nicgenericdrv1 UDPTunnel --nicproperty1 dest=127.0.0.1 --nicproperty1 dport=9000 --nicproperty1 sport=9001 + +# NIC bridged with real host interface. + VBoxManage modifyvm VMNAME --nic1 bridged --bridgeadapter1 eth1 + +# VM serial port to host unix socket. + VBoxManage modifyvm VMNAME --uart1 0x3f8 4 --uartmode1 server /tmp/uart + +# VM serial port to host tcp server socket. + VBoxManage modifyvm VMNAME --uart1 0x3f8 4 --uartmode1 tcpserver 2000 + +# See the vm configuration. + VBoxManage showvminfo VMNAME + +# Add SATA controller. + VBoxManage storagectl VMNAME --name sata --add sata --sataportcount 4 --hostiocache on --bootable on + +# Add IDE controller. + VBoxManage storagectl VMNAME --name ide --add ide --controller PIIX3 + +# Create a hdd disk. + VBoxManage createmedium disk --filename hdddisk.vdi --size 2048 --format VDI --variant Standard + +# Add hdd to vm. + VBoxManage storageattach VMNAME --storagectl sata --port 0 --type hdd --mtype normal --medium FILENAME.vdi + +# Add a cd/dvd to vm. + VBoxManage storageattach VMNAME --storagectl ide --port 0 --device 0 --type dvddrive --medium FILENAME.iso + +# Start the vm. + VBoxManage startvm VMNAME --type headless + +# Extract the cd/dvd. + VBoxManage storageattach VMNAME --storagectl ide --port 0 --device 0 --type dvddrive --medium none + +# Delete the IDE controller. + VBoxManage storagectl VMNAME --name ide --remove + +# Poweroff the vm. + VBoxManage controlvm VMNAME acpipowerbutton + VBoxManage controlvm VMNAME poweroff + +# Remove a hdd. + VBoxManage storageattach VMNAME --storagectl sata --port 1 --type hdd --medium none + +# Boot from hdd only. + VBoxManage modifyvm VMNAME --boot1 disk --boot2 none --boot3 none --boot4 none + +# Compact a hdd. + VBoxManage modifymedium FILENAME.vdi --compact + + +#----- Serial port to host pipe ----- + +# Install socat: + apt-get install socat + +# Configure the serial port in the vm. +# Select Host Pipe: /tmp/uart. +# Select create if not exist. +# Start the vm. +# In the host machine: + socat /tmp/uart - + + +#---- Mount a hdd vdi ----- +apt-get install qemu-kvm +modprobe nbd +qemu-nbd -c /dev/nbd0 HDDFILE.vdi --> creates /dev/nbd0p1 +mount /dev/nbd0p1 /mnt +umount /mnt +qemu-nbd -d /dev/nbd0