Skip to content
Austin Culter edited this page Aug 26, 2019 · 8 revisions

CLI arguments

Running vfuse does not necessarily require sudo rights, but if you don't want to be prompted in the GUI for an admin password, you will want to run it with sudo. (Escalated privileges is required to run the vmware-vdiskmanager binary, which vfuse uses.)

Input path

The only required argument is -i or --input, which vfuse mounts and uses as the source for conversion. When no other arguments are called, vfuse will create a virtual machine called osx-vm.vmwarevm in the current working directory.

vfuse -i /path/to/dmg

If you give it a URL, it will mount the dmg over the network before doing the conversion. (To cache the dmg locally, see the template instructions).

vfuse -i http://org.server.com/path/to/dmg

Custom output directory

If you wish to redirect the VM to a custom output directory, use the -o or --output argument.

vfuse -i /path/to/dmg -o /path/to/output/directory

Name the VM

To give your VM a custom name, use the -n or --name argument.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo

Customizing VMware Hardware Version

To customize the VMware Hardware Version, use the -HW_VERSION or --hw-version argument.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo --hw-version 12

Customizing memory

To customize the memory size, use the -m or --mem-size argument. Memory size is passed to the script in MBs.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo -m 4096    

Customizing Serial Number

To customize the Serial Number, use the -s or --serial argument.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo -s C03LJ41LFH00   

The Serial Number can also be randomized. The Serial Number will be created with the letters VM followed by a randomized string of alphanumeric characters.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo -s random

Prepping for ESXi

To use a custom virtualHW.version setting, i.e. for use with ESXi, use the -w or --hw-version argument.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo -m 4096 -w 10

To create a pre-allocated ESX-type virtual disk, use the -e or `--esx`` argument.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo -m 4096 -w 10 -e

Creating a packer template

To create or update a packer-template.json file (which can be used to create a vagrant box), use the -p or --packer argument.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo -p packer-template.json

Customizing Hardware Model

To customize the Hardware Model, use the --hw-model argument.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo --hw-model MacBookPro8,2   

Creating initial snapshot

To create an initial snapshot of the virtual machine.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo --snapshot

If you want to give the initial snapshot a predetermined name, use the --snapshot-name flag in tandem with --snapshot.

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo --snapshot --snapshot-name foo_initial_snapshot

Using qemu-img

Instead of using the Fusion CLI tools, you have the option to use the --qemu-img flag for converting the input DMG file. When using this, it assumes you already have qemu-img installed (Note: Use this flag for experimental support of Catalina since Fusion 11's tools don't seem to recognize the Catalina dmg):

vfuse -i /path/to/dmg -o /path/to/output/directory -n foo --use-qemu path/to/qemu-img