Commit Graph

607 Commits

Author SHA1 Message Date
Francisco Gil 0a5274e06f firmware installation scripts: correct usage of u-boot variables
Some variables in the script belong to u-boot, not to the shell
running the script. Escape those variables so the shell does not
expand them.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-18 11:56:44 +02:00
Francisco Gil ecad5dba32 uuu: fix incorrect command for trustfence update from uuu
The command trustfence update doesn't require the partition argument.

Besides of that, remove extra fi on the cc8m platforms.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2024-06-04 08:45:25 +02:00
Mike Engel 041ca93cd9 ccimx8x: fix u-boot Trustfence naming for installation script
This commit fixes u-boot Trustfence naming for signed and
encrypted images used in the installation script removing
the a duplicated dash in the u-boot name.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-24 09:39:41 +02:00
Javier Viguera 3c26ef78e0 meta-digi: enable boot artifacts encryption support on ccimx93
Add a check on the existence of the "temp-fitimg-loaded" environment
variable before setting it. It is needed, as with encrypted FIT images,
we need to decrypt them before accessing the boot script. In such cases,
u-boot sets that variable to "no" so the boot script does not override it,
and the FIT image is loaded again before the final boot to the OS.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-04-11 18:18:13 +02:00
Mike Engel 4b4d4b5a6b u-boot-dey: add install uboot on redundant partition
This commit adds instructions to update the redundant u-boot
partition.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-04-05 17:08:22 +02:00
Gabriel Valcazar 3fc0a30115 trustfence: rename variables related to FIT image signing
Different mechanisms are used to sign FIT images on the ccmp1 platforms and the
ccimx93, and we manage each mechanism via a different variable. The variable
names don't really reflect which platform they affect, which makes maintenance
harder.

Rename the variables so that it's easier to identify the platforms/vendors they
affect:

    * Replace TRUSTFENCE_FIT_IMG with TRUSTFENCE_SIGN_FIT_STM
    * Replace TRUSTFENCE_SIGN_FIT_ARTIFACT with TRUSTFENCE_SIGN_FIT_NXP

Don't rename TRUSTFENCE_FIT_IMG_SIGN_KEYNAME

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-03-19 13:26:47 +01:00
Gabriel Valcazar aabf4cb72d ccmp1: u-boot-dey: merge FIT signature config fragments into a single file
Unless we have a use case in which we need to apply these fragments separately,
we can merge them both into a single fragment.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-03-19 13:26:47 +01:00
Gabriel Valcazar 9ac912d289 ccmp1: remove linux/u-boot functions related to FIT image bootscript copying
This logic was fixed in commit e915a14b4b, so we
no longer have to manually copy the bootscript to generate FIT images.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-03-19 13:26:47 +01:00
Gabriel Valcazar 72675e510c ccmp1: decouple FIT functionality from signed FIT functionality
We rely on FIT support to implement boot artifact authentication on ccmp1
platforms, but our implementation made it impossible to enable FIT support
outside of the context of Trustfence/secure boot.

Change this so that it's possible to enable FIT support without having to sign
the FIT artifacts. Also, modify the linux-dey 5.15 recipe so that the U-Boot
DTBs with signatures get copied only when FIT signing is enabled.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-03-19 13:26:47 +01:00
Gonzalo Ruiz 67be7da934 u-boot-dey: cc6: fix typo in uuu install script
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2024-03-14 16:41:56 +01:00
Javier Viguera e6b67b6bf8 meta-digi: trustfence: support signing a FIT boot artifact
And enable it for the ccimx93.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-12 18:13:05 +01:00
Javier Viguera 1d0631ef96 u-boot-dey: support Trustfence config options with spaces
The standard string split() function does not support splitting a string
by spaces but preserving quoted strings, so it does not work for build
options disabling functionality, as they have this format:

"# CONFIG_OPTION is not set"

On the other hand, the "shlex" module provides a split function that
allows splitting strings by spaces and, at the same time, preserves
quoted strings.

In Trustfence, we need this functionality to disable default options that
would allow the booting of non-authenticated images.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-12 18:13:05 +01:00
Javier Viguera be04b21ecd ccimx93: add support to build FIT images
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-04 10:44:58 +01:00
Javier Viguera e915a14b4b u-boot-dey: add /boot directory to the recipe sysroot
Other recipes may access SYSROOT_DIRS content by adding a dependence
on do_populate_sysroot.

