This page details the system requirements for the development environment that will be used to run the VM Build Container.
OS Requirements
The VM Build Container is supported on Ubuntu Desktop, version 18.04 LTS or above.
If using another platform, Ubuntu can be installed in a Virtual Machine using Oracle Virtualbox or a similar technology, and the VM Build Container can be run inside the Ubuntu VM.
Resource Requirements
A development environment with at least 200 GB of available disk space is recommended. This is because various temporary versions of the VM are produced in different formats before the final output is produced.
We recommend that the development environment should have a minimum of at least 2 CPU cores and 8 GB of RAM.
Resource requirements will vary upwards as more complex applications are installed during the build phase.
Docker
Docker must be installed in the development environment. If you don’t already have this, follow the official instructions for installing Docker on Ubuntu
In general we recommend using the latest version of Docker available. The Docker version number is year based, so versions from 2018 or later should be suitable. For example, Ubuntu 18.04 LTS offers Docker 18.06 as its latest version, and that combination has been found to work fine.
To see the version of your Docker installation, from inside a Linux terminal, you can run:
docker version
Docker user group
By default Docker runs as the root user, but the vmbc
tool runs as the logged in user, yet needs to use Docker.
To permit this, you need to create a docker group, and add the current user to it using the following sequence
of commands:
sudo groupadd docker sudo usermod -aG docker $USER newgrp docker
You can find more explanation of what these commands are doing at Manage Docker as a non-root user.
Docker in Docker
Building a VM image is a complex task, and the tools used to do so themselves make use of Docker, as does the vmbc
tool which invokes those tools.
The vmbc
tool comes pre-packaged with Docker-in-Docker and runs its own, internal, version of Docker automatically.
For more information about Docker-in-Docker, refer to https://hub.docker.com/_/docker.
Utilities
To run the VM Build Container, a version of bash
at or above 5.0.3 must be installed on the development environment.
The zip
and unzip
utilities are required to use the VM Build Container to make custom VMs.
The tar
utility is required to extract the archive
containing the VM Build Container and the vmbc
tool.
Internet Access
Internet access is not required to use the VM Build Container to produce VMs.
All software artifacts necessary to produce a VM are either passed in by the user, or already included inside the VM Build Container.