Firmware Management

Firmware Management

What is firmware in Greengrass?

Firmware in Greengrass refers to the software embedded within the hardware devices connected to the platform. It acts as the operating system for these devices. It provides them the necessary functionality to interact with other devices and the cloud. Firmware in Greengrass manages communication protocols, data processing, security, and other essential tasks. It is crucial for ensuring the smooth and efficient operation of the connected devices in the Greengrass ecosystem.

Artifacts in firmware refer to any traces, remnants, or evidence left behind by the development or use of firmware. These artifacts can include files, logs, temporary data, configuration settings, or any other non-volatile information stored in the firmware. These artifacts can be important for forensic analysis, reverse engineering, or troubleshooting. They can provide insights into the firmware’s development process, configuration settings, or potential security vulnerabilities. Proper management and handling of artifacts in firmware is crucial for ensuring embedded systems’ integrity, security, and reliability.

Overview

Firmware management in Greengrass involves two main components: components and deployments.

To begin, a user can create a component using artifacts and a recipe. Artifacts are the files and dependencies needed for the component, while a recipe describes how these artifacts are used to build the component.

To create a firmware, the user needs to select a template, which serves as the starting point for the firmware. This template includes predefined components that can be customized or replaced with custom components created by the user.

Once the components are finalized, they can be published and available for deployment. Deployments allow the user to push the firmware to the desired devices securely and efficiently.

Create a component

To create a component:

  1. From the left navigation, mouseover the Devices module. Click Greengrass Device. In the middle and toward the down, select Firmware.
  2. Along the top and toward the right, select Components.
  3. Enter data in the following fields:

firmware

(Screen: Create Component)

    • Artifacts: Software code that is stored on hardware devices till new deployment. You can upload files in .txt, .zip, .iso, .py formats.
    • Recipe: A set of instructions for updating the firmware in a device. It involves copying files to memory and executing commands to update the firmware. You can upload files in .json and .yaml formats.
  1. Click Save to create a component.

Required fields have a red asterisk on the upper-right side of every field name.

The component list will reflect your component.

Components List

The components list comes right under the Create Component section:
The components list displays a component name, latest version, artifact file number, updated on with the date and time, and actions.

firmware

(Screen: Component List)

Actions: Update or delete a component.

    • Components filter
      1. Apply the filter from the top-right corner of the components list.
      2. Add filters like name and latest version by selecting the + icon.
      3. Add or remove any filter at any time.

firmware

(Screen: Components Filter)

IoTConnect offers two components filters. Apply any filter and enter the required keywords to retrieve matching results in the components list. Click Apply Filter to apply it.

Create Firmware

To create a firmware:

  1. From the left navigation, mouseover the Devices module. Click Greengrass Device. In the middle and toward the down, select Firmware.
  2. Along the top and toward the right, select Create Firmware.
  3. Enter data in the following fields:

firmware

(Screen: Create Firmware)

    • Name: Enter a unique name for the firmware.
    • Template: Select the template from the dropdown list.
    • Custom Components: Select the custom components from the dropdown list.
    • Public Components: By utilizing the public components provided by AWS, firmware developers can foster collaboration and modularity, making integration and customization of the firmware smoother. These pre-built public components enable developers to easily incorporate and tailor their firmware to meet their needs.
  1. Click Save to create a firmware.

Deployments

To deploy:

  1. From the left navigation, mouseover the Devices module. Click Greengrass Device. In the middle and toward the down, select Firmware.
  2. Along the top and toward the right, select Deployments.
  3. Enter data in the following fields:

firmware

(Screen: Deployment)

    • Deployment: Enter a unique name for deployment.
    • Firmware: Select firmware from the drop down which you want to deploy. When your selected firmware has multiple components, it will appear on the right side with the checkbox to select. You can choose one or more components to deploy.
    • Target type: You can select the target type from the drop down.
    • Target: You will get a created device list in the target drop down.
  1. Click Deploy to create a firmware.
    • Deployment history
    • The deployment history comes right under the deployment section:
      The deployment history displays a deployment name, firmware, component count, updated on, entity and status.

firmware

(Screen: Deployment History)

    • Deployment history filter
      1. Apply the filter from the top-right corner of the deployment history.
      2. Add filters like deployment name, firmware name and entity by selecting the + icon.
      3. You can deploy firmware anytime and check more details using deployment history.

firmware

(Screen: Deployment History Filter)

Firmware List

To view the firmware list:

  1. From the left navigation, mouseover the Devices module. Click Greengrass Device. In the middle and toward the down, select Firmware.
  2. The firmware list displays the firmware name, component count, description, created date and actions.

firmware

(Screen: Firmware List)

Edit Firmware

To edit a firmware:

  1. Click on the Firmware Name from the firmware list or select the Edit Firmware icon from the actions lane. A click on either will show you the fields to edit.
  2. You can edit everything about firmware. It includes firmware name, description, template, custom components and public components.

firmware

(Screen: Edit Firmware)

  1. Click Save to save changes of firmware edits.

Delete Firmware

To delete a firmware:

  1. Select the Delete Firmware icon from the actions lane.
  2. It will present the dialogue box titled ‘Delete’.

firmware

(Screen: Delete Firmware)

  1. Click OK to delete a firmware.