summaryrefslogtreecommitdiff
path: root/usr.sbin/vmctl
AgeCommit message (Collapse)Author
2018-01-03pretty up the "start" command;Jason McIntyre
2018-01-03Add initial CD-ROM support to VMD via vioscsi.ccardenas
* Adds 'cdrom' keyword to vm.conf(5) and '-r' to vmctl(8) * Support various sized ISOs (Limitation of 4G ISOs on Linux guests) * Known working guests: OpenBSD (primary), Alpine Linux (primary), CentOS 6 (secondary), Ubuntu 17.10 (secondary). NOTE: Secondary indicates some issue(s) preventing full/reliable functionality outside the scope of the vioscsi work. * If the attached disks are non-bootable (i.e. empty), SeaBIOS (vmd's default BIOS) will boot from CD-ROM. ok mlarkin@, jca@
2017-11-05Add minimal DHCP support to vmd's built-in DHCP/BOOTP server.Reyk Floeter
This fixes "local interface" mode with the udhcpc client. udhcpc, a DHCP client that is used by busybox and many embedded Linux distributions, does not support BOOTP which is the predecessor and a valid subset of DHCP. OK mlarkin@, Carlos Cardenas
2017-10-07Prefer memset() over bzero()Philip Guenther
ok deraadt@ mlarkin@
2017-09-08better VM termination handling.Mike Larkin
diff provided by Carlos Cardenas, thanks
2017-09-08vmctl: style cleanup - spaces vs tabs.Mike Larkin
Noticed by Carlos Cardenas
2017-09-05Detail how VM guests acquire a nameserver for local interfaces.Edd Barrett
OK mlarkin@, krw@. Thanks!
2017-09-01vmctl: -L option clarification in man pageMike Larkin
2017-08-31vmctl: change a feedback message displayed to the user from "terminatedMike Larkin
vm X" to "sent request to terminate vm X". vmctl/vmd have not forcibly terminated VMs in a while, we try to let vmmci(4) gracefully shutdown the VM, so "vmctl stop" commands are really requests to stop, not forced stops. The new message indicates that a shutdown is (possibly) in progress and not "complete".
2017-08-31vmd/vmctl: disallow use of block or character devices as disks in VMs.Mike Larkin
These don't work today and present the user with a confusing error message if an attempt is made to use them. This commit detects attempts to use block or character devices and if detected, presents the user with a better message. ok jasper From Carlos Cardenas, thanks!
2017-08-30remove use of PAGE_SIZE and #include <sys/param.h>Mike Larkin
ok deraadt
2017-08-29quarterly rescan of the tree: remove unneccessary sys/param.h, andTheo de Raadt
annotate the ones which are needed.
2017-08-18distinguish errors during vm launch and return different error codes toMike Larkin
vmctl so that it can display proper errors for "disk missing" and "bios missing" situations. Expands on an earlier idea/diff from jasper. ok jasper@, pd@, tedu@
2017-08-15merge parse_vmid() and parse_vmname()Jasper Lievisse Adriaanse
ok mlarkin@ pd@
2017-08-14return a proper error message instead of 'no such file or directory' whenJasper Lievisse Adriaanse
invoking 'stop' for a non-existent vm ok mlarkin@
2017-08-14whitespace and fix a comment typoJasper Lievisse Adriaanse
2017-08-14catch ENOENT and display a proper error message when a specified disk image isJasper Lievisse Adriaanse
not found ok mlarkin@
2017-08-14don't allow starting vms whose name starts with '-', '.' or '_'Jasper Lievisse Adriaanse
2017-08-10don't have cu try to open '/dev', instead check if there's a valid ttyJasper Lievisse Adriaanse
associated with the vm upfront as discussed with and ok mlarkin@ pd@
2017-07-15consistent case;Jason McIntyre
2017-07-15Add vmctl send and vmctl receivepd
ok reyk@ and mlarkin@
2017-07-09vmd/vmctl: Add ability to pause / unpause vmspd
With help from Ashwin Agrawal ok reyk@ mlarkin@
2017-06-07vmctl: change default "vmctl console" (cu) baud rate to 115200. NotMike Larkin
strictly needed but matches the previous baudrate diff committed earlier to vmd. ok deraadt, phessler
2017-05-04Report command failure back to vmctl reload, reset, load, log verbose.Reyk Floeter
OK mlarkin@
2017-05-04Report error for vmctl commands that need root privileges.Reyk Floeter
specifically: vmctl (load|reload|reset|log) Reported by Christian Barthel
2017-04-19Add support for dynamic "NAT" interfaces (-L/local interface).Reyk Floeter
When a local interface is configured, vmd configures a /31 address on the tap(4) interface of the host and provides another IP in the same subnet via DHCP (BOOTP) to the VM. vmd runs an internal BOOTP server that replies with IP, gateway, and DNS addresses to the VM. The built-in server only ever responds to the VM on the inside and cannot leak its DHCP responses to the outside. Thanks to Uwe Werler, Josh Grosse, and some others for testing! OK deraadt@
2017-04-14Update a man page example to reflect recent changes.Mike Larkin
Spotted by Ilya Kaliman, thanks.
2017-04-06Do not expose vmm(4) VM IDs to the user, use vmd(8)'s IDs instead.Reyk Floeter
Each VM has two IDs: one from the kernel (vmm) and a different one from userland (vmd). The vmm ID is not consistent and incremented on every boot during runtimg of the host system. The vmd ID remains the same during the lifetime of a configured VM, even after reboots. Configured VMs will even get and keep their IDs when the configuration is loaded. This is more what users expect. Pointed out and tested by otto@ OK deraadt@
2017-03-30Set interface flag to VMIFF_UP when using -i option. This way vmd will makeClaudio Jeker
sure the interfaces are up on startup. OK deraadt@, reky@
2017-03-25Boot using BIOS from /etc/firmware/vmm-bios by default.Reyk Floeter
Instead of using the internal "vmboot", VMs will now be booted using the external BIOS firmware in /etc/firmware/vmm-bios (which is subject to a LGPLv3 license). Direct booting of OpenBSD kernels or non-default BIOS images is still supported for now using the -b/boot option that is replacing the -k/kernel option. As requested by Theo, vmd(8) fails if neither the default BIOS is found nor a kernel has been specified in the VM configuration. The "vmm" BIOS has to be installed using fw_update(1), which will be done automatically in most cases where the OpenBSD can fetch it after install/upgrade. OK mlarkin@
2017-03-15Print "-" if the tty name is empty.Reyk Floeter
2017-03-03Undefined behavior: Variable 'user' was used as parameter andReyk Floeter
destination in snprintf(). Use a temporary variable instead. Found and OK by jsg@
2017-03-01Rename start_vm_complete to vm_start_complete for consistency.Reyk Floeter
2017-03-01unbreak vmctl build by renaming a function that now conflicts withMike Larkin
something from vmd.h . Temporary fix until the original committer can fix it the way he desires.
2017-03-01Add "owner" option to set a user/group ownership for pre-configured VMsReyk Floeter
This allows matching users to start or stop VMs that they "own" and to access the console accordingly. OK mlarkin@
2017-02-28Use fmt_scaled(3) in vmctl status output to print curmem/maxmemReyk Floeter
This matches the accepted input in vmctl start and vm.conf that supports using M, G, T etc. instead of a hardcoded MB. It also allows to shrink the column size as the unit will be scaled automatically. OK mlarkin@
2017-01-24sort previous;Jason McIntyre
2017-01-24mark start -m as optional; reorder start synopsis to match vmctl usageRichard Procter
ok mlarkin@
2017-01-24vmctl start -k is optional; also emphasise it specifies a path on the hostRichard Procter
ok mlarkin@
2017-01-13Make it possible to remove VMs from vmd(8)'s internal queue.Edd Barrett
The semantics agreed with reyk@ are: * ad-hoc created vms, created with `vmctl start`, are removed once stopped. * Stopped VMs defined in a config file are flushed before a `vmctl reload`. OK reyk@
2017-01-13Mention attempted graceful shutdown and vmmci(4)Reyk Floeter
2017-01-11Add imsg communication channel between vmd and invividual VMs.Reyk Floeter
For now, this is only used to forward "log verbose|brief" requests, but it will be used for better things later. OK mlarkin@
2016-12-14Allow to start disabled and pre-configured VMs by name, "vmctl start foo".Reyk Floeter
With testing from Jon Bernard OK mlarkin@
2016-11-26If -m/memory is not specified, use 512M by default.Reyk Floeter
Default value picked with mlarkin - not too small and not too large. OK mlarkin@
2016-11-26-add -n to the main summary;Jason McIntyre
2016-11-26Add the vmctl start -n option to specify add a network interface toReyk Floeter
the specified virtual switch from the command line. OK mlarkin@
2016-11-24Add support for booting the kernel from the disk image.Reyk Floeter
This make the kernel/-k argument optional and, if not specified, tries to find the /bsd kernel in the primary hd0a partition of the first disk image itself. It doesn't support hd0a:/etc/boot.conf yet, and it is no BIOS or full boot loader, but it makes booting and handling of VMs a bit easier - booting an external kernel is still supported. The UFS file system code ufs.c is directly from libsa which is also used by the real boot loader. The code compiles with a few signedness warning which will be fixed separately. OK mlarkin@
2016-11-22Insert disabled VMs into vmd(8)'s queues and allow vmctl(8) to display them.Edd Barrett
Tested by Jon Bernard and reyk@. OK reyk@, no objections mlarkin@. Thanks
2016-10-26vmd(8)/vmctl(8) for i386. Some ugliness in #ifdef __i386__ areas will beMike Larkin
fixed in tree, but the changes required were pretty minimal. Note that i386 hosts are still presently limited to running i386 guests. ok deraadt, stefan, jca
2016-10-13The name argument is of the start command is not optional.Martijn van Duren
OK mlarkin@