Commit Graph

237 Commits

Author SHA1 Message Date
Arturo Buzarra 62fa660d05 Merge branch 'dey-4.0/master' into dey-4.0/maint
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-01-19 11:46:55 +01:00
Hector Palacios 4f33afcbcf trustfence: split ccmp13 passwords in 8 files and set SWUPDATE keys
For signing SWU files we need to set a couple of variables:
 - SWUPDATE_PRIVATE_KEY_TEMPLATE to the private key file
 - SWUPDATE_PASSWORD_FILE to the password of the private key

The latter must only contain one password, whereas the current key_pass.txt
file had (for the ccmp13) the eight keys separated by a white space.

This commit:
 - If the file key_pass.txt exists, it extracts each key into a separate
   file key_pass0X.txt.
 - If the keys don't exist, generates separate files per key.
 - Changes the permissions of password files to 400.
 - Adapts the sign script to use the single password files.
 - Fixes a few quotes

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2024-01-03 13:05:05 +01:00
Arturo Buzarra e2ee631832 meta-digi: [cosmetic] alphabetize compatible machine string
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-10-10 14:58:58 +02:00
Hector Palacios 12c14ffc18 nativesdk: add STM signtools to SDK
The appropriate way to add STM signtools to the SDK is via RDEPENDS on
nativesdk-packagegroup-sdk-host, not through the parent recipe of STM
signtools recipe itself.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8720
2023-10-09 15:36:44 +02:00
Hector Palacios 6b55769447 nativesdk: add STM signtools to SDK
The appropriate way to add STM signtools to the SDK is via RDEPENDS on
nativesdk-packagegroup-sdk-host, not through the parent recipe of STM
signtools recipe itself.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8720
2023-10-02 09:35:44 +02:00
Francisco Gil ff071a17be meta-digi: revert revisions to AUTOREV
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-15 16:42:58 +02:00
Francisco Gil c7b6a9d637 meta-digi: update revisions for dey-4.0-r4.1
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-15 16:41:49 +02:00
Arturo Buzarra 8db6c71a95 Merge branch 'dey-4.0/master' into dey-4.0/maint
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-09-08 10:33:10 +02:00
Arturo Buzarra acd2ee22c1 trustfence: stm: rework PKI tree generation for CCMP15 platforms
PKI tree generation for the STM32MP15 cpu provides the undesired file
"publicKeysHashHashes.bin", which is only required by STM32MP13. This commit
generates the PKI tree according to the KeyGen tool documentation to avoid
generate this extra file and avoid confusing the end user.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-08-30 09:53:56 +02:00
Arturo Buzarra 4d6947e02a trustfence: stm: improve error handling for PKI tree generation script
Any errors in the PKI tree generation are not reported to bitbake, so the
script fails silently. This commit adds a validation of the script execution,
and if it fails, it aborts the execution and notifies to bitbake.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-08-30 09:53:56 +02:00
Arturo Buzarra a8809e68c7 trustfence: stm: fix PKI generation for CCMP13 platform
The KeyGen tool to generate 8 key pairs requires 8 consecutive passwords,
however, when the shell expands the passwords variable, it interprets it as a
single string instead of 8 different strings and fails.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-08-30 09:53:56 +02:00
Hector Palacios ae327e8dae trustfence: stm: move generation of PKI out of sign script
Create a new script for the generation of PKI tree for STM platforms
and leave the trustfence-sign-artifact script exclusively for signing.
The new gen-pki script only requires the platform as an argument and the
path to where to save the tree (if it doesn't exist) in
CONFIG_SIGN_KEYS_PATH.

This commit also reverts commit 13c136dbc5 by getting rid of the
trustfence-genpki-native.bb recipe and moving back the PKI generation
functions into trustfence.bbclass. This recipe didn't quite guarantee
that the PKI was generated on time for the recipes that required the
keys to exist, anyway.
Instead, the PKI generation function must be called right after
do_compile() of recipe tf-a-stm32mp to be ready for do_deploy() where
the key is used.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-08-14 09:19:16 +02:00
Gabriel Valcazar 9d98563945 trustfence-sign-tools: use appropriate signing script when using SPL and AHAB
When building imx-boot images with SPL on the ccimx8x, a different signing
procedure is required. We already have a script for this use case in our U-Boot
fork, so make use of it.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-07-10 11:09:37 +02:00
Mike Engel 1122980ab9 trustfence: add ccimx6qp platform to the sign tool
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-06-20 16:46:16 +02:00
Arturo Buzarra e679d3821d meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-17 15:34:53 +02:00
Arturo Buzarra 04f8e54400 meta-digi: update revisions for dey-4.0-r3.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-17 15:30:24 +02:00
Arturo Buzarra e45edb7f56 meta-digi: revert revisions to AUTOREV 2023-05-11 23:10:41 +02:00
Arturo Buzarra d780711b17 meta-digi: update revisions for dey-4.0-r3.1
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-11 22:58:31 +02:00
Arturo Buzarra dc2298625d switch to building from maintenance branches for dey-4.0-r3
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-11 22:57:54 +02:00
Hector Palacios 13c136dbc5 trustfence: add recipe to generate the PKI tree
Several recipes depend on the PKI creation.
Create a small recipe to just run this function which
is moved from the trustfence.bbclass.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios f6738c3cb2 trustfence: add artifacts signing script for STM platforms
This script can be called stand-alone or from DEY.
Syntax is :
  trustfence-sign-artifact.sh -p <platform> [-t input-unsigned-image> <output-signed-image>]

If files are omitted, it at least generates random keys if they do not
exist.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 1a81de2c2f trustfence-sign-tools: rename sign script with SOC vendor suffix
This is in preparation of using the same script name for different SOC
vendors (NXP and STM).

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 74ed606339 trustfence: use conditionals for NXP-specific stuff
Set TRUSTFENCE_DEK_PATH to "0" for CCMP1 (not using dek.bin), as if this
was disabled.
Set temporarily TRUSTFENCE_ENCRYPT_ENVIRONMENT to "0" for CCMP1 until
environment encryption is fully supported.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 3229e37e88 trustfence-sign-tools: make dependency of cst-tool NXP-specific
While on it, merge the two RDEPENDS assignments in one.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 090c4f6616 trustfence-sign-tools: convert DEPENDS to RDEPENDS
Dependencies of this recipe are run-time dependencies, not build-time.
While on it, move them to specific native/nativesdk recipe.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios dda629e968 trustfence-sign-tools: split recipe into native and nativesdk
This recipe builds the script (that depends on cst-tool) that is used to
sign the images. It's only run natively.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Gabriel Valcazar c9fb56629a cryptoauthlib: use digi-embedded github mirror
The commit we use to build the cryotpauthlib package is currently not part of
any branches or tags in the original MicrochipTech repo. To make sure the
package can always be built, use our mirror of the repo, which includes an
additional branch for the specific commit.

While at it, move the "nobranch=1" parameter to the GIT_URI variable, since
we're putting all other git parameters there, anyway. Also, remove the "branch"
parameter because it isn't needed in this case.

https://onedigi.atlassian.net/browse/DEL-8015

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-04-17 17:51:03 +02:00
Hector Palacios 661f59967c trustfence: add function to generate a PKI tree if it doesn't exist
The stand-alone signing script 'trustfence-sign-artifact.sh' checks
if a valid PKI tree exists (by checking the existance of four SRK
files) and if they don't, it calls trustfence-gen-pki.sh (which is
a wrapper over different generators (for HAB or AHAB) to create one.

Recipes such as 'dualboot' or 'recovery-initramfs' may need to call
openssl functions over the PKI tree. These recipes do not currently
generate the PKI tree; they expect it to be already in place.
This might not be the case if the trustfence-sign-artifact.sh script
has not been called yet.

Originally, a fake dependency on virtual/kernel recipe was made to
force it, but it doesn't quite work since the calling only happens
on deploy() while regular DEPENDS doesn't wait for this task.
If the PKI does not exist, a recipe that requires the PKI tree will
fail.

The solution is to create a function on the trustfence.bbclass that
allows any recipe to check for the existance of a PKI tree and
generate it if it doesn't exist. This is repeated inside the
trustfence-sign-artifact.sh, but it needs to be in both places
because this script must work stand-alone.

The generation of the PKI tree takes some seconds so this commit
adds a lock dir to prevent race conditions when called from
different recipes.

It also removes the fake dependency on virtual/kernel and adds a
dependency on trustfence-cst-native (which is the recipe that
provides the PKI generation tool).

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8430
(cherry picked from commit 6a8bf7afff)
2023-03-21 13:36:58 +01:00
Javier Viguera 83a3aa22e4 Merge tag 'dey-4.0-r1.2' into dey-4.0/master
Digi Embedded Yocto 4.0-r1.2

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-30 15:01:06 +01:00
Arturo Buzarra 2ca5dfe31e meta-digi: update revisions for dey-4.0-r1.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-29 16:34:56 +01:00
Gonzalo Ruiz 43a68c00de Revert "trustfence-sign-tools: don't encrypt artifacts in ccimx8mn/ccimx8mm projects"
Artifact encryption is now supported for ccimx8mn and ccimx8mm.

This reverts commit 1134e4c07c.

https://onedigi.atlassian.net/browse/DEL-7915

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
(cherry picked from commit 588005bb4b2200e79b180f77671304d9c5bdf509)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-25 12:07:01 +01:00
Arturo Buzarra 0efbb07107 meta-digi: branch to dey-4.0/maint
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-21 17:44:48 +01:00
Isaac Hermida c7f2960b4e meta-digi: revert revisions to AUTOREV
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-11-04 12:38:21 +01:00
Isaac Hermida dad34f1006 meta-digi: update revisions for dey-4.0-r1.1
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-11-03 18:21:46 +01:00
Isaac Hermida 877e501076 meta-digi: revert revisions to AUTOREV
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-10-04 17:03:57 +02:00
Isaac Hermida 5209a3db06 meta-digi: update revisions for dey-4.0-r1.beta2
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-10-04 14:26:53 +02:00
Arturo Buzarra 0380161f02 meta-digi: generalize recipes to support ConnectCore MP13 DVK platform
https://onedigi.atlassian.net/browse/DEL-8078

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-09-15 16:14:30 +02:00
Javier Viguera f5964b0f97 meta-digi: revert revisions to AUTOREV
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-09-02 17:37:46 +02:00
Javier Viguera 33c7d69b3e meta-digi: update revisions for dey-4.0-r1.beta1
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-09-02 17:34:14 +02:00
Javier Viguera fecc12fa0b meta-digi: get rid of LOG git mirror
As that's an old VM with limited specs, there is no much gain on using
it over the canonical Stash repositories that justifies the code
overhead and the possible errors due to synchronization problems.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-08-11 12:23:17 +02:00
Javier Viguera 3c554bbbc2 meta-digi: revert revisions to AUTOREV
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-07-21 15:49:22 +02:00
Javier Viguera 29124cd33f meta-digi: update revisions for dey-4.0-r1.alpha1
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-07-21 15:49:22 +02:00
Javier Viguera 2452e85a6b kirkstone migration: cosmetic, clean build warnings
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-21 16:49:56 +02:00
Javier Viguera b68ddc2357 kirkstone migration: update SRC_URI URLs
In 4.0 the branch is mandatory when using git as fetcher in the SRC_URI.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-20 11:39:57 +02:00
Javier Viguera 065cf3e9c4 kirkstone migration: general update to the new override syntax
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-20 11:39:57 +02:00
Mike Engel bef5224dd8 mca-tool: add mca-tool support for CCMP15
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-05-04 14:01:05 +02:00
Gabriel Valcazar 54ddb775c4 trustfence-sign-artifact.sh: remove CONFIG_SIGN_MODE as a mandatory parameter
The sign mode needed for each platform is invariable, and since the platform
is already a mandatory parameter for the script, we can store this information
implicitly. Reflect this change in every recipe where the script is used, but
keep the variable at the Yocto level since it's still needed in several places.

https://onedigi.atlassian.net/browse/DEL-7862

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-03-22 12:47:32 +01:00
Gabriel Valcazar 52c37a6fe5 hardknott: meta-digi: replace GPL-2.0 license file with GPL-2.0-only
The common license file GPL-2.0 is now called GPL-2.0-only in poky, so we need
to reflect this name change to avoid errors

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar ef85b7d8f4 Merge tag 'dey-3.2-r2.2' into dey-3.2/master
Digi Embedded Yocto 3.2-r2.2

Manually changed recipes to use the master branches instead of the fixed SHA1
from the last release.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-03 11:49:48 +01:00
Gabriel Valcazar 23d067b8b9 meta-digi: update revisions for dey-3.2-r2.2
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-12-09 18:12:40 +01:00