Commit Graph

4128 Commits

Author SHA1 Message Date
Francisco Gil c5b2a17642 weston: readonly: change default log path to /tmp/
Weston is not launched in read-only filesystem because /home/root
is not a writable path.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-03 11:31:02 +02:00
Francisco Gil 04c153fab9 udev: dualboot: include linux_a/b to partitions to be mounted as ro
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-03 11:30:54 +02:00
Francisco Gil 36804ef13d libubootenv: readonly: add hardcoded configuration for readonly systems
We can't run a post installation script in a readonly file system.

We need to provide a configuration file beforehand.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-03 11:30:46 +02:00
Francisco Gil 1fe0a0dfe0 readonly: add default configuration for overlayfs_etc
When EXTRA_IMAGE_FEATURES += "overlayfs-etc" is added these
configurations are needed to compile. They are provided with
the default configuration to work with our software.

The user can modify them in their local.conf if needed.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-03 11:30:39 +02:00
Francisco Gil 614c457139 update-firmware: squashsf: modify the logic to include the ro systems
In a squashfs the mount points are different and the current logic
wasn't working.

It's more reliable to check the /proc/cmdline to determine if
the system is a nand or an emmc.

Added also logic to get the active partition in nand devices
when the rootfs is squashfs.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-03 11:30:33 +02:00
Francisco Gil e395d4a98c sw-update: read-only: modify swu descriptor for squashfs rootfs
When a squashfs image is flashed we need to delete the compression
field in the swupdate descriptor.

Also the rootfstype u-boot variable needs to be set to squashfs.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-03 11:30:27 +02:00
Francisco Gil 5cb2e2395d read only: add rootfs_ext for read only filesystem
When the swu package is generated it needs the right
extension of the rootfs to be formed.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-03 11:30:21 +02:00
Isaac Hermida e29de8178f firmware-nxp-wifi: use a more recent FW till it is released
Currenlty, the github FW version is a bit old and some functionality does not
work on latest IW61x batches.
Use this FW binary till it is released on github. This is required to
have WiFi and Bt working simultaneously.

0c6d454ea83b1a78b4e60df16f478f43  sduart_nw61x_v1.bin.se

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
(cherry picked from commit 92ca458e4f)
2023-06-29 12:02:25 +02:00
Gabriel Valcazar 924c2dfb02 Add meta-st-stm32mpu-ai layer to ST platforms
This layer provides machine learning functionality, so include it in our
default layers so customers can use it out of the box if wanted.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-05-29 15:12:11 +02:00
Gabriel Valcazar 563153f04d Add meta-multimedia layer for ccimx8/ccimx9 platforms
NXP's machine learning packagegroup now has a dependency for gst-shark, a GPU
profiling tool which is provided by this layer. Since it's a part of a repo
that already exists in our manifest, simply add it to the default layers of all
i.MX platforms that support the machine learning feature to be able to include
its packages out of the box.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-05-29 14:58:06 +02:00
Javier Viguera 7374cd0685 build.sh: add ccimx93-dvk new platform
This allows building the new platform from GitHub.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-26 10:40:57 +02:00
Javier Viguera bc3636fd88 build-github.sh: code review, no functional change
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-26 10:40:57 +02:00
Arturo Buzarra cecf694073 swupdate: refresh Digi custom patch to support swupdate v2023.05
https://onedigi.atlassian.net/browse/DEL-8554

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-25 13:48:22 +02:00
Mike Engel 5d263c77ec machine: swap ccmp15/13 console GPIO enable pins
This commit swaps the GPIO pin used to enable
serial console when secure console is activated.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-05-23 11:21:41 +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
Mike Engel 999f4c87b5 trustfence: change CONFIG_CONSOLE_ENABLE_GPIO_NAME variable to be a string
This commits changes the CONFIG_CONSOLE_ENABLE_GPIO_NAME to be a string
and not an integer.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-05-17 09:40:52 +02:00
Hector Palacios 437dd8a331 tf-a-stm32mp: add 'w' permission to signed TF-A
By default, the signing script generates a file without 'w'
permission so DEY cannot remove it from the deploy dir on
a clean operation.
Add the 'w' permission so that DEY can remove it on clean
operations and generate a new signed file when required.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-15 17:09:23 +02:00
Gabriel Valcazar 90c864b4e3 ccimx93: add BOOT_DEV_NAME and ROOTFS_DEV_NAME default values
Otherwise, the sw-description used for non-dualboot systems will be missing
these values and the software update process will fail.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-05-15 14:30:37 +02:00
Gabriel Valcazar 06e472abe9 ccimx8mn-dvk: fix MACHINEOVERRIDES value
We accidentally used "mx8mm" instead of "mx8mn" in commit
9b165196bb, which caused several elements to stop
working on the target (including the optee-os).

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-05-15 11:42:15 +02:00
Arturo Buzarra 1ae6614dfd README: fix release candidate version and know issues for dey-4.0-r3
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-15 09:27:35 +02:00
Hector Palacios ca242ba0be u-boot-dey: remove extra brackets on shell condition
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8510
2023-05-12 13:24:37 +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 78eef642a0 README: dey-4.0-r3 release notes
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-11 16:33:53 +02:00
Hector Palacios e600597024 Merge branch 'dey-4.0/master' into dey-4.0/maint
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-11 13:19:32 +02:00
Mike Engel 4265b80402 swupdate: move sw-description configuration into common include file
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-05-11 12:42:49 +02:00
Mike Engel c515187ed4 ccmp1: add secure console support
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-05-11 12:42:49 +02:00
Javier Viguera dc66ea2735 Revert "run-postinsts: Set dependency for ldconfig to avoid boot issues"
Same fix has been included upstream (poky).

