Introduction

This is a Work in Progress to build official Debian base boxes for Vagrant available in Vagrant Cloud. This blog post from Joey Hess provides a good overview of why we need official Debian base boxes.

Frequently asked questions

Error Message: ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy

This probably means that you're trying libvirt (qemu) boxes while another hypervisor is running. Shutdown all running VirtualBox boxes and VirtualBox VMs before retrying.

The machine is in the 'gurumeditation' state

Error Message: The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'gurumeditation' state. 

This error can happen if you have already libvirt (qemu) VMs, and you're starting a VirtualBox box. Stop all the libvirt (qemu) VMs before retryting.

Unable to use the vagrant-vbguest plugin

The vagrant vbguest plugin is not needed with the Debian boxes and we don't test it.

If you use boxes up to Debian 10 Buster, use the contrib boxes at https://app.vagrantup.com/debian. The contrib boxes already include the needed kernel modules, so you don't have to recompile the modules via the vagrant-vgbuest module.

If you use Debian 11 Bullseyes and higher, the kernel modules are already included in the box itself, since the kernel modules are now part of the official kernel releases.

Disabling vbguest with

config.vbguest.auto_update = false

disables it for the current Vagrantfile without removing the plugin globally.

What if my question is not in this FAQ ?

You can contact the developers behind this project on this mailing list https://lists.debian.org/debian-cloud/ or raise a bug report. Refer to https://www.debian.org/Bugs/Reporting and report the bug against the virtual package cloud.debian.org.

Current list of bugs for the cloud.debian.org package

Base Box details

Content

Standard Debian system, as created by debootstrap with all packages with priority required, important, standard, and vagrant unix user, set up according to Upstream recommendations

Provisioners

The box does not include provisioners. You can install them at startup by adding in your Vagrantfile:

# puppet
config.vm.provision "shell", inline: "apt-get install --yes puppet"
# ansible does not need a client, but needs python-apt to install packages
config.vm.provision "shell", inline: "apt-get install --yes python-apt"

Shared folders

Build process

The boxes are currently built with fai-diskimage from https://salsa.debian.org/cloud-team/debian-vagrant-images and uploaded to Hashicorps's Vagrant cloud.