It is possible to spin up a VirtualBox machine using Vagrant. See https://cgit.osdyson.org/vagrant/dyson.git
Some things do not work yet (e. g. mounting /vagrant), but basically it is usable.
$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'dyson' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Box file was not detected as metadata. Adding it directly... ==> default: Adding box 'dyson' (v0) for provider: virtualbox default: Downloading: https://dl.osdyson.org/vagrant/2020-01-02/dyson.box default: Calculating and comparing box checksum... ==> default: Successfully added box 'dyson' (v0) for 'virtualbox'! ==> default: Importing base box 'dyson'... ==> default: Matching MAC address for NAT networking... ==> default: Setting the name of the VM: vagrantfiles_default_1577965263075_52776 ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 (guest) => 2222 (host) (adapter 1) ==> default: Running 'pre-boot' VM customizations... ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2222 default: SSH username: vagrant default: SSH auth method: private key default: default: Vagrant insecure key detected. Vagrant will automatically replace default: this with a newly generated keypair for better security. default: default: Inserting generated public key within guest... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... default: No guest additions were detected on the base box for this VM! Guest default: additions are required for forwarded ports, shared folders, host only default: networking, and more. If SSH fails on this machine, please install default: the guest additions and repackage the box to continue. default: default: This is not an error message; everything may continue to work properly, default: in which case you may ignore this message. ==> default: Mounting shared folders... default: /vagrant => /home/pashev/tmp/vagrantfiles The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! sudo /sbin/mount -F vboxfs -o uid=`/usr/xpg4/bin/id -u vagrant`,gid=`/usr/xpg4/bin/id -g vagrant` vagrant /vagrant Stdout from the command: Stderr from the command: bash: line 4: /usr/xpg4/bin/id: No such file or directory bash: line 4: /usr/xpg4/bin/id: No such file or directory mount: Operation not applicable to FSType vboxfs $ vagrant provision ==> default: Running provisioner: shell... default: Running: inline script default: default: WARNING: apt does not have a stable CLI interface. Use with caution in scripts. default: Hit:1 http://apt.osdyson.org testing InRelease default: Reading package lists... default: Building dependency tree... default: default: Reading state information... default: All packages are up to date. default: default: WARNING: apt does not have a stable CLI interface. Use with caution in scripts. default: Reading package lists... default: Building dependency tree... default: default: Reading state information... default: Calculating upgrade... default: 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.