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>
A recent change in poky changed the configuration behavior of this package,
using the defconfig in the source tree instead of the one provided in Yocto
(which we overwrite in meta-digi). Since our ccmp1 builds have a lot of patches
specific to the platforms' wifi chip, using the default defconfig results in
linking errors.
Restore the ability to use custom defconfigs to be able to use the ones defined
in our layer per platform.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
These recipes install binaries inside of /sbin, which causes QA errors when
usrmerge is enabled in DISTRO_FEATURES. Said feature is now required for
Yocto 5.0's version of systemd, so keep using the same versions of the tools
and simply move the binaries to /usr/sbin if needed.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This variable now has a weak assignment in poky with the default value
"sysvinit", which was overriding our weak assignments.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
poky provides the recipe for meson 1.3.1. Besides, using an older version of
meson in a recipe that inherits meson.bbclass results in configuration
errors, so it's best to use the version provided by the community.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
While at it, add the "Upstream-Status" tag to the patches to avoid QA errors
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
While at it, add the "Upstream-Status" tag to the patches to avoid QA errors
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This patch was added in pulseaudio v15.99.1, poky currently provides v17.0
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This is the version of the recipe provided by poky in Yocto 5.0 scarthgap.
Aside from updating the verison number, explicitly create /etc/bluetooth
directory during installation.
The creation of this directory was removed from the recipe's base do_install()
in poky (see poky commit 55692591227eaac2d50ab339eea87ddca395f6df), so we need
to create it in our bbappend to be able to add files to it.
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Back in Yocto 4.0, we backported some ml recipes exclusively for the ccimx93
from meta-imx's rel_imx_6.1.55_2.2.0 tag, but now we simply use what's provided
in the scarthgap-6.6.23-2.0.0 branch of meta-imx. Reflect this in
imx-digi-base.inc.
Remove the recipes for:
* arm-compute-library
* eiq-examples
* ethos-u-driver-stack
* ethos-u-vela
* flatbuffers
* onnxruntime
* tensorflow-lite
https://onedigi.atlassian.net/browse/DEL-9011https://onedigi.atlassian.net/browse/DEL-9081
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Even though these recipes are technically available in meta-freescale, the
imx-gpu-viv-6-overrides.inc file from meta-imx isn't. Port it and include it in
our recipes to make sure we have all of the iMX BSP customizations.
https://onedigi.atlassian.net/browse/DEL-9011https://onedigi.atlassian.net/browse/DEL-9081
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
A lot of the imx93-specific changes have been upstreamed to meta-freescale, and
this version is now used in all platforms, so we don't need to include
version-specific code (for example, to manage weston-socket.sh).
Also, update our do_install:append() to match the one in meta-imx, while
keeping our customizations.
https://onedigi.atlassian.net/browse/DEL-9011https://onedigi.atlassian.net/browse/DEL-9081
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Back in Yocto 4.0, we applied some imx recipe changes exclusively for the
ccimx93 from meta-imx's rel_imx_6.1.55_2.2.0 tag, but now these changes have
been upstreamed in the meta-freescale scarthgap branch. Since there currently
isn't an NXP BSP based on scarthgap, make all platforms use the upstreamed
versions of the recipes, which are the same versions or newer as the ones
available in meta-imx
Remove the recipes for:
* firmware-ele-imx
* gstreamer1.0-plugins-bad
* gstreamer1.0-plugins-base
* gstreamer1.0-plugins-good
* gstreamer1.0-plugins-good
* gstreamer1.0-plugins-ugly
* gstreamer1.0
* imx-atf
* imx-boot-firmware-files
* imx-codec
* imx-g2d-samples
* imx-m33-demos
* imx-m4-demos
* imx-m7-demos
* imx-parser
* imx-pxp-g2d
* libdrm
* linux-imx-headers
* optee-test
* wayland
* wayland-protocols
* weston
* xwayland
Apply these changes:
* Remove ccimx93-exclusive changes in gstreamer1.0-meta-base
* Modify imx-gst1.0-plugin bbappend so the upstream version is used in all
platforms
* Remove imx-alsa-plugins bbappend so the upstream version is used in all
platforms
* Remove firmware-nxp-wifi bbappend since the files we need to install seem
to already be included in the meta-freescale recipe
* Remove imx-test and imx-lib bbappends since our custom changes have
already been included in the meta-freescale recipes
https://onedigi.atlassian.net/browse/DEL-9011https://onedigi.atlassian.net/browse/DEL-9081
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
* meta-ml was renamed to meta-imx-ml, and its BBFILE_COLLECTIONS was renamed to
imx-machine-learning
* meta-st-stm32mpu-ai was renamed to meta-st-x-linux-ai
https://onedigi.atlassian.net/browse/DEL-9011
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The package name has changed due to commit 52287bf6be.
This fix makes use of the Yocto variable `REMOVE_POSTINST_RPN`,
which holds the target name for the `remove-pkg-postinst-ontarget`
class.
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
The rdiff update is only available for dual-boot systems,
and it is checked at the beginning of the process.
We can remove the related logic and some variables in the
script.
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
# Conflicts:
# meta-digi-dey/recipes-digi/swu-images/files/update_rdiff.sh
The recipe level DEPENDS on ethos-u-vela-native is insufficient to ensure
the native vela tool population into the eiq-examples recipe sysroot
native directory before use. The new download_transform_models task uses
that tool, so add the dependence on the task to ensure it is available
before use.
While on it, configure the working directory of the new task using the
Yocto way (using task[dirs]).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* do not run the demos in background, if not they can not be ctrl+c.
* fix service dependencies: required camera and weston.
* patch the examples to:
** set camera resolution to 1280x720
** set default format to ov5640 camera (YUYV)
** detect the "x" event when the demo application is running in windowed mode (not fullscreen).
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Some parameters of the CCCS configuration file need to be substituted
at run-time during a postinst script. Such script takes actions depending
on the value of U-Boot env variables.
The libubootenv recipe itself also has a postinst script that modifies
the U-Boot env configuration file (on NAND-based platforms).
If there are no dependencies between these two recipes, poky will decide
the order in which the postinst scripts are named (and thus executed)
during the first boot.
By creating the rdepends to libubootenv, we guarantee that its postinst
script is run before the cccs one, which depends on the environment being
accessible.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-9282
The swupdate description file allows to configure the setting of u-boot
environment variables. For some platforms the "upgrade_available" variable
has an empty value, and swupdate parser warns when the description asks
to set a variable with an empty value.
Initialize the variable to 0, which is semantically the same for u-boot.
https://onedigi.atlassian.net/browse/DEL-9279
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Actually, the NPU demos were not making use of the NPU, just the CPU. To enable the NPU usage,
it is required to add the external delegate library 'tflite-vx-delegate'to the system. This is
done by forcing 'tensorflow-lite' to depend on it for the CCMP2 platform, which also requires
'tim-vx' library as a build dependency.
Both the 'tflite-vx-delegate' and 'tim-vx' recipes have been verbatim copied from the ST Beta
branch, using commit with SHA256: 68686850c75061f1c7c4e756a313a41ca810f6ae
Signed-off-by: David Escalona <david.escalona@digi.com>
This is a workaround for a driver failure when unloading the module. The
"btnxpuart" driver crashes with a null pointer dereference if the bluetooth
interface is down when the module is unloaded.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Revert to the previous used order for the bluetooth related
services. First, load the driver and then execute the bluetooth
daemon. This is needed for two reasons:
* The bluetooth daemon caches the MAC address. Loading the module before
ensures the daemon caches the correct MAC.
* The connectcore-demo server stops working if the bluetooth interface
is unavailable when the server launches. This order ensures the demo
works as expected.
This change also brings back the problem of the btnxpuart module unload
failure on reboot/suspend. The following commit adds a workaround for
the driver issue.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Customize the NPU samples provided by ST so they can be executed in our DEY images:
- Add a generic launch script to pre-configure environment variables before launching demos.
- Remove 'weston' user check from demos launch scripts.
- Reduce font size for big screens.
- Set camera resolution to 640x480px and center the image.
- Adapt home folder to 'root' user instead of 'weston'.
- Adapt package group to include the new samples and remove the old ones.
- Fix a couple of errors with models download and include them manually.
- Add a runtime dependency with 'libdrm-tests' as the 'modetest' binary is required.
https://onedigi.atlassian.net/browse/CCS-12
Signed-off-by: David Escalona <david.escalona@digi.com>
Current samples were not working properly due to problems with libraries and
the runtime frameworks.
This commit brings the updated samples recipes with the new folder structure
that have been proved to work as they were in the st beta branch, using commit
with SHA256: 68686850c75061f1c7c4e756a313a41ca810f6ae
https://onedigi.atlassian.net/browse/CCS-12
Signed-off-by: David Escalona <david.escalona@digi.com>
Current recipe build was failing due to dependencies with cpuinfo header files and
libraries. This commit backports the recipe that is currently being built in the
ST main branch in GitHub which clears these dependencies.
The recipe was backported as it was in commit with SHA256:
fc56201c67adf899080cff5b45ed33824e427609
https://onedigi.atlassian.net/browse/CCS-12
Signed-off-by: David Escalona <david.escalona@digi.com>
Current recipe build was failing due to dependencies with cpuinfo header files and
libraries. This commit backports the recipe that is currently being built in the
ST main branch in GitHub which clears these dependencies.
The recipe was backported as it was in commit with SHA256:
fc56201c67adf899080cff5b45ed33824e427609
https://onedigi.atlassian.net/browse/CCS-12
Signed-off-by: David Escalona <david.escalona@digi.com>
Backport a new version of cmake-native from Poky's mickledore release. This
is required by the new version of the onnxruntime package (backported in
the following commit).
https://onedigi.atlassian.net/browse/CCS-12
Signed-off-by: David Escalona <david.escalona@digi.com>
Until now, the recipe only installed the binaries and some scripts in the target device. Then,
user had to execute an script in the running system to download and transform the models for
the demo, a process that could take up to 30 minutes. Also, a custom script was required to
acomodate the environment settings before executing any demo. All of this was preventing us from
creating out-of-the-box images including NPU demos for exhibitions and clients.
With the new changes, the recipe now downloads and transforms all the models in the host machine,
saving around 27 minutes and leaving the demos in the target ready to be executed. To ease the
process, a launch script is included for all the demos to configure the environment as well as an
auto-start service.
https://onedigi.atlassian.net/browse/CCS-10
Co-authored-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: David Escalona <david.escalona@digi.com>
Ubuntu 18 is still a supported distro for Kirkstone, but a recent update
of orc is failing the native build, because it requires a GCC version
newer than the default included in ubuntu 18.
This commit backports a fix which is part of upstream orc 0.4.40.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Despite the recipe builds for arm, it crashes at runtime.
While on it, alphabetically sort the list of excluded packages.
https://onedigi.atlassian.net/browse/DEL-9245
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit updates the wpa-supplicant and hostapd recipes to apply the Murata
release patch series for ConnectCore MP2 platform.
https://onedigi.atlassian.net/browse/DEL-9237
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
A preprocessed *.h Digi logo file was used for the psplash.
The psplash recipe from Poky admits a PNG file as input and
does the conversion automatically.
Use a Digi PNG logo and set it using SPLASH_IMAGES variable.
This way, it is easier for users to substitute with their own
logos.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-9239
based on commit 951f20d36b, this fix
avoids muting the speaker control.
Despite the original commit is for Headphone, it also applies, for the
ccmp25, to the Speaker control.
While on it, reword the files so the change applies to all stm platforms
by using the common machine.
https://onedigi.atlassian.net/browse/DEL-9227
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
ConnectCore MP25 initializes the Bluetooth interface with a init script, so
this commit adds a runtime dependency between the connectcore-demo-server and
the cyw55512-bluetooth service.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
According to systemd manual, "After" setting expects a space-separated
list. Fix the wrong comma-separated list to prevent the following boot
failure:
bluetooth-init.service:4: Failed to add dependency on systemd-udev-settle.service,bluetooth.service, ignoring: Invalid argument
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit adds compilation flag for ARM 32Bit architecture
to use 64Bit structure for time_t to fix the Y2038 issue
instead of 32Bit structure.
https://onedigi.atlassian.net/browse/DEL-9216
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit fixes a build issue by including the procps recipe which also
installs the sysctl.conf file. Since adding this config file in base-file
recipe is something custom from DEY, we include this file only for "dey"
distribution to avoid conflicts.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Some wifi-related functionality was enabled on ccimx93 overrides. The
ccimx91 also needs this functionality but it was not being applied as
the overrides were only for ccimx93.
Generalize the overrides for ccimx9.
https://onedigi.atlassian.net/browse/DEL-9214
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit fixes build issues with optimization=plain.
commit: ec35091c8a358aacbf787afb2bfab6a0996031ed
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit adds a compiler flag to remove certain options from the
recovery-utils, because some features rely on functionality that is
not supported by the CCMP1 platforms.
https://onedigi.atlassian.net/browse/DEL-9116
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit adds the initramfs into the FIT recovery
image. If the RAM disk image is included in the FIT
image we need to create a initramfs file that doesn't
include the u-boot header, because the FIT descriptor
contains all the necessary information to use the
initramfs file.
https://onedigi.atlassian.net/browse/DEL-9168
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
The bluetooth daemon does not need the interface to exist before being
executed. We configure the daemon with AutoEnable=true, which will enable
adapters present on start or that appear later on.
On shutdown, systemd stops services in the opposite order to the boot,
so configuring the driver load service after the bluetooth service,
ensures that on shutdown the driver is unloaded before the bluetooth
daemon is stopped.
The btnxpuart driver needs this order, to prevent a module unload failure
on system reboot/poweroff.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit enables SWU image authentication when TrustFence
is enabled instead of when signing of images is enabled.
This allows the system to authenticate SWU images on images that
have been externally signed.
https://onedigi.atlassian.net/browse/DEL-8891
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commits adds the CCMX91 platform to the DEY
build system. Furthermore, it creates generic ccimx9
support to be used for the CCiMX91 and CCiMX93
platform.
https://onedigi.atlassian.net/browse/DEL-9106
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
There is a harmless error when restoring alsa profiles, as it also
attempts to restore UCM profiles.
Since we do not include UCM profiles for our sound cards, skip it.
https://onedigi.atlassian.net/browse/DEL-9066
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
In legacy NAND platforms like the ccimx6ul, it's possible to use a single-MTD
configuration with dualboot disabled, which allows access to the functionality
provided by the recovery partition. However, the partition encryption feature
requires a multi-MTD configuation, so said feature shouldn't be accessible in
this case.
Prevent access to partition encryption in a single-MTD system by:
* Adding the "system" partition to the partition blacklist in both the
recovery-utils library and the recovery initscript.
* Checking the "singlemtdsys" environment variable before using any
functionality related to partition encryption.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Currently, when wiping the update volume via the recovery partition on a
ccimx6ul with singlemtdsys enabled, the procedure fails with this error:
[RECOVERY] Starting recovery...
[RECOVERY] Wipe 'update' partition requested
[RECOVERY] Formatting 'update' ubi volume
ubi0 error: ubi_open_volume.part.0: cannot open device 0, volume 3, error -16
ubiupdatevol: error!: cannot open "/dev/ubi0_3"
error 16 (Device or resource busy)
This is because the logic used to unmount a volume before formatting it is
expecting this entry format when running "mount":
ubi0:update on /mnt/update type ubifs
While this is the format of the "mount" output in userspace for the rootfs
volume, other trivial volumes have this format instead:
ubi0_3 on /mnt/update type ubifs
Adapt the logic to this format so that the "update" volume wipe procedure can
take place.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>