We need this specific directory for the kernel fitImage support.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-03-04 10:44:58 +01:00
Mike Engel 9f9d016f5d ccmp1: fix the TFA naming with Trustfence enabled.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-02-29 12:56:28 +01:00
Mike Engel c66be227f6 u-boot-dey: fix generation of uuu script when Trustfence is enabled.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-02-29 12:56:28 +01:00
Arturo Buzarra 2a8403940d u-boot-tools: add the fdt_add_pubkey script to the list of files to be shipped
This commit fixes a build issue when this script is installed but not shipped
in the u-boot-tools package.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-22 09:16:32 +01:00
Arturo Buzarra 7c76b0c351 ccmp1: add support to sign different DDR3 configurations for U-Boot DTB
This commit implements the support to sign the different memory configurations for
the CCMP1 platforms, when trustfence is enabled, using FIT images.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-21 10:42:12 +01:00
Arturo Buzarra e7d90794f8 ccmp1: support different DDR3 configurations
This commit implements the support to allow different memory configurations for
the CCMP1 platforms, adding support to 512MB and 1GB memory variants for the CCMP15.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-20 15:34:58 +01:00
Arturo Buzarra 9778490a30 u-boot-dey: ccmp1: disable CMD_BOOTZ when secure boot with FIT image is enabled
Command 'bootz' allows boot unsigned Linux zImages, so disable it when secure
boot is enabled using FIT images.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-20 14:24:16 +01:00
Mike Engel a8f5951578 u-boot-dey: add support to installation script for Trustfence
This commit adds support to installation script for Trustfence
artifacts.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2024-02-19 15:51:24 +01:00
Isaac Hermida 81d0ce168f u-boot-dey: installation scripts: minor fixes
Some minor fixes:
* return error code if installation fails
* cosmetic: update comment with options
* just exit after error and do not execute boolimit command

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:04:36 +01:00
Isaac Hermida 4a057144ee u-boot-dey: installation scripts: do not check recovery image for dual systems
Recovery image is not required for dual systems, so do not check it.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:04:36 +01:00
Isaac Hermida 4372eaba01 u-boot-dey: unify installation scripts
https://onedigi.atlassian.net/browse/DEL-8860

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-02-19 09:04:36 +01:00
Arturo Buzarra 52eb698999 Merge tag 'dey-4.0-r5.2' into dey-4.0/master
Digi Embedded Yocto 4.0-r5.2

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-16 12:59:43 +01:00
Arturo Buzarra bdf80833dc meta-digi: update revisions for dey-4.0-r5.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-06 18:07:48 +01:00
Gabriel Valcazar 1d15803ff2 ccimx93: installer: add helper msg to set image-name
Up until recently, we were only generating dey-image-qt images for the
ccimx93-dvk. Now that we are generating dey-image-lvgl images as well, make
sure to print the helper message to set image-name when installing said images.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-01-31 11:38:27 +01:00
Arturo Buzarra 7fb5205e73 meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-01-30 16:52:26 +01:00
Arturo Buzarra 04a00b2bd0 meta-digi: update revisions for dey-4.0-r5.1
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-01-30 16:51:33 +01:00
Gabriel Valcazar 26dc437a25 ccimx6qpsbc: add missing "if" condition terminator in UUU install script
One of the conditions used to determine the U-Boot file was missing its
terminator, breaking the script.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-01-29 17:05:26 +01:00
Gabriel Valcazar 71940ead08 install_linux_fw_[sd/usb]: add missing comment character '#' to avoid an error
An additional line was added to a comment block without the '#' character,
resulting in the following error when running the script:

Unknown command '-' - try 'help'

