Hawkbit

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

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.