暫無描述

Michael Glembotzki 0a90734f7f Add support for 2025.12 11 小時之前
classes-recipe b0253e9cec swupdate classes: fix hash mismatch on master 4 月之前
conf af2b9877de layer.conf: Update to whinlatter (5.3) layer/release series 5 月之前
recipes-core 5487248c01 Updates for whinlatter UNPACKDIR/WORKDIR transition 5 月之前
recipes-extended cba98d5538 initscripts-swupdate: remove `virtual/` build warnings 1 年之前
recipes-graphics 4bf8b901cf lvgl: add configuration for recover-gui 1 年之前
recipes-lua 83751a08e5 luafilesystem swupdate-lualoader: WORKDIR -> UNPACKDIR fix 4 月之前
recipes-support 0a90734f7f Add support for 2025.12 11 小時之前
COPYING.MIT 020c327419 Receipes to generate a swupdate image 12 年之前
README cbd0ed50a6 Add the possibility to sign with RSA PSS 4 月之前

README

meta-swupdate, Yocto layer for deploy tool
==========================================

This layer's purpose is to add support for a deployment
mechanism of Yocto's images based on swupdate project.

Layer dependencies
------------------

This layer depends on:

URI: git://github.com/openembedded/meta-openembedded.git
subdirectory: meta-oe

Documentation for the layer
---------------------------

Documentation for meta-swupdate is part of SWUpdate's docs.

Check for http://sbabic.github.io/swupdate/building-with-yocto.html.

BitBake variable expansion
--------------------------

To insert the values of BitBake variables into the update file, pre- and postfix
the names with "@@". For example, to automatically set the version tag, use the
line `version = "@@DISTRO_VERSION@@";` in your sw-description file.

Image hashing
-------------

During creation of the update file, to get the sha256 hash of the image,
pass $swupdate_get_sha256(IMAGE) (where IMAGE is an image filename).

BitBake auto versions
---------------------

By setting the version tag in the update file to `$swupdate_get_pkgvar()` it is
automatically replaced with `PV` from BitBake's package-data-file for the package
matching the name of the provided tag.

To insert the value of a variable from BitBake's package-data-file different to
`PV` (e.g. `PKGV`) you can append the variable name to the tag:
`$swupdate_get_pkgvar(@)`

SWU image signing
-----------------

There are 3 signing mechanisms supported by meta-swupdate at the moment:

1. RSA signing:

* Set variable: `SWUPDATE_SIGNING` according to the RSA type you want to use:
- For RSA PKCS#1.5 use `SWUPDATE_SIGNING = "RSA"`
- For RSA PSS use `SWUPDATE_SIGNING = "RSA-PSS"`

* Set `SWUPDATE_PRIVATE_KEY` to the full path of private key file

2. CMS signing:

* Set variable: `SWUPDATE_SIGNING = "CMS"`

* Set `SWUPDATE_CMS_CERT` to the full path of certificate file

* Set `SWUPDATE_CMS_KEY ` to the full path of private key file

* (Optional) Set `SWUPDATE_CMS_EXTRA_CERTS` to a space delimited list of intermediate certificate files

3. Custom signing tool:

* Set variable: `SWUPDATE_SIGNING = "CUSTOM"`

* Set variable `SWUPDATE_SIGN_TOOL' to custom string that needs to be
executed in order to perform the signing

sw-description is signed and the signature is written to sw-description.sig
which is included in the SWU file.

Encrypted private keys are not currently supported since a secure
mechanism must exist to provide the passphrase.

Maintainer
----------

Stefano Babic

Submitting patches
------------------

You can submit your patches (or post questions regarding
this layer to the swupdate Mailing List:

swupdate@googlegroups.com

When creating patches, please use something like:

git format-patch -s --subject-prefix='meta-swupdate][PATCH'

Please use 'git send-email' to send the generated patches to the ML
to bypass changes from your mailer.