This project contains scripts and templates to automatically create the Bitcraze VM with Packer. It's also used for tracking issues and improvements.
The Bitcraze VM contains everything you need for running the Bitcraze projects and doing development for them. It's a great way to quickly get started without having the hassle of installing dependencies and setting up the development environment.
Here is a non-exhaustive list of what's included:
- Xubuntu 20.04 pre-configured
- VirtualBox guest additions pre-installed
- udev rules and pre-configured USB filtering for the Crazyradio and it's bootloader (NRF BOOT)
- Most of our projects pre-cloned
- QTCreator
- Firefox
- KiCad
- vscode prepared for compiling/debugging/flashing the Crazyflie firmware
- SDCC 3.2 for compiling of Crazyradio firmware
- This script has only been tested on a Linux machine, therefore it's recommended to use Linux to build the Bitcraze VM
- VirtualBox must be installed as well as the VirtualBox Extension Pack
- Packer (can be installed with
apt install packer
)
- Run
createBitcrazeVM.sh
- Wait 40-60 minutes depending on machine and internet connection speed
Run the two Packer templates
* Create the VM and run a preseeded installation (bitcrazeVM_createVM.json
)
* Provision the VM (bitcrazeVM_provisionVM.json
)
To separate the VM creation and installation from the provisioning. If there is a problem during provisioning, the whole process does not have to start from scratch again. This saves a lot of time.
- Download an ISO and create a VirtualBox image
- Start the so-called "preseeding", which automatically runs the Ubuntu installer
- Export VM image to OVA file
Copy the files specified in the JSON template to the VM and run the provision.sh
script so setup the image.
Please take a look at the log files packerlog_create.txt
and packerlog_provision.txt
.
The Bitcraze VM can either be downloaded via torrent or via direct download.
The virtual appliance can be imported into VirtualBox.
It can be used with oter virtual machine manager however setting up the guest addition might be required. The following have been tested
After importing just run the machine. It logs in automatically but use the following credentials if needed:
User: bitcraze
Pass: crazyflie
For more information on debugging, building, flashing and updating to the latest version have a look at our Documentation