This reverts commit 30022f556b.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-11 11:48:03 +02:00
Javier Viguera e7004dcaa8 ccimx93: add MIPI display overlay
Support for DLC0200CC904DF-2 panel has been added in the kernel.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-11 11:37:30 +02:00
Hector Palacios f2da72b2eb trustfence-stm-signtools: add rdepends on nativesdk-qtbase
The tools STM32MP_KeyGen_CLI and STM32MP_SigningTool_CLI have
a dependency of libQt5Core.so.5 which is provided by qtbase.
Add this dependency to avoid errors during SDK generation.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-11 11:29:02 +02:00
Mike Engel a3af0c8597 udev: disable uSD card mounting for the CCMP1
This commit disables the uSD mounting, due to issues
detected during the boot process when UBIFS starts
with the wear-leveling process to erase NAND blocks.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-05-11 09:25:29 +02:00
Hector Palacios eb49d927a5 trustfence: enable auth capabilities on TF-A independently of TRUSTFENCE_SIGN
Sometimes, it may be desired that the DEY project does not sign the
artifacts, for example, if they are going to be externally signed on a
secure server. In this case, the user sets TRUSTFENCE_SIGN="0".

On STM platforms, all the variables were being set if TRUSTFENCE_SIGN="1"
and authentication support is not enabled on TF_A otherwise.
Set TF_A_SIGN_ENABLE (which adds authentication support to TF_A) always
for STM platforms (as long as the project inherits the trustfence class)
and set FIP_SIGN_ENABLE="0" if its sibling TRUSTFENCE_SIGN="0", so that
DEY doesn't sign the FIP image either.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios ea70fa6b0c trustfence: weak assign TRUSTFENCE_KEY_INDEX to 0 (default)
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 32f4ba9b6d tf-a-stm32mp: obtain password to use during FIP image signing process
The FIP image is signed internally by this recipe. The password must be
set in FIP_SIGN_KEY_PASS. With the signing script, the password is
randomly generated and saved in key_pass.txt.
This prefunc obtains the password(s) from the file to set FIP_SIGN_KEY_PASS
so that the FIP can be properly signed.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios d6af2d336c tf-a-stm32mp: automate the signing of TF-A image
Add as deploy postfunc, the signing of TF-A image by calling Digi signing
script.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 6298a50b2e trustfence: copy the public key to the rootfs
The root file system requires the public key to authenticate SWU files.
For NXP platforms, the public key is extracted from the certificate.
For STM platforms, simply copy the public key over to the rootfs.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios fa1c877758 trustfence: image_types: do not sign artifacts for STM platforms
For the moment, do not sign aditional artifacts, such as the ramdisk,
the kernel or the boot scripts for STM platforms.

In the specific case of the ramdisk, simply copy it over with the
expected filename extension.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +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 a7ce03f66c trustfence: add dependency of sign tools for recipes requiring keys
dualboot and recovery recipes may require to use the keys so they must
depend on the recipe that installs the script that generates them.

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 762a4a8315 u-boot-dey: split do_deploy:append to postfuncs
The do_deploy:append did three things:
- adapt the U-Boot filenames to 'u-boot-<platform>-<config>.<ext>'
- sign/encrypt the U-Boot files (only for iMX6 family)
- sign the boot scripts

Convert the first two actions into functions (the third already was) and
call them conditionally as postfuncs.
Also skip the signing of U-Boot files if the platform is not based on
iMX6 family.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 9b165196bb global: create DIGI_SOM variable and reformulate DIGI_FAMILY variable
Certain platforms share a processor family but need to be differentiated
between them. DEY was using the variable DIGI_FAMILY as the SOM name
rather than the family. It becomes useful to have both (DIGI_SOM as the
more specific, and DIGI_FAMILY as the more generic).

This is the case, for example, of:

- ccmp1 (family)
  - ccmp15 (SOM)
  - ccmp13 (SOM)
- ccimx8m (family)
  - ccimx8mm (SOM)
  - ccimx8mn (SOM)

Both variables are used on the machine overrides.
Where DIGI_FAMILY was used, use now DIGI_SOM.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 39dd22c471 trustfence: add recipe to install STM sign tools
This recipe downloads a tarball that contains the binaries:
- STM32MP_KeyGen_CLI
- STM32MP_SigningTool_CLI

from ST Microelectronics STM32CubeProgrammer v2.12.0.

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 9c34c0e1eb trustfence: set STM-specific variables for signing
These variables build TF-A with authentication support and build
a signed FIP image.

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