View Source Nerves.Runtime.FwupOps (nerves_runtime v0.13.7)

Convenience functions for /usr/share/fwup/ops.fw

The /usr/share/fwup/ops.fw is provided by the Nerves system for handling some eMMC/MicroSD card operations. Look for fwup-ops.conf in the Nerves system source tree for more details. It used to be called revert.fw/fwup-revert.conf when it only handled reverting which firmware image was active.

Summary

Types

General options for utilities

Functions

Reset the application data partition to its original state

Make it impossible to revert to the other partition

Revert to the previous firmware

Validate the current partition

Types

@type options() :: [{:reboot, boolean()}]

General options for utilities

Functions

Link to this function

factory_reset(opts \\ [])

View Source
@spec factory_reset(options()) :: :ok | {:error, reason :: any()}

Reset the application data partition to its original state

This clears out the application data partition at a low level so that it will be reformatted on the next boot. If all application settings are stored on the partition, then this will be like a factory reset. Be aware that many settings are stored on the application data partition including network settings like WiFi SSIDs and passwords. Factory reset devices may not connect to the network afterwards.

@spec prevent_revert() :: :ok | {:error, reason :: any()}

Make it impossible to revert to the other partition

This wipes the opposite firmware partition and clears out metadata for it. Attempts to revert will fail. This is useful if loading a special firmware temporarily that shouldn't be used again even accidentally.

@spec revert(options()) :: :ok | {:error, reason :: any()} | no_return()

Revert to the previous firmware

This invokes the "revert" task in the ops.fw and then reboots (unless told otherwise). The revert task switches the active firmware partition to the opposite one so that future reboots use the previous firmware.

@spec validate() :: :ok | {:error, reason :: any()}

Validate the current partition

For Nerves systems that support automatic rollback of firmware versions, this marks the partition as good so that it will continue to be used on future boots.

Call Nerves.Runtime.validate_firmware/0 instead.