# vm-start ## Description: script which permit to launch easily some virtual machines via qemu ## Dependencies: - qemu full installation ## Optionnal Dependencies: - ssh to have possibility to connect via ssh with the remote_connection.sh script. - rsp to have possibility to connect via rsp with the remote_connection.sh script. ## Functionnality: - use of config files [not fully ok] - start,create vm reading the config file [ok] - delete all data related to a vm [ok] - create a backup or being able to recall the bacup [ok - have to be improved] - start directly the backup file [ok] - list all vm already configured [ok] - print help of version number [ok] - support options to overrides the config file [ok] - can support launching vm in uefi mode [ok] (doesn't support automatic add of uefi in conf file.) - take option create_disk to know what disk to use when creating a vm. [ok] - compatible to an extensive network configuration [~ok] (don't work with conf file, and no possibility to bridge over an existing interface.) ### Next changes to come - put the path of the creation disk on the config file - add vnc support - add an option -ng, --nographic with it's parametters assiciated. - majors changes in setup_bridges.sh, it will be from this point called ```setup_bridges 'bridge_name' add|rm [--ip= | --imaster=] ``` ## Usage: ### to get some help; `vm-start --help` ### to list all vm already configured `vm-start --list ` ### to create a new vm `vm-start create --create_disk=` you can of course add options like --uefi to tun in uefi mode, or --nproc= to select a number of processors. If you go to the conf folder created the first time you launch the script, you will find all configured variables for each of your vm. ### to connect two vm on different networks at a gateway nat. first, run the script set-tap.sh to create two bridges. ``` setup_bridge.sh --add-br-id=br0 setup_bridge.sh --add-br-id=br1 ``` after that change the mac address of all vm in conf folder. ``` vm-1 from 00:00:00:00:00:00 to 00:00:00:00:00:01 vm-2 from 00:00:00:00:00:00 to 00:00:00:00:00:02 ``` and start the gateway and the vms after. ``` vm-start.sh gateway start --net=br:br0 --net=br:br1 --net=nat:id01 vm-start.sh vm-1 start --net=br:br0 vm-start.sh vm-2 start --net=br:br1 ``` And that's it, your three vm are now connected. You just have now to do some configurations on thoses vms.