Commit Graph

1999 Commits

Author SHA1 Message Date
Javier Viguera e2bbc06fea swupdate: fix non-parallel build
Building swupdate with '-j1' fails with:

swupdate$ make -j1
scripts/kconfig/conf  --silentoldconfig Kconfig
  CC      ipc/network_ipc.o
  CC      ipc/network_ipc-if.o
  CC      ipc/progress_ipc.o
  LD      ipc/built-in.o
  LD      libswupdate.so.0.1
Failed:
aarch64-dey-linux/11.3.0/ld: cannot find ipc-static/lib.a: No such file or directory
collect2: error: ld returned 1 exit status

That's due to trying to link a static library that has not been compiled
yet. That dependence seems spurious and we added it in a patch, so
remove it to fix non-parallel builds.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-08-04 13:10:56 +02:00
Isaac Hermida bc4aaf2237 ccimx93: bluetooth-init: adjust recipes to btnxpuart driver
The btnxpuart driver uses internally the serial port to manage the chip, and
loads the BT FW independently of the WiFi subsystem.
While on it, add support in the bluetooth-init script to be able to power the
chip when the WiFi support is not present.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-08-01 18:54:00 +02:00
Javier Viguera b804a2c8d8 Revert "sdk: dey-image-webkit: fix creation of dey-image-webkit toolchain"
This reverts commit ef84752539.

Fixed upstream:
https://git.yoctoproject.org/poky/commit/?id=80bf4d4f9ad5013851687e7d81bbeda93351d089

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-07-31 13:56:57 +02:00
Mike Engel e1976ca2fb trustfence: add environment encryption
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-07-28 13:29:51 +02:00
Javier Viguera 19373e38f8 systemd: remove console on virtual terminals
This reuses the same variable from sysvinit (USE_VT) to disable running
getty/login on virtual terminals.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-07-28 12:40:38 +02:00
Javier Viguera f75c78dd8f swu-images: swu.inc: configure directories needed for fill_description
fill_description copies some artifacts to the images deploy directory,
so that should be created beforehand. Otherwise it may fail on the
'do_unpack' task depending on how bitbake schedules the tasks.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-07-07 18:01:49 +02:00
David Escalona 94d4bbbe9f meta-digi-dey: swupdate-files: add firmware update support based on files
Implement a new mechanism to allow users to create update packages based on files and folders to modify
the active system.

This is done through the new class 'swupdate-files', which creates a tar.gz update file in the image
distribution output directory containing all the files and directories to create/update. The 'tar.gz'
file is used later by the 'swu-images' recipe to generate the final SWUpdate package. The SWU package
installation process extracts the tar.gz file in the root folder ("/") of the active system.

Users can specify the list of files and directories to include in the update package using the
'SWUPDATE_FILES_LIST' variable. These files will be directly copied from the generated system rootfs and
placed in the tar.gz archive. Additionally, users can provide their custom 'tar.gz' file to use in the update
by specifying its location in the 'SWUPDATE_FILES_TARGZ_FILE' variable. In any case, all the paths to include
in the update package must be relative to "/", as it is the base directory where tar.gz file contents are
extracted.

The update process for dual boot systems sets a new u-boot flag so that active bank is not swapped once
installation is complete and system reboots.

The SWU update mechanism based on files provides a custom update script which takes care of preparing the
system for the installation process. Just like in the SWU updates based on images, users can customize this
script or override it with the 'SWUPDATE_SCRIPT' variable, specifying the location of the new script to use.

If both the 'SWUPDATE_FILES_LIST' and 'SWUPDATE_FILES_TARGZ_FILE' variables are empty, a standard images
SWUpdate package will be generated instead.

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-07-06 11:00:05 +02:00
David Escalona e5392996ed meta-digi-dey: swupdate: enable 'ARCHIVE' handler support to directly install 'tar.gz' files
Signed-off-by: David Escalona <david.escalona@digi.com>
2023-07-06 11:00:05 +02:00
David Escalona 429125cce0 meta-digi-dey: swupdate: clean defconfig file
Make the 'defconfig' file a real defconfig by including only differences with respect default
values. While on it, improve the recipe:

  - Enable 'BOOTLOADERHANDLER' by default in the 'defconfig'. We were unconditionally setting
    this value to 'y' in the recipe, so move it to the default configuration.
  - Move 'UBI' configuration values to 'mtd.cfg' file to be added only when device filesystem is
    MTD based. Until now, 'UBI' support was always added by default.
  - Move the 'SIGNED_IMAGES' configuration entry to a '.cfg' file like we are doing with the rest
    of the functionallity. Use 'oe.utils.conditional' checking 'TRUSTFENCE' feature for this.

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-07-06 11:00:05 +02:00
David Escalona 4395fa1f11 meta-digi-dey: swupdate-images: add SWUpdate script support
Enable scripting support during the installation of system images with SWU. A new shell
script is included by default in all the SWU update packages that will be executed just
before the update starts and just after it finishes. The script is empty and contains two
place-holders that will be called in the two scenarios mentioned before.

