Commit Graph

4639 Commits

Author SHA1 Message Date
Gabriel Valcazar a22d21ab84 dey.conf: continue using stable versions of swupdate and libubootenv
meta-swupdate recently added support for swupdate 2023.12 and libubootenv
0.3.5. This upgrade conflicts with our custom functionality in both packages,
so keep using 2023.05 and 0.3.2 respectively so DEY 4.0 can be built without
introducing possible functionality changes.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-12-26 17:31:41 +01:00
Isaac Hermida 925b618e63 linux-dey: update to NXP's lf-6.1.55-2.2.0 release for ccimx93
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-12-21 17:57:16 +01:00
Isaac Hermida f67294adfb ccimx93: iw61x: update package for NXP release 6.1.55-2.2.0
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-12-21 17:56:11 +01:00
Gabriel Valcazar 90afd7025c recovery-initramfs: fix multi-MTD detection when formatting NAND partitions
Commit 7e81e706a1 modified the logic used to
determine if a NAND is using multi-MTD or single-MTD, but single quotes were
used in the grep pattern, which prevents the variable inside from expanding.
This makes the script always enter the single-MTD code path, even in multi-MTD
systems, which breaks partition formatting in these cases.

Replace the single quotes with double quotes so the variable can expand and the
condition can be properly checked.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-12-21 11:21:09 +01:00
Gabriel Valcazar 6468431179 recovery-initramfs: fix multi-MTD detection when formatting NAND partitions
Commit 7e81e706a1 modified the logic used to
determine if a NAND is using multi-MTD or single-MTD, but single quotes were
used in the grep pattern, which prevents the variable inside from expanding.
This makes the script always enter the single-MTD code path, even in multi-MTD
systems, which breaks partition formatting in these cases.

Replace the single quotes with double quotes so the variable can expand and the
condition can be properly checked.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-12-20 14:57:02 +01:00
Gabriel Valcazar 85a659dd11 Revert "mp1: cmsis-svd: switch from master branch to main branch"
Fixed via commit 311a492c21f0f3643f4b764f8b743c4c6908d31b in meta-st-stm32mp

This reverts commit 09c4645894.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-12-15 13:50:56 +01:00
Gabriel Valcazar 31e68ff34a Revert "mp1: cmsis-svd: switch from master branch to main branch"
Fixed via commit 311a492c21f0f3643f4b764f8b743c4c6908d31b in meta-st-stm32mp

This reverts commit 09c4645894.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-12-15 12:15:47 +01:00
Gabriel Valcazar bfbe078a3f linux-dey: ccmp1: rework defconfig logic to avoid using defualt defconfig
Commit d3f3cfdb62 removed the inclusion of STM's
linux-stm32mp.inc from meta-st-stm32mp in our linux-dey recipe, but this
inadvertently removed the logic in do_configure() necessary to use our custom
ccmp1_defconfig. Since this commit, the kernel was being built with the default
ARM defconfig, which is very different from our custom defconfig and doesn't
even boot on MP1 platforms.

Rework the logic used to copy our platform's defconfigs to prevent this.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-12-15 10:50:29 +01:00
Mike Engel aa2480d1de images: add imx-kobs support to recovery image
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-12-05 10:54:29 +01:00
Mike Engel 56219a7e59 conf: machine: remove BOOTLOADER_SEEK_OFFSET
This commit removes the BOOTLOADER_SEEK_OFFSER, because it has been
moved into the swupdate class and renamed into SWUPDATE_UBOOT_OFFSET.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-12-05 10:54:26 +01:00
Mike Engel e4bb4d69af swupdate: add u-boot swupdate support
This commit adds u-boot swupdate support for all platforms.
Now u-boot can be updated with all our supported update
options. Currently it will only update first partition
u-boot partition.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-12-05 10:53:55 +01:00
Hector Palacios fd70bf2fce swupdate: use dynamic mtd-blacklist for configuration file
The 'mtd-blacklist' parameter prevents swupdate from acting upon those
partitions that we consider sensitive.
Make such list platform-dependent.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-12-01 10:55:05 +01:00
Hector Palacios e9aac1b489 swupdate: install a default config file with optional public-key-file
The swupdate recipe installs by default a systemd service
and a socket to listen for updates coming from a web server.
DEY only makes use of such service during on-the-fly updates from Cloud
Connector web service.

The default swupdate service fails on images with TrustFence because it's
called with no arguments and there doesn't exist a configuration file.
This commit installs a default configuration file and, if TrustFence is
enabled, sets the parameter 'public-key-file' to point to the public
certificate to use to authenticate SWU packages.

