On NXP platforms, the signed/encrypted bootloader images are not
included on the installer ZIP. This prevents from using the installer
when TrustFence is enabled.
This commit adds to the installer:
- If encryption is enabled
- encrypted bootloader
- signed bootloader (for USB recovery boot)
- If encryption is disabled
- signed bootloader
- If TrustFence is disabled
- non-signed bootloader
It also treats the ccimx6ul special, as this has a dedicated file for
USB recovery boot.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-9698
The vsftpd-cert init script was previously starting too late,
causing vsftpd to start before the certificates were generated.
The priority has been increased (to 70) so that vsftpd-cert
runs earlier during boot.
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
Removed curl_%.bbappend which forced the use of ares over the default
threaded-resolver. We did this customization for NetworkManager long
ago in the context of network failover. Later we dropped it from NM,
but the customization in curl remained.
This saves approx. 100KB in the rootfs (libcares.so).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* Disable GTK-based gstreamer player and connman network manager
* Remove matchbox-terminal to avoid pulling ICU
* Avoid pulseaudio client configuration to prevent duplicate instances
Also, delete the autospawn-for-root package config removal in our bbappend,
as that is not enabled by default in the recipe.
https://onedigi.atlassian.net/browse/DEL-9685
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* Y2038: compile pulseaudio and alsa-lib with 64bit time flags
* Add patch to fix playback stuck issues on suspend/resume
https://onedigi.atlassian.net/browse/DEL-9681
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
As of Yocto 5.0, Poky includes an equivalent solution for the Y2038 issue,
so drop the redundant code in meta-digi.
https://onedigi.atlassian.net/browse/DEL-9681
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
On the CCMP13 platform, the inclusion of pam_systemd in the PAM stack
causes excessive delays during login -close to 10 seconds- and can
even lead to SSH login failures.
Since we do not require per-user systemd services (--user), disable
the pam_systemd session module to improve login responsiveness.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit enables SSL/TLS support in vsftpd, allowing FTP communications to
be encrypted for improved security.
SSL/TLS support is enabled by default, but to preserve compatibility with
clients that do not support encrypted connections, this feature can be disabled
at runtime. Users can simply comment or uncomment a few lines in the
`vsftpd.conf` configuration file to toggle the behavior.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This generates an installer.zip image with all the firmware
images, including install scripts for UUU, SD card, and USB.
This is helpful to share the artifacts with manufacturing
or for deploying to external media such as microSD or USB stick.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The HCI_UART Bluetooth driver does not support suspend-to-RAM operation, so the
driver must be loaded and unloaded manually. This commit adds support for the
Bluetooth initialization script used across Digi platforms, specifically for
ConnectCore MP13 and MP15.
https://onedigi.atlassian.net/browse/DEL-9650
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
When you create a bridge between Wi-Fi hostap and Ethernet, it's more
convenient to let the bridge take an appropriate dynamic IP from the
DHCP server, than needing to configure a manual one.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This commit includes a new tarball based on trustfence-fscrypt v0.2,
cross-compiled against libteec v1.0.0, to enable support for STM32MP1x platforms.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
add a new recipe to include nxp prebuilt binaries for:
* mlanutl: WoWLAN support
* nanapp: NAN support
* nmlawls: monitor Wi-Fi events
Included prebuilt version obtained from next release:
SD-WLAN-UART-BT-SPI-OT-Zigbee-DualPAN-IW612-LNX_6_12_3-IMX8-18.99.3.p23.20-18.99.3.p23.20-MM6X18505.p23-GPL.zip
https://onedigi.atlassian.net/browse/DEL-8462
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
poky commit 3c9b461dd0d26a5f6941000d839636ad32cd6f29 added this binary to the
bluez5-noinst-tools package, and it has the same exact path as the one from our
dey-examples-btconfig package. This causes a conflict when both packages are
installed in the same image.
Judging by bluez5's btconfig sources, it's merely a skeleton without any real
functionality, so simply remove it to avoid the conflict.
https://onedigi.atlassian.net/browse/DEL-9612
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Some of our example recipes that are meant to be used on specific platform
subsets are available to be built/installed for all platforms. Even though it's
possible to build/install these recipes for platforms they aren't meant for,
we should restrict them to their intended platforms:
* dey-examples-btconfig: this is only meant for ccimx6 platforms that use
the Atheros wifi/bt chip, so reflect this in the recipe and in the
examples packagegroup.
* dey-examples-tamper: this is only meant for platforms with MCA (ccimx6ul,
ccimx8x and ccimx8m). This requirement was already set in the examples
packagegroup, but the recipe was available to any platform.
https://onedigi.atlassian.net/browse/DEL-9612
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Commit 15f9aeba0e removed the dey-examples-v4l2
recipe, yet we still kept it as a dependency for ccimx6 platforms. Remove this
impossible dependency to be able to build the examples packagegroup for ccimx6
platforms.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This version of swupdate has a bug that happens if the root of sw-description
is redirected via a link, which is the case is some of our sw-description
templates (such as the one we use for file updates). Backport a fix from
v2025.05.
https://onedigi.atlassian.net/browse/ADK4A-1957
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
(cherry picked from commit 5bdd59a647)
This version of swupdate has a bug that happens if the root of sw-description
is redirected via a link, which is the case is some of our sw-description
templates (such as the one we use for file updates). Backport a fix from
v2025.05.
https://onedigi.atlassian.net/browse/ADK4A-1957
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Like we do for our other supported images, provide a recipe to generate a SWU
package based on dey-image-flutter
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
When building DEY 5.0 ccmp15-dvk images with Qt6 instead of Qt5, the rootfs
image is too big for the default settings (512 MiB, dualboot enabled). Make
room by removing the *-examples Qt6 packages, which are over 30 MiB in total.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
There are several recipes in meta-digi related to features that we haven't
tested in a long time and don't appear in the DEY 5.0 documentation. Remove
them to avoid unexpected behavior.
Said features are:
* Coral TPU support (only supported in DEY 3.2)
* AWS support (removed from default images and docs in DEY 4.0)
* dey-image-tiny (hasn't been maintained since DEY 2.0)
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The patch we applied for the ccimx8x to enable VPU usage when playing
videos under WebKit is also necessary for the ccimx8mm.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The ubihealthd daemon, present in mtd-utils does random
scans of the UBI devices on a given interval. This helps
to deal with 'read disturb' problem on NAND flashes.
The service runs a ubihealthd thread for every UBI device
with a read interval of 1 hour by default.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-9571
Commit 9c3916da94 added INSANE_SKIP
"32bit-time" to certain recipes that use 32bit APIs on the ccmp1
SOMs, but forgot to include the `pn-` prefix to really apply to
those recipes.
While on it, add two additional ones on recipes used by NXP 32-bit
platforms.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
* Remove wayland_1.22.0.bbappend, with changes originally added for Crank
UI (commit 25c699e05b), which we no longer support.
* Update wayland_%.bbappend to align with NXP’s rel_imx_6.6.52_2.2.0
release.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
That includes several CVE patches not present of meta-freescale's
23.2.5.imx recipe (which is based in exactly the same revision).
Similar change was done in NXP's meta-imx (see commit
99ceb057fcfdc8151c1488089d5f22363dfdb6d7).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit updates the tarball to be based on libteec v1.0.0, as the previous
version was generated without the correct Trusted Application (TA) and did not
work properly.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit introduces a dynamic layer that extends the flutter-apps layer by
adding an init service to automatically launch the Flutter demo on boot.
https://onedigi.atlassian.net/browse/DEL-9380
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit introduces the necessary changes in the Digi Embedded Yocto layer
to support the X-LINUX-AI v6.0.1 software package from the meta-st-x-linux-ai
layer.
The update removes support that is now provided directly by the ST layer in
this new version and adapts existing recipes to align with the updated
mechanisms for AI application integration. These changes ensure compatibility
with platforms that feature hardware acceleration (NPU), as well as those that
rely solely on CPU-based inference.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Typically, recipes that support clang builds only pull in the required clang
dependencies when the TOOLCHAIN variable is expliciltly set to "clang". The
qttools recipe in meta-qt6 differs from this by adding the dependency as soon
as meta-clang is present in the bblayers, regardless of the selected toolchain.
This causes all of the nativesdk clang packages to get included in our SDK
(along with the gcc ones), causing SDK bloat and spurious build errors on build
machines with limited resources.
Make sure that the dependency is only added when the clang TOOLCHAIN is
explicitly selected.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit introduces the necessary changes in the Digi Embedded Yocto layer
to support the X-LINUX-AI v6.0.1 software package from the meta-st-x-linux-ai
layer.
The update removes support that is now provided directly by the ST layer in
this new version and adapts existing recipes to align with the updated
mechanisms for AI application integration. These changes ensure compatibility
with platforms that feature hardware acceleration (NPU), as well as those that
rely solely on CPU-based inference.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Flutter is an open source framework for building multi-platform applications
without a graphical backend running. This commit adds support to create a new
DEY image type based on Flutter ready to use for the users.
https://onedigi.atlassian.net/browse/DEL-9380
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Even though we launch said demo with WebKit's page cache disabled, WebKit still
caches most of the demo's contents for two reasons:
* The demo is browsed using a non-HTTP(S) protocol (file://)
* The demo is contained within the same domain (same-site browsing)
This can lead to unexpected behavior on platforms with small RAM size. Add
a workaround to force WebKit to create a new web process everytime we open
a page on the demo, deleting the previous process and freeing its memory.
An alternative solution would be to alter our demo to make sure a page's
resources are correctly freed when exiting said page, but this provides a
general solution that ensures memory cleanup in all cases, albeit with slightly
longer loading times.
https://onedigi.atlassian.net/browse/DEL-9498
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit includes a new tarball based on trustfence-fscrypt v0.2,
cross-compiled against libteec v1.0.0, to enable support for STM32MP platforms.
https://onedigi.atlassian.net/browse/DEL-9442
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit updates secure boot support based on the STM32 MPU Ecosystem v6.0
and integrates support for the ConnectCore MP2 platform.
https://onedigi.atlassian.net/browse/DEL-9442
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Refactored some functions to make them more generic, allowing for
greater parameter reusability.
https://onedigi.atlassian.net/browse/DEL-9526
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
dnsmaqs is not able to manage DNS from cellular interface.
Now, DNS is managed by systemd-resolved on platforms with
systemd and by NetworkManager on sysvinit platforms.
https://onedigi.atlassian.net/browse/DEL-9353
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
dnsmaqs is not able to manage DNS from cellular interface.
Now, DNS is managed by systemd-resolved on platforms with
systemd and by NetworkManager on sysvinit platforms.
https://onedigi.atlassian.net/browse/DEL-9353
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
hwlatdetect is intended for monitoring hw latency on real time systems
that rely on SMI interrupts (mainly x86 machines).
As our devices that not support it, do not include the tool.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
hwlatdetect is intended for monitoring hw latency on real time systems
that rely on SMI interrupts (mainly x86 machines).
As our devices that not support it, do not include the tool.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This was causing issues when installing an SWU package on ccmp1 platforms with
dualboot disabled and Trustfence enabled: the package was triggering an
encrypted rootfs update, which isn't supported on these platforms.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
(cherry picked from commit af06ea16adc85285d9264468d2fd5946ed401de9)
after commit 8ad093c37b we are detecting
if a model conversion fails.
Currently the mode ssd_mobilenet_v1 fails and cannot be converted by
vela.
This is reported to NXP and will be fixed in next releases.
Meanwhile, for the current version, use a local copy.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
'gplay' tries to use playbin3 and autovideosink by default
which is provided by plugins-good package and missing on the
ccimx6ul.
Add this package so that video playback works with 'gplay'
command alone.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-9525
Due to a change in systemd the default home directory is now "/root".
Modify our recipes to match with this change.
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2.46.5 has an issue where the ConnectCore demo doesn't register mouse clicks
in its main window, making it unusable. Until we find the cause of this issue,
downgrade to the nearest available release 2.44.4, where mouse clicks are
working fine.
Backport a patch from 2.46.X to allow builds with the lbse PACKAGECONFIG
disabled and apply a custom patch to make sure the correct gstreamer sink is
used for the ccimx8x.
https://onedigi.atlassian.net/browse/DEL-9446https://onedigi.atlassian.net/browse/DEL-9498
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Device tree overlays now have the extension 'dtso' that
distinguishes them from board 'dts' files, so there is
no need for a prefix '_ov_' to tell if a file contains
a DT overlay.
To make them shorter and easier to tell the platform they
are for, change the filename format to:
<platform-name>_<functionality>.dtso
where <platform-name> can be the name of the SOM or the
name of the DVK, so there is no need either to specify
'som' or 'board' on the filename.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
For i.MX platforms with a GPU, we already enable its driver as built-in in the
kernel, so there's no need to install the external version of the driver. This
removes one of the dependencies with the linux-imx repo, the other one being
linux-imx-headers.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Now all platforms support setting the GPIO name instead of an index
as the configuration for the GPIO-enabled secure console.
Repurpose the TRUSTFENCE_GPIO_ENABLE macro to directly set the GPIO
name.
Also take the opportunity to remove TRUSTFENCE_GPIO_ENABLE and
TRUSTFENCE_CONSOLE_PASSPHRASE_ENABLE commented definitions from bbclass
and conf files, and remove a duplicated TRUSTFENCE_CONSOLE_DISABLE
definition from ccmp1.inc.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
bootcount utility started by bootcount-init script was inconditionally setting
bootcount to 0 even if the functionality is disabled.
According to documentation, bootcount functionality is only enabled if bootlimit
variable is defined to a value greater than 0 in U-Boot environment.
In platforms like cc6ul, that use MCA NVRAM to store bootcount, this was corrupting
user NVRAM.
Version increased to 1.1.
Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
Unify all the different bluetooth init scripts.
The service can be started as oneshot instead of forking, as in all cases
the attach command is started daemonized in background.
Regarding the service requirements, just rely on udev so the HW itself
should be detected and ready.
Make it running before the bluetooth service, so the HW Bluetooth device
is fully ready when bluetooth service starts.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
bluez5-init is a Digi custom recipe to collect the init script
needed to bring up the specific platform bluetooth hardware.
CCMP1s do not require any bluetooth init extra action.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The systemd recipe was recently upgraded from v255.13 to v255.17 in poky and
our patches no longer applied correctly. Adapt them to prevent do_patch()
errors.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
We haven't included fbtest in our default images for a long time. Also, its
lone dependency, microwindows, is broken due to an outdated SRC_URI that no
longer exists. Remove both recipes
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This recipe was added 8 years ago in the context of supporting awsiotsdk, back
when there were no community recipes for a v2.X.X version. meta-openembedded
now has recipes for both v3.6.2 and v2.28.9, and our recipe has been outdated
for a while now, so remove it.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Both gstreamer1.0-plugins-good-qt and imx-qtapplications haven't been
officially supported by NXP ever since they migrated to qt6 on i.MX platforms,
and both of them apply only to imxgpu3d platforms. In our case, we only use qt5
in the ccimx6ul, so we don't need these packages at all.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Like in commit 782b20958a, port these recipes from meta-imx even though they
are already available in meta-freescale, just so we can include the
modifications from meta-imx's imx-gpu-viv-6-overrides.inc.
https://onedigi.atlassian.net/browse/DEL-9445
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Since the ConnectCore demo server forks execution to start the demo server
Python script, it may not be fully initialized when the ConnectCore demo
example initializes the UI and attempts to retrieve information from the server
daemon. This commit introduces a delay to ensure the server is ready before
another service, such as the ConnectCore demo example, interacts with it.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This recipe installs the dcmipp-isp-ctrl tool, an application that demonstrates
some of the features of the DCMIPP ISP blocks. It allows configuring
illuminance and auto-exposure to achieve a targeted level by adjusting both the
DCMIPP exposure block and the sensor gain.
This recipes is original from meta-st-openstlinux layer based on
openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05 release.
https://onedigi.atlassian.net/browse/DEL-9486
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit fixes several issues related to the initialization of AI demos when
using CSI cameras (OV5640 and IMX335) with the DCMIPP peripheral.
All configurations have been moved to an additional setup_camera.sh script and
removed from the main demo launcher.
https://onedigi.atlassian.net/browse/DEL-9486
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
stai-mpu provides a common ML API for stm32mpu platforms, allowing applications
to use different inference frameworks without changing any code. Its packages
consist of pre-built libraries that are in charge of interfacing with the
three supported frameworks (tflite, onnx and openvx).
While it's possible to install only a subset of these libraries to limit the
supported frameworks on the target device, all libraries are packaged
unconditionally at build-time, pulling in the dependencies of all three
frameworks. In our case, this pulls in onnxruntime dependencies even though we
only install the tflite and openvx packages in our ccmp25 images. This tends to
cause out-of-memory errors when onnxruntime is built at the same time as other
large packages, such as opencv and wpewebkit.
Since most of these dependencies are already present at a higher level in the
x-linux-ai packagegroup recipes, remove them from the stai-mpu recipe and skip
the runtime dependency QA checks to be able to build the packages without their
respective frameworks. In the case of the ccmp25-dvk, this has no effect on the
final image contents, but it prevents onnxruntime from being built for no
reason.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The default ML packagegroup provided by the x-linux-ai layer isn't very
flexible when it comes to including a subset of the packagegroups it provides:
even if you include just one of them, the others will get built anyway, pulling
in several dependencies that aren't even used for the final image's contents.
Also, a lot of the runtime dependencies are duplicated in several of the
packages in the dependency chain, making it confusing to manage dependencies
efficiently.
Create a new packagegroup specifically tailored for our ccmp25 webkit images,
using packagegroup-x-linux-ai as reference, removing any duplicated
dependencies and applying the same changes as the ones we apply in the
reference's .bbappend. At the moment, this packagegroup and the old one are
equivalent, but we can now modify ours while leaving the old one intact in case
anyone wants to use it.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
getVar() defaults to expanding by default.
See poky's commit: 2631c375b8a025ee2e4329f6d93900bb7b5dadf7
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
By default, we don't enable wpewebkit's qtwpe config, so the qtbase-native
dependency pulled in automatically via the qt6-cmake bbclass isn't necessary.
Make sure the dependency only gets pulled in when needed.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit synchronizes the nl80211 definitions with Linux kernel v6.6.48 to
prevent a mismatch between the extended features recognized by wpa_supplicant
and to correctly parse the information provided by the Linux driver.
https://onedigi.atlassian.net/browse/DEL-9470
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Currently, this feature prevents the CPU from properly entering the
standby state on the i.MX93.
With the current implementation, the PXP module generates
"pxp-dmaengine-std" interrupts, which prevents the CPU from asserting
the PMIC_STBY_REQ signal.
An ongoing ticket with NXP is addressing this issue.
In the meantime, use the following workaround to resolve the situation.
https://onedigi.atlassian.net/browse/DEL-9356
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit fixes several issues related to the initialization of AI demos when
using a USB camera.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Using the qt5 STM customizations as reference, adapt them to qt6 by changing
filenames and paths when needed and porting the qtbase configuration options
from the v2.1.0 branch of meta-st-x-linux-qt. Make sure that the
cinematicexperience is included in packagegroup-qt6-dey.
For now, leave the STM qt5 support as-is for backwards compatibility.
https://onedigi.atlassian.net/browse/DEL-9462
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Otherwise, the target will immediately power off as soon as the power button is
pressed, even before letting go of it. This customization is already being made
for ccmp1 platforms, so make it common for all stm32mp platforms.
https://onedigi.atlassian.net/browse/DEL-9190
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Similar to what we did for the target's version of this packagegorup in commit
58cfee7ac7, keep the "essentials" packagegroup and remove the addons. In this
case, the troublesome qt6 package is qtinterfaceframework, which pulls in
several python3 packages including python3-cryptography, which depends on the
rust compiler.
This reduces overall SDK size and rust compiler overhead during the SDK build.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The dependency was added in the recipe for adwaita-icon-theme v3.30.1, back in
poky commit 2ad84e129652, because that version of the package required librsvg
to convert SVG files to PNG. In recent versions, this is no longer the case,
and removing the dependency has no effect on the package's contents (they are
identical with or without the dependency).
Since librsvg-native is the only package in our ccimx6ul/x11 images that
depends on rust, remove this dependency to prevent bitbake from generating
the rust compiler, reducing build overhead.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This plugin is optional and, in platforms where rust isn't used anywhere else,
it adds a lot of overhead during the build process. Remove the plugin to
prevent said overhead when possible.
Alter gstreamer1.0-plugin-bad's PACKAGECONFIG from a single place so the
change applies globally (imx and stm platforms use different gstreamer recipes
and versions).
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This mirrors the change done for the STM version of the recipe in meta-digi
commit b7c15294a2, re-using the same patch that was used to fix the
compilation error introduced by poky commit 19fce77a5f13.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit adds a patch to address a build issue with the onnxruntime recipe
when warnings are treated as errors. The issue happens due to changes in commit
19fce77a5f132c569c555e8b6a4dda1379537653 ("gcc: Fix c++: tweak for
Wrange-loop-construct") in the poky layer.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
connectcore-demo-example multimedia content is only meant for webkit images,
and all this package does in its regular non-webkit version is add a few static
resources. Remove said resources and install only the demo's server + basic
assets.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
At the moment, we provide four versions of the connectcore demo package:
* webkit + multimedia: we include this one in webkit images
* webkit (no multimedia): used in cases where the platform supports webkit,
but video/webgl performance isn't optimal
* regular: only contains the demo server and basic assets, we include it in
non-webkit images
* regular + multimedia: contains the regular package plus video/webgl web
content
This last version doesn't make a lot of sense because video/webgl content is
meant to showcase the target's VPU/GPU capabilities, and that can only be done
when running the demo on the target via webkit. Besides, even though we don't
include this version of the package in our default non-webkit images, the
runtime dependencies in the .inc file make bitbake generate the video-examples
and webglsamples packages during the image builds, even if they don't end up
in the final image. This is true even for platforms that don't support webkit,
such as the ccimx6ul, ccimx91 and ccimx93.
Initially, I tried making the -multimedia package exclusive to the webkit
recipe, but this causes its contents to be bundled with the base (regular)
package. To avoid this, define the -multimedia package in the .inc file, and
move its dependency with video-examples and webglsamples to the webkit recipe.
This way, the regular + multimedia version of the package still exists, but
it no longer causes bitbake to generate video/webgl packages when not needed.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Part of these changes are related to the update to Qt 6.8. Slightly modify
qtquick3d_git.bbappend to mirror NXP's configuration (i.MX GPU drivers don't
support OpenXR)
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
In the previous commit, removing the qt6 addons packagegroup has the unintended
side effect of removing all gtsreamer packages from the SDK, presumably because
they were being implicitly pulled in by one of the many qt6 packages. Add our
dey-gstreamer packagegroup to dey-toolchain to recover said packages.
Note that the set of packages we include with our packagegroup is much bigger
than the set that was being pulled in by the qt6 addons, but the size increase
is small compared to the increase caused by the qt6 addons. In the
ccimx8x-sbc-pro toolchain, this increases the installer script's size by around
84 MiB.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
packagegroup-qt6-modules is the base packagegroup added to SDKs that inherit
the populate_sdk_qt6 bbclass. By default, this packagegroup pulls in two other
packagegroups: packagegroup-qt6-essentials and packagegroup-qt6-addons.
The addons packagegroup pulls in a big number of qt packages that we don't even
install in our images. This would be fine if it weren't for the fact that the
bitbake server tends to crash when building several of these packages at once,
even on powerful development PCs. The current workaround is to reduce the
number of bitbake jobs at a project level, but this hinders the overall SDK
build time. Remove the addons and use our own qt6 packagegroup instead.
This way, we prevent errors in our daily builds and the qt6 contents in our
SDKs are more similar to what we provide in our images. In the ccimx8x-sbc-pro
toolchain, this reduces the installer script's size by around 492 MiB.
https://onedigi.atlassian.net/browse/DEL-9410
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
After commit 732975b722, which synced our qt6 recipes with meta-imx, there
are no longer any compilation error when building qtpdf. Undo our removal of
this package to minimize the amount of changes done to the qt6 packagegroups.
Don't undo the change in the copyright years
This reverts commit 3bf06c2c6f.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This imports ethos-u firmware from NXP's MCUXpresso SDK (version
SDK_2_16_000_MIMX9352xxxxM) + some patches provided by NXP to fix the
communication with the TFlite delegate (support case 00663302).
Repo: emp/ethos_u_firmware.git
Revision: 2a98a3899f56830c45fadc708229824e9fee3a01
https://onedigi.atlassian.net/browse/DEL-9355
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit removes all references to packages dependent on the X-Linux-AI tool
manager, as it has an internal dependency on the apt-openstlinux package.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit removes all outdated recipes after the integration of the latest
X-LINUX-AI v6.0.0 release from the meta-st-x-linux-ai layer for Yocto 5.0
(Scarthgap).
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit updates the camera configuration and default paths to align with
the new X-LINUX-AI v6.0.0 release from the meta-st-x-linux-ai layer.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds a .bbappend to the application-resources recipe, enabling
support for the STM32MP255 variant in the configuration board script.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
NPU samples were reworked in the new X-LINUX-AI v6.0.0 release from the
meta-st-x-linux-ai layer. This commit updates the Digi customizations to align
with the new NPU sample files.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit removes all unnecessary files after the integration of the latest
X-LINUX-AI v6.0.0 release from the meta-st-x-linux-ai layer for Yocto 5.0
(Scarthgap).
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Even though we're already limiting this number of threads to 16, the wpewebkit
compilation process often crashes, even on powerful development PCs with 32
logical cores and 32 GiB of RAM. Reducing the number of threads to 8 avoids
this, at the expense of a slightly longer compilation time.
https://onedigi.atlassian.net/browse/DEL-9411
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The main culprit is "accessibility", which adds a dependency with at-spi2-atk.
This service fails to launch if glib-2.0's gschemas.compiled file is missing,
which is the case in our default images. In turn, this failure causes webkit
to stall for 30 seconds before launching. Remove this PACKAGECONFIG to avoid
this issue.
While at it, remove other PACKAGECONFIGs:
* "lbse" and "service-worker" are not configurable anymore and are now
hardcoded features. Removing these PACKAGECONFIGs has no effect on the
build, but their inclusion gives the false impression that they're
configurable, so remove them. "webcrypto" is also not configurable
anymore, but its PACKAGECONFIG pulls in necessary dependencies, so leave
it enabled for now.
* "openjpeg" is not only not configurable, but it's no longer supported.
This PACKAGECONFIG pulls in an openjpeg dependency, making bitbake build
the package even though it never gets included in the final image. Remove
the config to prevent bitbake from building the openjpeg package at all.
* "speech-synthesis" pulls in a dependency with flite, a 15 MiB speech
synthesis tool. We aren't using this feature in our demos, so remove it
from our default configuration to save some space.
https://onedigi.atlassian.net/browse/DEL-9404
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The value of this variable is always the same within a platform, so it doesn't
make sense to have different variables for it in each recipe that requires it.
While at it, it seems like all currently supported platforms in DEY 5.0 use the
same value of "wayland-1", presumably because they all use similar versions of
wayland/weston. Set this as the default value for all platforms for now. As we
support more platforms, we can adjust this value if needed, but if it ends up
being the same for all platforms, we can just hardcode it.
https://onedigi.atlassian.net/browse/DEL-9404
Co-authored-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit removes all unnecessary files after the integration of the latest
ST BSP, based on the openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 tag for
Yocto 5.0 (Scarthgap).
https://onedigi.atlassian.net/browse/DEL-9381
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This patch includes code that only gets compiled for platforms that use a NAND
as the internal storage. Recent changes in swupdate's "copyfile" API caused
this code to stop building.
Using the normal rdiff handler code as reference, update our custom handler to
fix the build errors. While at it, include another change to prevent a warning.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
In this version, Config.in files have been renamed to Kconfig, which prevented
one of our patches from applying correctly. Rework the patch to account for
this name change and while at it, update its context.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Do not take any action such as removing the btnxpuart module When
the system is being restarted (poweroff or reboot), as the driver
tries to restore the UART baudrate when removing the module, and if
the system is being off, some of the entries might be dissapeared in the
middle of the process, leading to a NULL pointer and preventing the
system of being rebooted.
The btnxpuart can be removed on suspend/resume safely, so add the logic
to detect if the system is being rebooted.
https://onedigi.atlassian.net/browse/DEL-9290
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This slightly increases the SDK's size, but it adds packages that are required
for common use cases such as integration with weston/x11.
https://onedigi.atlassian.net/browse/DEL-9297
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Our new dey-toolchain recipe was missing the logic needed to create the
"dey-version" file in the SDK's installation path. Move this logic from the
dey-image bbclass to a new bbclass meant exclusively for SDK logic, and inherit
it where needed. While at it, move other common SDK modifications to this
class.
https://onedigi.atlassian.net/browse/DEL-9297
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This variable is used to determine the types of complementary packages included
in the SDK: dbg-pkgs, dev-pkgs, doc-pkgs, src-pkgs...
We added staticdev-pkgs to this variable back in Yocto 2.0 (45de4d6943), but
instead of appending it to the original list, we redefined it with its original
value ("dev-pkgs dbg-pkgs") plus "staticdev-pkgs".
However, the default value of SDKIMAGE_FEATURES in poky has changed over time:
* Starting in Yocto 2.3 (eb345ca720e5), doc-pkgs is included if
"api-documentation" is in DISTRO_FEATURES. We don't include this feature
by default, but if a customer were to include it manually, the doc
packages wouldn't get included in their custom SDKs.
* Starting in Yocto 2.7 (ba3aa5311291), bitbake changed the default
PACKAGE_DEBUG_SPLIT_STYLE value so debug packages get split in two: one
for binaries with debug symbols and another for the source code. In turn,
src-pkgs was added to the default SDKIMAGE_FEATURES so that SDKs wouldn't
change behavior, but since we overwrite the default value, we aren't
including src-pkgs in our SDKs, only dbg-pkgs.
* Any future changes would be ignored as well, which could potentially lead
to unexpected behavior.
Make sure we don't overwrite the default SDKIMAGE_FEATURES value to include
src-pkgs in our SDKs, as well as the optional doc-pkgs logic. Also, include
staticdev-pkgs in our recently created dey-toolchain recipe.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
For many DEY releases, we've been providing one SDK per image type, per
platform. In the case of graphical images, this was redundant for a few
reasons:
* Most of the SDK's contents were identical, save for the specific packages
in each image (qt, webkit, lvgl...) and their dependencies. With each SDK
occupying over 1.5 GiB, this results in a lot of storage space overhead
in our servers.
* For some images, namely webkit and lvgl images, their respective SDK
packages aren't necessary for the expected development use cases, so it's
perfectly possible to use the qt SDK instead.
Create a separate recipe for a general-use SDK. Said toolchain includes qt5/qt6
packages by default, except for headless platforms. The advantages of this are:
* We only provide one prebuilt SDK per platform, all with the same base
name. The SDK should cover most if not all of the expected development
use cases, and customers are still able to create their own custom SDKs
if needed.
* Having a separate recipe for the toolchain, not tied to a specific image
type, allows us to fine tune its contents without affecting images and
their recipes. With time, we can incorporate new packages as needed.
https://onedigi.atlassian.net/browse/DEL-9297
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
If the power domain is kept on in suspend, do not disable the Bluetooth as
no new initialization is needed.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
After poky commit 4705dd264681d908f144dd4d9bf1f6175f68d8b9, soft dependencies
for complementary packages no longer get included by bitbake's internal package
managers. Make weston's dependency with wayland-protocols a hard one to include
wayland-protocols in our SDKs, which is how it used to be in older DEY
releases.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
In single boot layout the ccmp1 platforms have two UBI devices:
ubi0: Contains uboot_config_r, linux, and recovery.
ubi1: Contains rootfs, data, and update.
The regular expression used for the update partition needs
to be updated to include the ubi1 device, ensuring proper
handling of the update partition.
https://onedigi.atlassian.net/browse/DEL-9387
Signed-off-by: Francisco Gil francisco.gilmartinez@digi.com
Optee client library updated its major version due to a ABI breaking
change:
3eac340a78
This update provides a new build of the trustfence-fscrypt app, linking
to the new version of libteec.
https://onedigi.atlassian.net/browse/DEL-9341
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Upon a p2p link, an auxiliar iface "p2p-iface-[0-9]" is created. If
it is not specified to the wpa_cli command, a different interface may
be used (eg, wlan0), leading to a failure.
Make the script more robust by detecting the new interface.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Commit 998598415a moved this logic to the
trustfence.bbclass file, but in doing so, it removed the TRUSTFENCE_SIGN check
it used to have. The check is needed for two reasons:
* The signing of SWU packages only occurs when TRUSTFENCE_SIGN is enabled, so
there's no need to copy the key if it's disabled
* When building a project from scratch that has Trustfence enabled but
TRUSTFENCE_SIGN disabled, a PKI is never generated and the key doesn't exist.
Because of this, the key won't be found and an error will occur. Note that
if your project is already pointing to a populated PKI, the error won't
happen, only if there's no PKI to begin with.
Although the PKI is guaranteed to exist by the time the rootfs is populated,
make sure to check that it has been properly generated and create it if it
doesn't exist. This logic depends on the trustfence-gen-pki.sh from
trustfence-sign-tools-native, so add it as a dependency for
dey-image-recovery-initramfs. The dependency is already there for another
feature in the dey-image recipes, so simply reflect this new dependency in a
comment.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
(cherry picked from commit 8e52c27d5a8e8071c3a17754e91c1819bcceee15)
Poky updated orc to version 0.4.40. This patch is no longer needed.
This reverts commit bee97587cb.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When it comes to inheriting this qt bbclass, we used to do so for every image
inheriting the "dey-image" bbclass that had "dey-qt" in its IMAGE_FEATURES. In
theory, only dey-image-qt follows these requirements.
However, starting in DEY 3.0, we added support for multiple graphical images,
all of them sharing the same characteristics save for a defining IMAGE_FEATURE.
To implement this, all images have the IMAGE_FEATURE "dey-${GRAPHICAL_CORE}",
with GRAPHICAL_CORE having a default value of "qt" and being overwritten in
each image recipe with its respective value: "qt", "webkit", "crank" or "lvgl".
The problem is that, when checking whether to inherit populate_sdk_qt[5/6] or
not, it's still very early in the recipe parsing process and GRAPHICAL_CORE
still has its default value of "qt", meaning the "dey-qt" IMAGE_FEATURE is
considered present for all graphical images. In turn, this results in qt
packages being included in all graphical image SDKs.
Move the inherit clause to the dey-image-qt recipe and remove the check so
that the qt packages only get installed in the dey-image-qt SDK.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
(cherry picked from commit 593ff866578e6d341ec4d8a09581922c6390e2a4)
Commit 99f1425340 ("image-buildinfo: Improve and extend to SDK coverage too")
in the Poky layer changes the name of the default build information file from
"build" to "buildinfo", so this commit reflects this change by adapting the
sysinfo script.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Remove any content that has been upstreamed to meta-freescale and update the
recipes with the latest changes in meta-imx, while keeping our customizations.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Sporadically, the BT FW is uploaded but the interface is not functional
as it is not up and its entries are not populated. Validate the FW
was correctly set, if not, rely on the retry mechanism.
https://onedigi.atlassian.net/browse/DEL-9006
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This was always the case until commit 498e94c9132e90fc1c406b8422e4554c6801918e
in meta-qt6, which was meant to reorganize some packages depending on the
target architecture, but removed the check for this package in the process
(while maintaining the check for other related packages). We haven't tried
building qtpdf until now, and since it's causing build errors out of the box,
we might as well remove it for now because it's only meant to be an addon
exclusive to the SDK.
Since the new package qtdoc has a dependency with qtpdf, remove it as well.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Our distribution is Digi Embedded Yocto (DEY), so use that to mark the
upstream status of the patches in our layer.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
At the moment, not all of the layers we use have a scarthgap branch, so simply
use the closest available Yocto version per branch and make them compatible
with scarthgap. This is very error prone, but at least we'll be able to get
some porting work done.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Similar to what happens in cog with the drm PACKAGECONFIG, this creates a
dependency with libgbm, a library which isn't available on these platforms.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>