Nonetheless, this error is harmless and the script continues as expected, which
is the reason why we hadn't found it until now.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-01-25 18:37:42 +01:00
Isaac Hermida 75bd0d887b install_linux_fw_uuu: do not assing a default U-Boot file for 0x00 variants
In case a HWID is not set or the variant is unknown, do not set it to a default
U-Boot file but ask the user for the proper file.
This case should not happen, but cover it for safety.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-01-25 12:15:51 +01:00
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
Javier Viguera 2c2c6e3896 ccimx93: remove A0 SOC revision overlay
With the update of the ethos-u firmware for the NPU in previous commit,
this overlay is no longer required.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-01-12 13:11:19 +01:00
Javier Viguera 46550c51cf ccimx93: remove MCA support as it's not populated
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2024-01-08 16:26:44 +01:00
Hector Bujanda 40802dff3d ccmp15: remove MCA entries as it will never be populated
Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
2024-01-08 13:24:10 +01:00
Hector Palacios 7cd2d5d0c1 uboot: ccmp1: disable LEGACY_IMAGE_FORMAT when FIT enabled
The LEGACY_IMAGE_FORMAT defaults to 'y' if there is no FIT
support, which happens after applying the default configuration.
Then, the FIT support is added in a config fragment, but the
LEGACY_IMAGE_FORMAT is not disabled.
Disabling this is recommended to avoid the possibility to boot
unsigned legacy images.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-11-28 19:04:22 +01:00
Hector Palacios dbdd989018 ccmp1: boot script: set temp variable to skip fit re-loading
The U-Boot bootscript loads the fitImage into RAM memory to run
this bootscript. This bootscript ends up calling 'dboot' command
to run the FIT default configuration.
To avoid 'dboot' re-loading again the fitImage into RAM memory,
set this temporary variable that will be immediately reset
by 'dboot'.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-11-28 12:53:30 +01:00
Arturo Buzarra f80b70bb72 ccmp1: add DT overlay for the DVK v2
This commit adds several overlays for DVK v2 and modifies the boot script to apply it
based on the board_version variable.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-11-07 11:18:58 +01:00
Javier Viguera e9aeb051cf ccimx93: enable the build of A0 SOC revision bootloader
Implement support to program the correct bootloader on the different
installation scripts.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-03 14:03:25 +01:00
Mike Engel df9b1cf329 ccmp1: add signed FIT image support
This commit adds signed FIT image support for the CCMP1
platforms when using Trustfence.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-10-30 12:58:19 +01:00
Isaac Hermida 4c8bde2bc3 u-boot: ccimx93: add bootscript support for cpu rev A0
Add support to the bootscript to load the CPU overlay for the A0 rev.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-10-26 16:11:28 +02:00
Hector Palacios 5a8d1fddae install_linux_fw: reset bootcount before resetting target
During firmware install, the target may be reset several times.
We don't want the bootcount to count these as boot attempts.

This was done in a791bb4463 for the ccmp1
but not for the rest of platforms.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit 961acf48de)
2023-10-23 14:04:21 +02:00
Hector Palacios 70476bb455 install_fw: [cosmetic] alphabetize script options
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit fb349b10f7)
2023-10-23 14:04:17 +02:00
Hector Palacios b75e88bbe0 boot scripts: print boot attempts only when bootcount mechanism active
Improve boot attempts message showing not only the current boot attempt
but also the limit:
	(boot attempt 1/3)

Print the message only when the bootcount mechanism is active, i.e. when
the bootlimit is defined (not zero), and when bootcount is > 0.

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

https://onedigi.atlassian.net/browse/DUB-1056
(cherry picked from commit 918a9caf1d)
2023-10-23 14:04:08 +02:00
Hector Palacios bb36b04777 install_linux_fw: enable bootcount by setting bootlimit if dualboot enabled
Use the intention of installing dual boot firmware as a condition to set
bootlimit=3 so that the bootcount mechanism is enabled.

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

https://onedigi.atlassian.net/browse/DUB-1058
2023-10-20 10:48:07 +02:00
Hector Palacios 961acf48de install_linux_fw: reset bootcount before resetting target
During firmware install, the target may be reset several times.
We don't want the bootcount to count these as boot attempts.

This was done in a791bb4463 for the ccmp1
but not for the rest of platforms.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-10-20 10:48:07 +02:00
Hector Palacios fb349b10f7 install_fw: [cosmetic] alphabetize script options
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-10-20 10:48:07 +02:00
Hector Palacios 918a9caf1d boot scripts: print boot attempts only when bootcount mechanism active
Improve boot attempts message showing not only the current boot attempt
but also the limit:
	(boot attempt 1/3)

Print the message only when the bootcount mechanism is active, i.e. when
the bootlimit is defined (not zero), and when bootcount is > 0.

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

https://onedigi.atlassian.net/browse/DUB-1056
2023-10-20 10:48:07 +02: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