Device preparation

An SD card or USB attached storage device can be prepared to install content on a Bridge device in the following three ways:

  • Bootstrap - To set the update-locations and load certificates.
  • Update - Contains a device configuration consisting of packages to be installed or updated.
  • Recovery - Contains a rescue image to get the device to boot if the system is no longer bootable.

Bootstrap

This set up of an SD card/USB attached storage can be used to put an initial configuration on many devices. The media contains certificates and a update-locations file that will be copied to the device after which an update is performed. This allows for large files and packages to be installed via the quicker file copy from SD card or USB storage, compared to downloading via WiFi.

The attached media needs to be prepared using a specific file structure.

/boot/<schema-version>/<hw-id>/update-locations
/boot/<schema-version>/<hw-id>/certificates/*

The current schema number is 2 and the current hardware ID is bridge. Note that these are not expanding variables! To be clear, when the file is using schema 2, the path on SD card/USB storage should be /boot/2/bridge/update-locations, and when the file is using schema 1, the path should be /boot/1/bridge/update-locations.

You can use the right file paths and URI combination in the update-locations file to make the " Software update" process copy the packages from the medium now, and from a server in the future, when the medium has been removed, see updating devices before first use for more details

Update

If you want to keep a device's configuration intact but want to update the packages of that configuration, this can be achieved by creating an update SD card/USB attached storage device. This will contain the latest packages, but no update-locations file. When the "Software update" application is started and all defined packages are available on the attached media, they will be used to update the device.

This only makes sense when the initially copied update-locations file is set up to update from SD card/USB attached storage and remote locations.

Triggering a configuration and update automatically

As of 17.3 Poretti it's possible to trigger that the device is configured and updated as soon as a new update-locations file is detected. This is particularly helpful with devices that have never been configured before as it allows distributors to have less interaction when initially configuring devices. This can be done by:

  1. Rename the update-location file with the .auto file extension. For example: /boot/2/bridge/update-locations.auto
  2. Insert sd card or attach USB storage.
  3. As soon as the SD card or USB attached storage is detected the software update application should begin.
  4. The process will either successfully complete or fail with an error, either way the user will have visual feedback of the outcome

If there is an error during the process the update must be manually triggered again.

Recovery

When a device starts up in recovery mode, it can still be saved by installing the rescue image. To do this, simply copy the rescue.img file to the root of an SD card or USB attached storage device -this can be the same location as the bootstrap media - and insert/attach it into the device.

A blue line will show the progress of the recovery process and when done a reboot will follow. If the medium was configured as a bootstrap card and the recovery process reformatted the content partition due to file system issues, the device will be bootstrapped anew and an update will run after the reboot.