FwupDelta

A library for generating fwup delta updates from Elixir. Fwup itself does not provide a way to generate delta updates.

This can be used as a library in Elixir code for your OTA platform, a mix task during your Nerves development or even for scripting.

This was extracted from NervesHub which had the only reference implementation of this procedure.

Installation

Most easy to install using igniter in your project:

mix archive.install hex igniter_new
mix igniter.install fwup_delta

Or the package can be installed by adding fwup_delta to your list of dependencies in mix.exs:

def deps do
  [
    {:fwup_delta, "~> 0.1.0"}
  ]
end

Mix task

After installing the package you run:

mix fwup.delta firmware_1.fw firmware_2.fw

Scripting

Assuming you have Elixir installed:

Mix.install([:fwup_delta])

{:ok, %{filepath: delta_fw}} = FwupDelta.generate({:local, "firmware-v1.0.fw"}, {:local, "firmware-v2.0.fw"})

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/fwup_delta.