Firmware Update

Official Linux Automation GmbH firmware updates for the LXA TAC are distributed via two release channels:

Stable

The Stable channel is updated roughly four times a year with RAUC bundles and images that were manually tested and reviewed for production readiness.

The Release channel is the recommended release channel for the majority of TACs.

Testing

Firmware images and RAUC bundles in the Testing channel are automatically generated from the main branch of the meta-lxatac repository, automatically tested on a LXA TAC in our CI infrastructure and, on success, automatically published.

Use this release channel on some of your TACs if you are interested in the most recent development.

You can also build your own firmware images and bundles to e.g. automatically deploy configuration matching you lab setup. See the README in the meta-lxatac repository on GitHub for more information about the build process and how to customize it.

Update Notifications

If polling for updates is enabled you will be notified about available updates via the web interface and the LCD on the TAC.

Note

You can enable update polling in the setup wizard. Use the buttons on your device to enter the setup wizard.

Screenshot of the LCD on the device showing the following text: "Welcome to your TAC! Please continue at http://<url> or http://<ip>."

The content of the local display informing you about an update.

Migrating Files

Updates on the TAC are installed using an A/B mechanism. This means there are two slots for root filesystems, the one that is currently booted and another one into which the next root filesystem will be installed.

Files from the running root filesystem, that should still be available after an update, need to be copied during the installation of an update. Which files to migrate is specified using a script in the update bundle. The default migrations in these bundles should cover most use-cases.

A list of files in /etc/rauc/migrate.d can be used to specify additional files to migrate during an upgrade:

root@lxatac-00002:~ cat /etc/rauc/migrate.d/git_config.conf
/etc/gitconfig
/home/root/.gitconfig

Note

Changes to config files that are not migrated will be lost without notification!

Changing Channels

To install a RAUC bundle from a different release channel than the one you are currently using you need to configure RAUC to trust bundles from said channel.

This can be done via the rauc-enable-cert script on the TAC, which creates the required symbolic links and hashed certificate indices:

root@lxatac-00002:~ ls /etc/rauc/certificates-available/
devel.cert.pem    stable.cert.pem    testing.cert.pem
root@lxatac-00002:~ rauc-enable-cert
Usage: rauc-enable-cert cert.pem
Available certificates:
devel.cert.pem testing.cert.pem stable.cert.pem

root@lxatac-00002:~ rauc-enable-cert testing.cert.pem

Once you’ve marked bundles from a specific channel as trusted you can install them via:

root@lxatac-00002:~ rauc install https://downloads.linux-automation.com/…