utmapp / utmapp/UTM

[FR] - Add 'create' options to utmctl to facilitate creating VM's from command line

Open
#6,092 1 comment 19 reactions 0 assignees View on GitHub
enhancement
Dominant language
Swift
Stars
35.5k
Forks
1.8k
Avg merge
5d 5h
Merged PRs (30d)
7

Description

I've been trying to create macOS guest VM's on macOS (host) with the scripts as documented [here](https://docs.getutm.app/scripting/cheat-sheet/) and with various settings documented in the reference guide [here](https://docs.getutm.app/scripting/reference/) however when creating macOS guests they always default to a `linux` type, and there are no means of scripting the "attachment" of an `ipsw` file to use. Displays also can't be added/managed.

It would be very helpful if the `utmctl` tool could take a `create` argument that could also be supplied other sub arguments like `type`, `display`, `serial`, `ipsw`, `iso`, etc, etc.

For example:
```
[foo@example]: ~# /Applications/UTM.app/Contents/MacOS/utmctl create --type apple --arch aarch64 --ipsw "/Users/foo/Desktop/macOS/macOS_Sonoma_14.ipsw" --display 1920x1200@80 --interface en0 --network-mode bridged --mac-addr ff:ff:ff:ff:ff:ff --os macOS --cpu-count 1 --memory 8092 --entropy --audio --keyboard Mac --pointer Trackpad
```
This isn't the specific type of command structure that this should take nor representative of all possible options, but just an example.

It would also be really helpful if the `create` argument could take an optional `--config-file` type argument where a YAML/json/TOML file could be provided that would inform `utm` of all the parameters to use to create the virtual machine.

This would be incredibly helpful for automating VM creation for automating spinup of new VM's to test macOS.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.