This process is mainly used with the ISOconnect Hardware modules from BHTronik, but it can be used in any project. A matching partitioning scheme needs to be available, as Well as RAUC.
Process: AppFS + RootFS + ConfigFS signed server side
On the HawkBit server carryout below steps:
Creation and upload of software artifacts
Create a new software module or use existing software module to upload update artifacts. For definitiondist, we need to create 3 software modules each for rootfs, appfs and configfs. Select appropriate type, name and version number while creating modules.
2. Next step is to upload the update artifacts to the hawkBit. Select the software module and upload the artifact using Upload File option. Upload respective images to corresponding software modules.
Note: We need to upload a hook.sh script along with rootfs software module. This script is needed to create rauc manifest file.
3. In the Distribution tab, create new distribution. Select type as “definitiondist” and provide appropriate name and version. Version is mandatory field. Then, save the distribution.
4. Once the distributions are created, we need to assign newly created or existing software modules to respective distribution. For this, drag and drop software module from right panel to distribution on the left panel. Verify the assignment before confirming.
5. Repeat the above step to assign all 3 types of filesystem (rootfs, appfs, configfs) software modules to distribution set. This can be checked in Modules section of distribution management.
6. After assigning software modules, we need to add Metadata to the distribution set in distribution management tab. This data will be used by Signing Service to create rauc bundle and for signing.
7. Create 2 tags: compatibility : <> ; status : frozen
Pay special attention to naming of key tag and they are case sensitive. Before setting status=frozen, ensure that all update artifacts are uploaded to hawkBit server. This is necessary because once status=frozen is set, signing service will start bundling automatically.
8. Once the signing service creates the signed bundle it will be automatically available in the hawkBit. We can check this by selecting Filter Type as testingdist and selecting respective distribution. The final artifact will have .raucb as file extension.
Now, the distribution type should be testingdist and software module type should be raucbundle.
9. Now this distribution can be deployed the target hardware device in the Deployment Management tab.
10. To deploy the package, select the distribution from Distributions panel and select the target device from the Targets panel. Then, drag and drop the distribution to target. Currently, only Forced
The client rauc-hawkbit-updater client running on the device will poll the hawkbit server and will download, verify and install the bundle automatically. The bundle installation progress can be viewed in our iot-suite dashboard.