Mender Yocto Layer

repository·master·Indexed 41 days ago

https://github.com/mendersoftware/meta-mender

A Yocto meta layer providing recipes to integrate the Mender client into Yocto-based images for over-the-air (OTA) updates on embedded Linux devices. It includes several layers: meta-mender-core for core components, meta-mender-extended for additional dependencies, meta-mender-qemu for emulator support, and meta-mender-commercial for commercial features available to Hosted Mender or Mender Enterprise subscribers.

Tokens
1.7K
Snippets
1
Records
11
Agent score
51%

What's inside Mender

  1. Overview of meta-mender

    master
    The meta-mender repository is a Yocto meta layer providing the recipes required to integrate the Mender client into a Yocto-based image. It allows developers to include Mender's update capabilities directly within their Yocto build process.
  2. Understand Mender maintenance states

    master

    Mender uses a release-named branch strategy. When choosing a branch for your project, consider the following maintenance states:

    StateMaintenance level
    bleeding edgeExpect breakage; no guarantees for functionality.
    developmentStabilized development. Not recommended for production; breakage is considered a bug and will be fixed. Feature submissions should be applied here first.
    stableReady for production. Stability takes precedence over features.
    end of lifeNo maintenance. Expect security problems and breakage. Updating to a stable branch is highly recommended.

    Currently, the master branch is in the development maintenance state.

  3. Identify supported meta-mender layers

    master

    The repository contains several layers, each serving a different purpose. Choose the layer that matches your deployment needs:

    • meta-mender-core: Contains the core components of Mender.
    • meta-mender-extended: Contains extended components of Mender.
    • meta-mender-demo: A demo layer intended for testing; not intended for production.
    • meta-mender-qemu: Provides QEMU emulator board support for testing.

    Note on Commercial and Community layers:

    • For commercially available components, use the meta-mender-commercial layer.
    • For additional hardware platform support, refer to the meta-mender-community repository.
  4. Create a new Mender release recipe

    master

    To create a new release recipe for the mender-client, follow these steps to ensure the BitBake recipe is correctly configured for the new version:

    1. Clone the previous recipe: Copy the most recent recipe from an earlier release to the new filename (e.g., cp mender_4.0.0.bb mender_4.0.1.bb).
    2. Update SRC_URI branch: Edit the branch setting within the SRC_URI variable to point to the correct branch for the release. Use the branch name, not the tag.
    3. Update Tag comment: Update the Tag comment in the file to reflect the correct tag.
    4. Set SRCREV: Update the SRCREV variable to the specific git revision of the tag being released. You can find this using git show <tag>.
    5. Update License Checksum: Update the LIC_FILES_CHKSUM value. It is recommended to use the make_bitbake_license_list.sh utility to calculate the new checksum and verify that the resulting licenses match the contents of the LICENSE file.
    6. Repeat for dependencies: If applicable, repeat this entire process for the mender-artifact recipe.
  5. License requirements for the Mender Yocto layer

    master

    To use the Mender Yocto layer provided by Northern.tech (NT), you must satisfy the following three conditions:

    1. Subscription: You must have an active Hosted Mender subscription or Mender Enterprise on-premise software subscription.
    2. Agreement Acceptance: You must accept the software's open source and closed source license terms, as well as the terms of your specific Mender agreement.
    3. Third-Party Terms: You must accept the terms of any third-party software that is accessed through the Mender Yocto layer.

    Usage of the layer software is governed by the legal venue and governing law stipulated in your Mender agreement.

  6. Downprioritize a recipe for beta releases

    master

    When releasing a beta version of a recipe, you should set a version preference to ensure it is not automatically selected over stable releases in version selections. Add the following block to the bottom of the .bb recipe file:

    # Downprioritize this recipe in version selections.
    DEFAULT_PREFERENCE = "-1"

    For non-beta (stable) releases, ensure this block is removed from the recipe.

  7. Closed source license terms for the Mender Yocto layer

    master

    The Mender Yocto layer contains closed-source components subject to the following terms:

    Grant of License

    NT grants a non-transferable, non-sublicensable, non-exclusive license to use the object code form of the layer software for your entity's business purposes during your Mender subscription term. Use must comply with the provided technical and user documentation.

    Installation and Usage

    • Scope: You may install the software only on computers and devices under your control and management.
    • Authorized Users: Use is limited to your customers, employees, required affiliates, and contractors.
    • Device Limit: Usage is limited to the number of devices covered by your Mender subscription.
    • Backups: You may make a reasonable number of copies for backup and archival purposes.

    Restrictions

    You are prohibited from:

    • Decompiling, disassembling, or reverse engineering the software to discover source code, algorithms, or interfaces (except where permitted by law with prior written notice to NT).
    • Distributing, selling, sublicensing, renting, leasing, or providing the software via hosting or service provision.
    • Removing any proprietary or copyright notices.
    • Modifying the software or creating derivative works unless expressly authorized in writing by NT.

    Warranty and Liability

    • Warranty Period: NT warrants that the software will operate in substantial conformity with its documentation for 90 days from the date of download.
    • Remedies: If a breach occurs, NT may provide an error-correction, a workaround, or a replacement. If these are impracticable, NT may terminate the Mender agreement and refund the subscription fee for the non-conforming software.
    • Exclusions: The warranty is void if the software is used with unspecified hardware/software, if modifications are made, or if defects result from accident or abuse.
    • Liability Cap: NT's total liability is limited to the amount paid by the customer under the Mender agreement during the six-month period preceding the incident.