Users can customize this script to execute specific actions based on their final product
needs or provide their own one by setting its location in the 'SWUPDATE_SCRIPT' variable.

While on it, rename the 'sw-description_template' file to 'sw-description-images_template'
as it is more accurate with the update mechanism it is used for.

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-07-06 11:00:03 +02:00
Francisco Gil 1e5bd003bd recovery-initramfs: get rid off singlemtdsys variable
This variable is not defined in ccmp1 platforms, making the
swupdate for single mtd failing.

Instead of reading this variable from uboot environment,
determine if the system is multimtd checking the existence
of /dev/ubi1.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-06 08:18:22 +02:00
Isaac Hermida 6feaa6e3c0 ccimx93: bluetooth-init: leave the interface up after attaching
Ensure we leave the Bluetooth interface up after attaching it. If not,
under some circumstances, it could be down.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-06-30 11:04:44 +02:00
Isaac Hermida fbb261d4b8 ethos-u-driver-stack: use ethosu_firmware without debug port
The default ethosu_firmware in github reconfigures the uart2 to be used as
debug port. Those pins are used to manage the HW flow control for the Bluetooth
chip.
Build a custom ethosu_firmware that does not reconfigure the uart2 pins.

Compiled from internal "ethos_u_firmware.git" repository on Stash,
with revision 48a4b9e6a0770212aac529fb7f81ed2e6ff51cbd

md5sum: 0bf8686fcabec7378483755106dc6433

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-06-28 11:54:16 +02:00
Javier Viguera 54a0d44df3 onnxruntime: update revision and fix rdepends
Backport changes from NXP's lf-6.1.1-1.0.0 release for the ccimx93.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-06-26 16:20:30 +02:00
Javier Viguera 4992b9934f ethos-u: backport driver, firmware and vela python tool
From NXP's lf-6.1.1-1.0.0 release for the ccimx93.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-06-26 16:20:28 +02:00
Javier Viguera 9acc53d948 flatbuffers: update to version 2.0.7
Backport from NXP's lf-6.1.1-1.0.0 release for the ccimx93 (meta-ml
layer).

This version of flatbuffers is needed for ethos-u-vela version 3.6.0
(backported in following commit).

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-06-26 16:19:42 +02:00
Isaac Hermida cbe83df69a packagegroup-imx-ml: add missing packages for imx93
These packages are new from NXP's release (lf-6.1.1_1.0.0).

https://onedigi.atlassian.net/browse/DEL-8137
https://onedigi.atlassian.net/browse/DEL-8563

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-06-26 16:18:23 +02:00
Isaac Hermida 7e1b8bd65d deepview-rt: fix build error when using tensorflow version 2.10
Update binary package to match backported version of tensorflow-lite.

https://onedigi.atlassian.net/browse/DEL-8137
https://onedigi.atlassian.net/browse/DEL-8563

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-06-26 16:16:33 +02:00
Isaac Hermida 43ea95739a tensorflow-lite: add support for version 2.10
Backport tensorflow-lite recipes from NXP's lf-6.1.1_1.0.0 release (Langdale based)

https://onedigi.atlassian.net/browse/DEL-8137
https://onedigi.atlassian.net/browse/DEL-8563

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-06-26 14:48:57 +02:00
Isaac Hermida 4f659d2094 eiq-examples: add eiq tools
Backport EIQ examples recipe from NXP's lf-6.1.1_1.0.0 release (Langdale based)

