nerves_runtime v0.6.2 Nerves.Runtime

Nerves.Runtime contains functions useful for almost all Nerves-based devices.

Link to this section Summary

Functions

Run system command and log output into logger

Halt the device (meaning hang, not power off, nor reboot)

Power off the device

Reboot the device and gracefully shutdown the Erlang VM

Revert the device to running the previous firmware

Link to this section Types

Link to this type revert_options()
revert_options() :: {:reboot, boolean()}

Options for Nerves.Runtime.revert/1.

Link to this section Functions

Link to this function cmd(cmd, params, out)
cmd(binary(), [binary()], :debug | :info | :warn | :error | :return) ::
  {Collectable.t(), exit_status :: non_neg_integer()}

Run system command and log output into logger.

Link to this function halt()
halt() :: :ok

Halt the device (meaning hang, not power off, nor reboot).

Note: this is different than :erlang.halt(), which exits BEAM, and may end up rebooting the device if erlinit.config settings allow reboot on exit.

Link to this function poweroff()
poweroff() :: :ok

Power off the device.

This calls :init.stop/0 internally. If :init.stop/0 takes longer than the erlinit.config’s --graceful-powerdown setting (likely 10 seconds) then the system will be hard rebooted.

Link to this function reboot()
reboot() :: :ok

Reboot the device and gracefully shutdown the Erlang VM.

This calls :init.stop/0 internally. If :init.stop/0 takes longer than the erlinit.config’s --graceful-powerdown setting (likely 10 seconds) then the system will be hard rebooted.

Link to this function revert(opts \\ [])
revert([revert_options()]) :: :ok | {:error, reason :: any()}

Revert the device to running the previous firmware.

This requires a specially constructed fw file.