RAUC hawkBit Updater
The RAUC hawkBit updater is a simple commandline tool / daemon written in C (glib). It is a port of the RAUC hawkBit Client written in Python. The daemon runs on your target and operates as an interface between the RAUC D-Bus API and the hawkBit DDI API.
The RAUC hawkBit updater is primarily meant to be used as a daemon, but it also allows you to do a one shot instantly checking and install new software.
To quickly getting started with hawkBit server, follow this instruction.
Setup target (device) configuration file:
[client] hawkbit_server = 127.0.0.1:8080 ssl = false ssl_verify = false tenant_id = DEFAULT target_name = test-target auth_token = bhVahL1Il1shie2aj2poojeChee6ahShu bundle_download_location = /tmp/bundle.raucb retry_wait = 60 ; 1 min. retry wait connect_timeout = 20 ; 20 secs. connection timeout timeout = 60 ; 1 min. timeout log_level = debug ; debug, info, message, warning, critical [device] product = Terminator model = T-1000 serialnumber = 8922673153 hw_revision = 2 ; With working shapeshifting key1 = value key2 = value
All key/values under [device] group are sent to hawkBit as data (attributes). The attributes in hawkBit can be used in target filters.
Finally start the updater as daemon:
./rauc-hawkbit-updater -c config.conf
When setting the log level to 'debug' the RAUC hawkBit client will print JSON payload sent and received. This can be done by using option -d.
./rauc-hawkbit-updater -d -c config.conf
mkdir build cd build cmake .. make
Usage / options
/usr/bin/rauc-hawkbit-updater --help Usage: rauc-hawkbit-updater [OPTION?] Help Options: -h, --help Show help options Application Options: -c, --config-file Configuration file -v, --version Version information -d, --debug Enable debug output -r, --run-once Check and install new software and exit -s, --output-systemd Enable output to systemd