Reducing bootstrap time by using state directory

Why the qbee bootstrap process takes time and how to resolve this

If you bootstrap qbee devices and your configuration contains a lot of large files that need to be downloaded and/or installed this can make the qbee bootstrap process quite lengthy. By using a state directory in your image you can pre-populate large files in that directory saving time and bandwidth. This works both if you bootstrap and deploy in a manufacturing situation or our there in the field.

  • pre-populate large files such that time and bandwidth can be saved under the initial bootstrap
  • maintain flexibility because if your configuration contains a newer file it will still be downloaded and applied automatically.

Here is how you create this setup:

  1. On a development instance, bootstrap a single device:

    • this will establish a link between the device and the device hub

    • as well as download and execute configuration from the group to which device was bootstrapped. This will cause all files in scope to be downloaded to the development device.

  2. Once complete, copy the contents of the state directory (by default /var/lib/qbee) and use during image/firmware build