Skip to content

[RAUC] add rauc basis functions

Carlo Ferriolo requested to merge cf/rauc into scarthgap_kickoff

In this commit has been added service and recipe to make the rauc updating possible. The packagegroup dedicated to rauc has been modified to not only implement the rauc package but sysdata-tool and gptdisk too.

The fundamental change for rauc can be found in the folder "rauc" where are defined:

  • service;
  • executables;
  • rauc configuration file;
  • recipes;
  • key;

The service realized allows to make sure that the rauc_set.sh file starts with the filesystem assuring that this starts before rauc.service. Indeed, the rauc_set.sh sets all the settings necessary to rauc to starts correctly which means adding [handlers], [slot.bootfs.] and [slot.rootfs.] automatically such that it can be used without setting configuration file for each board system. Into the [handlers] section are placed the sysdata_handler.sh, sysdata_pre_install.sh and sysdata_post_install.sh which allows rauc to execute the commands necessary to the update such as: set-primary, get-primary, get-state, set-state.

In the rauc configuration file has been added only [system] and [keyring] section because they are almost identical in every boards taken. The "compatible" voice is the only one blank because it will be filled with the machine used.

The recipes implemented are the rauc and rauc-conf bbappend which perform two important tasks. The first one, linked to the rauc bbappend, is to make sure that all files such as: configuration file, service, executable and folders are installed in the filesystem. The second one, make sure that the key used to do the update is the one wanted.

The key is placed in a folder to make sure that it can be seen by the rauc-conf.bbappend.

Last but not least has been added bundle recipe to create the seco-bundle-clea-os-*.raucb which carry the changes of the image.

Signed-off-by: carlo carlo.ferriolo@seco.com

Merge request reports

Loading