While on it, it removes the same file from the recovery-initramfs recipe
that was the only recipe that was adding such config file for recovery
images only.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-12-01 10:55:05 +01:00
Hector Palacios 32dc939812 trustfence: create a global variable TRUSTFENCE_ENABLED when the class is added
meta-digi layers use many conditionals basing on TRUSTFENCE_SIGN, but this
variable may be disabled when the signing process wants to be isolated
from the image creation.
There are cases when we still need to know if TrustFence is enabled even
if the images are not going to be signed.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-12-01 10:55:05 +01:00
fgilmar b9b883d47c trustfence: fix trustfence support in NXP platforms
In commit df9b1cf329, the UBOOT_SIGN_ENABLE is set for all
platforms, and should be only added for FIT images.

This is making the process failing in cc8mn/cc8mm platforms
due to the UBOOT_SIGN_ENABLE is also used there to use a dtb
patched with the signature node.

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

Signed-off-by: Francisco Gil francisco.gilmartinez@digi.com
2023-11-30 14:45:07 +01:00
Gabriel Valcazar 0ae6422742 mp1: cmsis-svd: switch from master branch to main branch
Otherwise, bitbake's git client won't be able to fetch the sources if there are
no mirrors available.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-30 14:22:12 +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
Gabriel Valcazar 09c4645894 mp1: cmsis-svd: switch from master branch to main branch
Otherwise, bitbake's git client won't be able to fetch the sources if there are
no mirrors available.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-28 16:31:32 +01:00
Javier Viguera 3cfce77c0f ccimx93: update ML package for NXP release 6.1.36-2.1.0
As part of the integration of the new ML package, also update the
ethos-u-firmware binary built from Stash:

Repo: emp/ethos_u_firmware.git
Revision: a0352b0cf7267c896b55980dedd08daddc780733
Source: NXP's MCUXpresso SDK_2.14.0_MIMX9352xxxxK

And, drop deepview-rt support for ccimx93, as NXP has done the same in
6.1.36-2.1.0 release.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-28 15:51:38 +01:00
Mike Engel 8552421e55 conf: machine: add new Cortex-M overlays
https://onedigi.atlassian.net/browse/DEL-8581

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-11-28 15:12:25 +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
Hector Palacios 8f40cddfc6 trustfence: rework configuration for signing FIT images
- Set variables required for FIT signing inside python function, under the
  condition of having TRUSTFENCE_SIGN="1".
- Define two sign keys using TRUSTFENCE_ wrapper constants. Default values:
  - 'fitcfg' for configuration nodes inside the FIT
  - 'fitimg' for image nodes inside the FIT
- Enable FIT_SIGN_INDIVIDUAL to also sign individual images inside the FIT
- Set FIT_GENERATE_KEYS by default (kernel-fitimage.bbclass already checks
  if the keys exist before generating new ones)

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-11-28 12:53:30 +01:00
Hector Palacios d3f3cfdb62 ccmp1: remove dependencies from kernel include file from meta-st-stm32mp
An anonymous function in linux-stm32mp.inc produces a bbfatal error when
KERNEL_DEVICETREE variable contains more than one device tree. This is our
case since we build the main DT plus a number of DT overlays.
This commit removes the dependency to this include file since we have our
own recipe to build the kernel and it is not needed at all.
It also removes the build of a uImage and the need to provide a
LOADADDR.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-11-28 12:53:30 +01:00
Gabriel Valcazar c497caca66 lvgl: configure app dimensions in main recipe file instead of lv-drivers.inc
This change isn't functional, but necessary if we want to be able to separate
the logic in the include file and the demo recipe. This way the include file is
agnostic and can be included into other recipes if needed.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-23 17:55:58 +01:00
Gabriel Valcazar b7ce8d4997 build.sh: add support to build dey-image-lvgl images daily
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-23 13:20:31 +01:00
Gabriel Valcazar d1c5919298 qt5: set default QT_QPA_PLATFORM values for mp1 platforms
Otherwise, launching a Qt5 app will result in errors and the QPA platform will
need to be set manually to get it to work.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-23 11:35:32 +01:00
Gabriel Valcazar 54c9de6a74 qt5: set default QT_QPA_PLATFORM values for mp1 platforms
Otherwise, launching a Qt5 app will result in errors and the QPA platform will
need to be set manually to get it to work.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-22 16:06:07 +01:00
Javier Viguera b48f2806eb ccimx93: update graphics package for NXP release 6.1.36-2.1.0
Backport of graphics package for ccimx93 from NXP's Mickledore-based
6.1.36-2.1.0 release. Mainly copies and appends of graphics recipes
from the new release, and restricted to ccimx93 by changing the
COMPATIBLE_MACHINE, so it does not affect other platforms.

