LogoLogo
1.0.0
1.0.0
  • Introduction
  • High level architecture
  • Public key infrastructure
  • Terminology
  • Tutorials
    • Quickstart
    • Production Setup with NervesKey
  • Nerves Hub
    • Setup
      • Add NervesHub to your project
      • Connecting to your environment
      • Firmware signing keys
      • Products
      • Devices
      • Firmware
      • Deployments
    • Command-line tools
    • Managing organizations and products
    • Device management
    • HTTP API
    • Device WebSocket
  • Nerves Key
    • Introduction
    • NervesKey for Raspberry Pi
    • Private keys and certificates
    • General NervesKey storage
    • Provisioning in Elixir
    • Nerves integration
    • NervesHubLink integration
    • MQTT integration
Powered by GitBook
On this page
  • Publishing
  • Delta Updates

Was this helpful?

  1. Nerves Hub
  2. Setup

Firmware

PreviousDevicesNextDeployments

Last updated 9 months ago

Was this helpful?

Publishing

Uploading firmware to NervesHub is called publishing. To publish firmware start by calling:

mix firmware

Firmware can only be published if has been signed. You can sign the firmware by running.

mix nerves_hub.firmware sign --key devkey

Firmware can also be signed while publishing:

mix nerves_hub.firmware publish --key devkey

Delta Updates

With Delta updates, NervesHub can compare two binary files and only update the pieces of the firmware that have changed. This can reduce the size and cost of OTA updates by up to 95%. There are a few requirements to use Delta Updates:

  • You will need to enable delta updates, on a per product basis, on the product settings page in your account.

  • fwup >= 1.6.0 - If your nerves system is based on nerves_system_br >= 1.11.2 then this condition is met. If not, you may need to upgrade your nerves system.

  • nerves_hub_link >= 0.9.1

  • Delta update compatible nerves system

    • If needed, you can find instructions in for how to make the necessary changes in your system to support firmware patches.

    • see for instructions on creating your own Nerves system if needed.

nerves-hub.org
Nerves: Experimental Features
Nerves: Customizing Systems