Depending upon your firmware update strategy, you can create a software update (SWU) package in different ways. To learn about the characteristics of SWU packages based on files, see SWU packages based on files.

To build a SWU package based on files, you need to provide the list of files and folders to include in the package at build time. You can do this in two ways:

  • Define the SWUPDATE_FILES_LIST variable in the conf/local.conf project configuration file with the list of files and folders to include in the update. All the variable entries are copied from the generated rootfs directory at build time and placed in a tar.gz file inside the update package. For this reason, the list of files and folders provided must be all relative to /. The installation process extracts that file to the root folder of the running system. For example:

    conf/local.conf
    SWUPDATE_FILES_LIST = " \
        srv/www \
        mnt/linux/Image.gz-ccimx8mm-dvk.bin
    "
  • Directly provide a tar.gz file containing all the files and folders to update. To do so, define the SWUPDATE_FILES_TARGZ_FILE variable with the full path of the tar.gz file in your system. All the entries in the tar.gz file must be relative to /, as it is the place where SWU extracts the file during the installation process. For example:

    SWUPDATE_FILES_TARGZ_FILE = "/home/<user>/my_update_files.tar.gz"
You can use SWUPDATE_FILES_LIST and SWUPDATE_FILES_TARGZ_FILE variables at the same time. The resulting update package contains all the files and directories from the provided tar.gz file and also all the entries defined in the SWUPDATE_FILES variable.

Once the list of files and folders is set, use the following command from your project’s directory to build the SWU package:

$ bitbake dey-image-qt-swu

This generates the update package under <project_folder>/tmp/deploy/images/ccimx8mm-dvk:

dey-image-qt-swu-ccimx8mm-dvk-<timestamp>.swu

Refer to Include bootloader in SWU packages to learn how to include U-Boot in the SWU package.

Refer to Customize SWU package installation to learn how to customize the SWU package installation process.

Refer to Program an SWU package to learn how to program SWU packages.