Notice, that the new version of weston used now by the ccimx93 requires
a different profile file (weston-socket.sh). This profile supercedes the
old 'weston.sh'.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-21 18:23:26 +01:00
Javier Viguera 3aee8c39f7 ccimx93: update multimedia package for NXP release 6.1.36-2.1.0
Backport of multimedia package for ccimx93 from NXP's Mickledore-based
6.1.36-2.1.0 release. Mainly copies and appends of multimedia recipes
from the new release, and restricted to ccimx93 by changing the
COMPATIBLE_MACHINE, so it does not affect other platforms.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-21 18:23:26 +01:00
Javier Viguera 5794b18cd2 meson: backport version 1.0.1 from yocto 4.2
This is required to build the new version of gstreamer used by NXP for
the ccimx93 and integrated in following commits.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-21 18:23:26 +01:00
Javier Viguera 6a7fc990b0 build-github.sh: remove not supported platform ccimx8x_sbc_express
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-21 18:19:50 +01:00
Francisco Gil fea7e623d7 trustfence: fix building issue with trustfence enabled in cc8x
In commit 2fd1dbfed7, we accidentally removed some changes needed to
build imx-boot with Trustfence enabled, which were added in commit
1ce17da864.

This partially reverts commit 2fd1dbfed7

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-11-21 10:54:35 +01:00
Francisco Gil ba1cb7514d trustfence: fix building issue with trustfence enabled in cc8x
In commit 2fd1dbfed7, we accidentally removed some changes needed to
build imx-boot with Trustfence enabled, which were added in commit
1ce17da864.

This partially reverts commit 2fd1dbfed7

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-11-20 16:59:18 +01:00
Gabriel Valcazar 2a015f3f87 Add support for dey-image-lvgl images
LVGL is a free and open-source embedded graphics library that is able to run
in environments with limited resources.

This image includes a desktop environment and an LVGL widget demo (lvgl_demo)

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-16 11:39:03 +01:00
Gabriel Valcazar c0789c416b lvgl-demo-fb: generalize for any backend and add improvements
Rename the recipe to lvgl-demo to reflect the generalization and select the
most appropriate backend for each platform. Aside from making sure each backend
builds and runs fine, add some usability improvements:

    * Specify the mouse as the default evdev device instead of the touchscreen
    * Use common resolution variables to be able to configure the app's
      dimensions easily

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-16 11:38:56 +01:00
Gabriel Valcazar 33a93ccae4 Copy lvgl-demo-fb recipe from meta-openebedded master branch
https://onedigi.atlassian.net/browse/DEL-8740

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-14 14:24:46 +01:00
Francisco Gil 66af49ef9e update firmware: some improvements in update firmware script
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-11-13 17:23:06 +01:00
Francisco Gil 7c6967d5d6 dualboot: avoid the mount of alternative rootfs partition
In a dualboot system the alternative rootfs was mounted by default.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-11-13 17:23:06 +01:00
Francisco Gil 01c5b1f329 mount: remove dependencies from fw_getenv in mount script
https://onedigi.atlassian.net/browse/DEL-8582

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-11-13 17:23:06 +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
Javier Viguera 77755ac73c imx-boot: add makefile target to build imx93 A0 SOC revision
Also, set the build of A1 SOC revision by default for ccimx93.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-02 18:59:06 +01:00
Javier Viguera a96d4fdc1d imx-atf: add support for imx93 A0 soc revision
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-11-02 18:58:36 +01:00
Francisco Gil 014667b41c udev: automount: add exception to mount loop and ram block devices
The nodes "/dev/ramX" and "/dev/loopX" are mounted on boot.
Each node calls the mount.sh script, but they are not mounted
because these nodes are blacklisted in the "blacklist.conf" file.

In the ccmp13 adding this modification in the rule saves
around 4 seconds per boot.
In the ccmp15 and ccimx6ul around 2 seconds are saved.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-11-02 09:48:58 +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 648b555dbd tf-a-stm32mp: create symlinks on deploydir to TF-A and FIP binaries
These binaries are installed in subdirectories by default. The uuu
installer expects to find all binaries on the same folder where the script
is. By creating symlinks, the uuu installer can find all the binaries it
needs directly on the deploy folder.

NOTE: variables in 'for' clauses are intentionally without quotes to skip
whitespaces in them.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit 019deb6313)
2023-10-23 14:04:13 +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