Skip to content

Enable Offline Capabilities

ToloMEO offline capabilities add an on-device data-retention and cloud-relay stack (a local time-series database and a bridge service) so a device keeps working and buffering while disconnected. The stack is delivered by the meta-tolomeo-offline layer and is disabled by default.

Licensed feature

Offline capabilities are gated behind a private repository and require a licensed access token. Contact DAVE Embedded Systems sales at sales@dave.eu to request access.


Get Access

The offline stack is fetched from the private ToloMEO Bridge repository. DAVE provides you with a dedicated GitLab access token for it. Request one from DAVE Embedded Systems sales at sales@dave.eu.

Once you have received the token, export it before building:

export TLM_GITLAB_TOKEN="<access-token>"
# git authenticates with username "oauth2" (TLM_GITLAB_USER default); override only if instructed.

The token is embedded in the fetch URL by the kas/offline.yml fragment. If it is missing, the build stops at parse time with a clear error instead of attempting the fetch.


Build a Standalone QEMU Image

Offline is opt-in per build by appending the kas/offline.yml fragment to the target configuration.

With offline capabilities:

export TLM_GITLAB_TOKEN="<access-token>"
kas build kas/tolomeo-qemux86-64_tolomeo-prod_image-prod.yml:kas/offline.yml

Without offline capabilities (default — no token required):

kas build kas/tolomeo-qemux86-64_tolomeo-prod_image-prod.yml

The same applies to the other targets (image-devel, image-test-prod): append :kas/offline.yml to opt in.


Integrate Into Your Own Project

When you integrate meta-tolomeo as a source layer (see Build Your Own BSP Layer), enable offline from your own kas configuration:

  1. Enable the layer — add meta-tolomeo-offline to the meta-tolomeo layer list in your kas configuration.
  2. Forward the credentials — include the shared credential fragment (see kas Configuration) so the token reaches BitBake:

    header:
      includes:
        - repo: meta-tolomeo
          file: kas/gitlab-auth.yml
    
  3. Supply the token — export TLM_GITLAB_TOKEN with your access token before building.

Reuse for other private repositories

kas/gitlab-auth.yml exposes a generic TLM_GITLAB_USER / TLM_GITLAB_TOKEN pair. Reuse the same pair for any other DAVE private repository your project fetches; only introduce a distinct variable if a repository needs a different credential.


Troubleshooting

A GitLab sign-in dialog appears during the build

Most often the token was exported unquoted, so the shell mangled it before the build could use it. Always quote it:

export TLM_GITLAB_TOKEN="<access-token>"

If the dialog still appears, git is falling back to its interactive credential helper. Disable the prompt so the build fails explicitly instead of blocking on a dialog:

export GIT_TERMINAL_PROMPT="0"
unset GIT_ASKPASS SSH_ASKPASS

Fetch fails with an authentication error

Confirm the token is non-empty and matches the one DAVE provided. If a valid token is still rejected, it may have expired or lost access — contact DAVE to have it renewed. You can test it directly:

GIT_TERMINAL_PROMPT=0 GIT_ASKPASS= git ls-remote \
  "https://oauth2:${TLM_GITLAB_TOKEN}@gitlab.com/DAVEEmbeddedSystems/innovation-lab/tlm/edge/linux/tlm-bridge.git"

See also