Skip to content
Snippets Groups Projects
Select Git revision
  • 4c09783723ccf7fa7a9d519ebc6ec574a69e065a
  • experimental
  • master
  • v2021.1.2-ffs
  • v2021.1.1-ffs
  • nrb/gluon-master-cpe510
  • v2021.1-ffs
  • v2020.2.3-ffs
  • nrbffs/fastd-remove-delay
  • v2020.2.2-ffs
  • v2020.2.1-ffs
  • v2020.2-ffs
  • v2020.2.x
  • v2020.1.3-ffs
  • v2020.1.1-ffs
  • v2020.1-ffs
  • v2019.1.2-ffs
  • v2019.1.1-ffs
  • nrb/test-radv-filter
  • v2019.1-ffs
  • nrbffs/netgear-ex6120
  • v2021.1.2-ffs0.2
  • v2021.1.2-ffs0.1
  • v2021.1.1-ffs0.4
  • v2021.1.1-ffs0.3
  • v2021.1.1-ffs0.2
  • v2021.1.1-ffs0.1
  • v2021.1-ffs0.1
  • v2020.2.3-ffs0.3
  • v2020.2.3-ffs0.2
  • v2020.2.3-ffs0.1
  • v2020.2.2-ffs0.1
  • v2020.2.1-ffs0.1
  • v2020.2-ffs0.1
  • v2020.2
  • v2020.2.x-ffs0.1
  • v2020.1.3-ffs0.1
  • v2020.1.1-ffs0.1
  • v2020.1-ffs0.1
  • v2019.1.2-ffs0.1
  • v2019.1.1-ffs0.1
41 results

autoupdater.rst

Blame
  • Forked from firmware / FFS Gluon
    3709 commits behind the upstream repository.
    user avatar
    Johannes Rudolph authored and Matthias Schiffer committed
    4c097837
    History
    autoupdater.rst 2.21 KiB

    Autoupdater

    Gluon contains an automatic update system which can be configured in the site configuration.

    Building Images

    By default, the autoupdater is disabled (as it is usually not helpful to have unexpected updates during development), but it can be enabled by setting the variable GLUON_BRANCH when building to override the default branch set in the set in the site configuration.

    A manifest file for the updater can be generated with make manifest. A signing script (using ecdsautils) can by found in the contrib directory. When creating the manifest, GLUON_PRIORITY can be set on the command line, or it can be taken from the site.mk.

    The priority defines the maximum number of days that may pass between releasing an update and installation of the images. The update probability will start at 0 after the release time mentioned in the manifest and then slowly rise to 1 up to the point when the number of days given by the priority has passed.

    The priority may be an integer or a decimal fraction.

    A fully automated nightly build could use the following commands:

    git pull
    (cd site && git pull)
    make update
    make clean
    make -j5 GLUON_TARGET=ar71xx-generic GLUON_BRANCH=experimental
    make manifest GLUON_BRANCH=experimental
    contrib/sign.sh $SECRETKEY output/images/sysupgrade/experimental.manifest
    
    rm -rf /where/to/put/this/experimental
    cp -r output/images /where/to/put/this/experimental

    Infrastructure

    We suggest to have following directory tree accessible via http:

    firmware/
            stable/
                    sysupgrade/
                    factory/
            snapshot/
                    sysupgrade/
                    factory/
            experimental/
                    sysupgrade/
                    factory/

    The server must be available via IPv6.

    Command Line

    These commands can be used on a node:

    # Update with some probability
    autoupdater
    # Force update check, even when the updater is disabled
    autoupdater -f
    # If fallback is true the updater will perform an update only if
    # the timespan given by the priority and another 24h have passed
    autoupdater --fallback