Hawkbit is a framework to send updates to a device through IP .This provides a very Easy UI which can be used to rollout updates and it’s opensource.This is used in IOT devices where system updates & applications are to be updated on remote device.
Running a Hawkbit Server on the Linux System in a Docker
$git clone https://github.com/eclipse/hawkbit.git
$cd hawkbit/hawkbit-runtime/docker
$sudo apt-get install curl
#please refer to the page https://github.com/docker/compose/releases
and replace the release version with the appropriate one instead 1.25.4
$sudo curl -k -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$sudo chmod +x /usr/local/bin/docker-compose
$sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
$sudo apt install docker.io
$sudo systemctl start docker
$sudo systemctl enable docker
copy the docker-compose.yml file and the application.properties to /home/user and run the below command
$sudo docker-compose up –d
go to a web browser and go to https://localhost:8080 and enter the login credentials
username:admin
password:admin
This is the file which needs to be changed for configuring user details and hosting the server on a particular IP
"hawkbit/hawkbit-runtime/hawkbit-update-server/src/main/resources/application.properties"

This is the Home page of The Hawkbit server
You Have to Click on “+” under the targets to add a new target device . This is used to identify the device and a Security token is generated when a new target device is added in the list in the server which should be added in the device/client which is described in the further section.

after this under upload management a new software module is added by clicking on the + sign and a file to updated is dragged and dropped/added by clicking upload file under the upload section .

Running Hawkbit Client
You can run this on a reference board like rpi or another Linux machine .
$git clone https://github.com/rauc/rauc-hawkbit-updater.git
$cd rauc-hawkbit-updater/
$mkdir build
$cd build
$cmake ..
$make
$make install
$vi /home/user/config.cfg
[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
connect_timeout = 20
timeout = 60
log_level = debug
[device]
product = Terminator
model = T-1000
serialnumber = 8922673153
hw_revision = 2
key1 = value
key2 = value
$rauc-hawkbit-updater -c /home/user/congig.cfg

One thought on “Hawkbit”