Uploaded image for project: 'Mender'
  1. Mender
  2. MEN-4246

mender-binary-delta does not work with libubootenv

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done
    • Priority: (None)
    • Resolution: Fixed
    • Affects Version/s: yocto-3.1-dunfell
    • Fix Version/s: 2.5.1, 2.6.0, 2.4.2
    • Labels:
    • Days in progress:
      10

      Description

      mender-binary-delta still uses the old syntax, e.g:

      fw_setenv variable 1
      

      while libubootenv only supports the following:

      fw_setenv variable=1
      

      This essentially means that "mender-binary-delta" does not work on Yocto Project Dunfell release, since libubootenv is the default there.

      Here is the deployment log when trying to deploy delta updates on dunfell:

      2020-12-11 14:41:44 +0000 UTC info: Running Mender client version: 2.4.1
      2020-12-11 14:41:45 +0000 UTC info: State transition: update-fetch [Download_Enter] -> update-store [Download_Enter]
      2020-12-11 14:41:45 +0000 UTC info: No public key was provided for authenticating the artifact
      2020-12-11 14:41:56 +0000 UTC info: State transition: update-store [Download_Enter] -> update-after-store [Download_Leave]
      2020-12-11 14:41:56 +0000 UTC info: State transition: update-after-store [Download_Leave] -> update-install [ArtifactInstall]
      2020-12-11 14:41:56 +0000 UTC info: State transition: update-install [ArtifactInstall] -> reboot [ArtifactReboot_Enter]
      2020-12-11 14:41:56 +0000 UTC info: Rebooting device(s)
      2020-12-11 14:44:08 +0000 UTC info: Running Mender client version: 2.4.1
      2020-12-11 14:44:08 +0000 UTC info: State transition: init [none] -> after-reboot [ArtifactReboot_Leave]
      2020-12-11 14:44:08 +0000 UTC info: Update module output: Not running the new update as expected
      2020-12-11 14:44:08 +0000 UTC error: Update module terminated abnormally: exit status 1
      2020-12-11 14:44:08 +0000 UTC error: transient error: Update module terminated abnormally: exit status 1
      2020-12-11 14:44:08 +0000 UTC info: State transition: after-reboot [ArtifactReboot_Leave] -> rollback [ArtifactRollback]
      2020-12-11 14:44:08 +0000 UTC info: Performing rollback
      2020-12-11 14:44:08 +0000 UTC info: Update module output: Error: The boot environment does not have an update available
      2020-12-11 14:44:08 +0000 UTC error: Update module terminated abnormally: exit status 1
      2020-12-11 14:44:08 +0000 UTC error: Rollback failed: Update module terminated abnormally: exit status 1
      2020-12-11 14:44:08 +0000 UTC error: fatal error: Update module terminated abnormally: exit status 1
      2020-12-11 14:44:08 +0000 UTC info: State transition: rollback [ArtifactRollback] -> update-error [ArtifactFailure]
      2020-12-11 14:44:08 +0000 UTC info: Update module output: Warning: Unhandled/Unknown state received: ArtifactFailure
      2020-12-11 14:44:08 +0000 UTC info: State transition: update-error [ArtifactFailure] -> cleanup [Error]
      2020-12-11 14:44:08 +0000 UTC info: State transition: cleanup [Error] -> update-status-report [none]
      

      It is similar to MEN-3970, but it does not brick devices, it just does not update variables, and hence the deployment always fails.

      The fix probably needs to be similar to MEN-3970, meaning that we need to check which syntax is supported first and use what ever works to support both libubootenv and U-boot pre 2018

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                lluis Lluís Campos
                Reporter:
                mirzak Mirza Krak
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support

                    Summary Panel