https://onedigi.atlassian.net/browse/DEL-8137
https://onedigi.atlassian.net/browse/DEL-8563

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-06-23 08:43:55 +02:00
David Escalona a04af0cbc1 meta-digi-dey: swu-images: simplify sw-description file
The fact of including both storage types (mtd and mmc) in the same 'sw-description' file is not providing any kind
of benefit. Instead, it makes the file larger, complex and harder to maintain. Additionally, most of the images
entries share the same structure and contents, changing only names and mount points. This commit simplifies the
'sw-description' file by configuring the storage type and the images to include in the SWU package at build
time, using a generic 'sw-description' template and template files for 'mmc' and 'mtd' images.

While on it, use the new 'DEY_FIRMWARE_VERSION' variable for SWU package version and fix the recipe to not include
all 'SRC_URI' files in the SWU update image, but only the required files for the update. Also, make use of variable
substitution provided by SWU class in the 'sw-description' file.

Note: SWU U-Boot update will be broken after this change. Waiting for official support with a robust implementation.

https://onedigi.atlassian.net/browse/DEL-8537
https://onedigi.atlassian.net/browse/DEL-8538

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-06-21 18:23:50 +02:00
David Escalona 96af1bd3de meta-digi-dey: dey-image: add new 'sw-versions' file to track system firmware version
https://onedigi.atlassian.net/browse/DEL-8574
https://onedigi.atlassian.net/browse/DEL-8575

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-06-21 18:23:50 +02:00
David Escalona a3bbd8a56f meta-digi-dey: sysinfo: include the new firmware version variable in the 'sysinfo' report
While on it, rename the old "Firmware" variable to "DEY version", as it refers explicity to the DEY
distribution version.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-06-21 18:23:50 +02:00
David Escalona ce14f12ac5 meta-digi-dey: fw_version: add new variable to store global system firmware version
https://onedigi.atlassian.net/browse/DEL-8539

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-06-21 18:23:50 +02:00
Tatiana Leon 6e30a8127e cloudconnector: set 'MACHINE' as the default device type
If 'CC_DEVICE_TYPE' is not defined or it is empty use 'MACHINE' as the device
type in the Cloud Connector configuration file.

This commit also limits its length to a maximum of 255 characters.

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-06-21 16:57:27 +02:00
Mike Engel 33bad0022e qtmultimedia: add QT environment variable for camera support
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-06-06 16:06:00 +02:00
Mike Engel d4c8c2ba31 qtbase: change profile script for QT6
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-06-06 16:06:00 +02:00
Francisco Gil 3d3ba69b08 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-06-06 13:04:21 +02:00
Francisco Gil 6a70b52356 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-06-06 13:04:21 +02:00
Gabriel Valcazar 26798cfb93 imx-gpu-viv: avoid pulling in kernel-module-imx-gpu-viv
We used to use BAD_RECOMMENDATIONS to remove this package in ccimx6 builds,
we enable the imx-gpu-viv driver as built-in in our kernel, but this method
isn't working anymore. Instead, undo the specific RRECOMMENDS that pulls the
module in.

Apply the change for the aarch32 version of the package only, since this change
is only needed for the ccimx6 platforms.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-06-06 10:26:41 +02:00
Arturo Buzarra bb8cd7e954 meta-digi-dey: bump distro version to 4.0-r4
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-06-02 12:31:18 +02:00
Javier Viguera eecc3cf6c1 systemd-conf: configure KEY_POWER events on ccimx93
To support suspend/resume and software controlled poweroff.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-26 14:04:02 +02:00
Javier Viguera 0ef9174760 Merge branch 'dey-4.0/maint' into dey-4.0/master
This merges back tag 'dey-4.0-r3.2' + some other fixes.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-26 11:27:34 +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
David Escalona 88c2357dbb meta-digi-dey: python3-xbee: update recipe to compile Github code
Instead of depending on library releases in Pypi, update the recipe to compile latest
Github code. This allows to use minor fixes in DEY before a new release of the library
is available. While on it, set the 'SRCREV' to point to the last commit of the repository
for traceability.

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-05-19 17:58:00 +02:00
David Escalona bd8fbbbc2c meta-digi-dey: python3-connectcore-ble: update recipe to always compile Github code
Main development of the library will be done in Github. The Stash repository will be
used as a "security backup mirror", so update the recipe to always compile from Github.

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-05-19 17:58:00 +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
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
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 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
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 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