In rare cases, the wlan module may fail to load. In this scenario, forcing the
MMC driver to rebind the interface resolves the issue, making the WLAN module
load more reliably.
This only affects to modules where the qca chip is connected through the
MMC interface.
https://onedigi.atlassian.net/browse/DEL-8361
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
There are other device managers (e.g. mdev) that do not understand those
udev rules, so do not install them unconditionally.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The stand-alone signing script 'trustfence-sign-artifact.sh' checks
if a valid PKI tree exists (by checking the existance of four SRK
files) and if they don't, it calls trustfence-gen-pki.sh (which is
a wrapper over different generators (for HAB or AHAB) to create one.
Recipes such as 'dualboot' or 'recovery-initramfs' may need to call
openssl functions over the PKI tree. These recipes do not currently
generate the PKI tree; they expect it to be already in place.
This might not be the case if the trustfence-sign-artifact.sh script
has not been called yet.
Originally, a fake dependency on virtual/kernel recipe was made to
force it, but it doesn't quite work since the calling only happens
on deploy() while regular DEPENDS doesn't wait for this task.
If the PKI does not exist, a recipe that requires the PKI tree will
fail.
The solution is to create a function on the trustfence.bbclass that
allows any recipe to check for the existance of a PKI tree and
generate it if it doesn't exist. This is repeated inside the
trustfence-sign-artifact.sh, but it needs to be in both places
because this script must work stand-alone.
The generation of the PKI tree takes some seconds so this commit
adds a lock dir to prevent race conditions when called from
different recipes.
It also removes the fake dependency on virtual/kernel and adds a
dependency on trustfence-cst-native (which is the recipe that
provides the PKI generation tool).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8430
(cherry picked from commit 6a8bf7afff)
The stand-alone signing script 'trustfence-sign-artifact.sh' checks
if a valid PKI tree exists (by checking the existance of four SRK
files) and if they don't, it calls trustfence-gen-pki.sh (which is
a wrapper over different generators (for HAB or AHAB) to create one.
Recipes such as 'dualboot' or 'recovery-initramfs' may need to call
openssl functions over the PKI tree. These recipes do not currently
generate the PKI tree; they expect it to be already in place.
This might not be the case if the trustfence-sign-artifact.sh script
has not been called yet.
Originally, a fake dependency on virtual/kernel recipe was made to
force it, but it doesn't quite work since the calling only happens
on deploy() while regular DEPENDS doesn't wait for this task.
If the PKI does not exist, a recipe that requires the PKI tree will
fail.
The solution is to create a function on the trustfence.bbclass that
allows any recipe to check for the existance of a PKI tree and
generate it if it doesn't exist. This is repeated inside the
trustfence-sign-artifact.sh, but it needs to be in both places
because this script must work stand-alone.
The generation of the PKI tree takes some seconds so this commit
adds a lock dir to prevent race conditions when called from
different recipes.
It also removes the fake dependency on virtual/kernel and adds a
dependency on trustfence-cst-native (which is the recipe that
provides the PKI generation tool).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8430
By launching in system mode it is possible to play music from a shell using
pulseaudio. With change all platforms and images (with or without graphical
support) have pulseaudio working.
https://onedigi.atlassian.net/browse/DEL-8417
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
This commit modifies the boot script condition to apply the overlay for DVK v1
on boards without the board_version variable defined.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds an overlay for DVK v1 and modifies the boot script to apply it
based on the board_version variable.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Partitions 'fip-a' and 'fip-b' are redundant at the moment. They are
not currently part of the dualboot system. In consequence, program
both partitons unconditionally during the install process.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Our /tmp file is a symbolic link to /var/tmp, therefore a "find /tmp" returns
nothing. Force to search files inside tmp folder by using "find /tmp/".
https://onedigi.atlassian.net/browse/DEL-8410
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Move generic IMX machine firmware to imx-digi-base.inc file. This eases
maintenance, as this file follows imx-base.inc in meta-freescale.
Still, configure platform's Digi specific firmware in each machine's
config file.
As a positive side effect, this removes the "firmware-imx-easrc-imx8mn"
firmware file from the 8M Mini, as it's only used in the 8M Nano. This
saves about 263KB.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit updates the required firmware binaries for Bluetooth and Wireless
interfaces, based on the Murata release imx-kirkstone-fafnir_r1.0 that matches
with the Cypress Linux WiFi Driver (FMAC) release v5.15.58-2023_0222 (Wireless
firmware v13.10.246.300)
https://onedigi.atlassian.net/browse/DEL-8407
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
For now, we're only interested in generating the SBOM, which we can upload and
have Vigiles scan later on if needed. The report generation process adds some
overhead and can cause unwanted errors if the Vigiles server takes too long.
Enable report generation for our automated builds.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit creates a new launcher group in the '/etc/xdg/weston/weston.ini' to
have access to the QT cinematicexperience.
This is done for QT5 (ccmp15, ccimx8mm, ccim8mn) and QT6 (ccimx93).
https://onedigi.atlassian.net/browse/DEL-8379
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
ConnectCore 93 DVK only connects the XBee reset line (XBEE_RESET_N_GPIO) but not
the sleep request (XBEE_SLEEP_RQ_GPIO)
It also reworks the 'xbee-init' script to support empty reset
(XBEE_RESET_N_GPIO) or sleep request (XBEE_SLEEP_RQ_GPIO) values.
https://onedigi.atlassian.net/browse/DEL-8375
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
True is the default since long time ago, and thus not necessary. This
follows similar changes done in other layers.
Command used:
sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' | cut -d':' -f1 | sort -u)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Symbols are needed for DTB overlays. In the CC6UL we are not using
overlays, so disable symbols generation.
https://onedigi.atlassian.net/browse/DEL-8397
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The SW encryption is much faster than decicated HW in our platforms.
The HW encryption is limited to the use of CAAM which is used through
blob calls, therefore the cryptodev module is not required.
https://onedigi.atlassian.net/browse/DEL-8371
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Set parameter 'greentxConfig__0_0=0x2' to use the optimal TxPower
in MCS7 data rates, improving performance.
Also, adjust maximum TxPower in the 5GHz band to account for
output power tolerances.
The new BDF is:
- bdwlan30_US.bin (53072f8af541a49e4ed9c22698b1912f)
https://onedigi.atlassian.net/browse/CC6UL-1302https://onedigi.atlassian.net/browse/DEL-8364
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
accel-video was being used only for including or not gstreamer in the
different DEY images. But then we had exceptions to include gstreamer for
machines that do not define accel-video, so just follow what the ccmp15
does, and use a generic 'gstreamer' distro feature to add 'dey-gstreamer'
support to the images.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
MACHINE_GSTREAMER_1_0_PLUGIN should contain the machine-specific gstreamer
plugin to use, but not the rest of the packages to be included in the
rootfs. So clean that variable up, and add the dependent packages in the
dey-gstreamer package group.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is a machine specific setting, and moving it to the machine config
allows to get rid of the recipe bbappends.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Number of bootup logos is now configured using fbcon=logo-count parameter,
so use it instead of our deprecated custom code in the kernel.
For backwards compatibility, we add this parameter in the u-boot boot
script for all platforms but the ccimx93, where this is directly handled
by u-boot (v2022.04).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This reverts commit 2bdfdc92e1.
This suffix was removed on error. The artifact does have the suffix.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The class 'boot-artifacts.bbclass' was created to generate a
list of the bootable artifacts that must be copied from the
deploy dir to the installer ZIP file, so that the installer
has all the possible bootloader files to update any variant
of the hardware.
The class was somewhat over-engineered to produce the list,
specially for the cc8x, with the variants of SoC revision,
RAM size and width. With the arrival of ST family, it got
more complex, as the artifacts don't even come from U-Boot
recipe.
To remove complexity, this commit removes the bbclass and
moves the list to the platform config file.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This commit adds additional library links that are require to
make weston working with the new kernel version of the STM
BSP 22_11_23.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
This commit changes the wayland user from weston to root. That
makes video and audio playback possible for the root user.
https://onedigi.atlassian.net/browse/DEL-8211
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
meta-freescale did another merge of recipe updates that we need to follow
to prevent build failures.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For the momment, Fusion support is not ready in the 5.15 kernel, so do
not add the dtb overlay.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
meta-freescale started updating the recipes to NXP's
rel_imx_5.15.71_2.2.0 release, so now we have a bunch of overlayed
recipes we can clean up.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For platforms that do not define FIP_UBOOT_DTB, the
'd.getVar('FIP_UBOOT_DTB') gets evaluated to None, which is not equal to
"", and thus the code continues in the wrong "if" branch.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is a verbatim copy of the recipe in meta-imx. It is required to
build Wayland based graphical images for ccimx93.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The sdcard image generation code expects a boot artifact named after
machine's name. On the other hand, u-boot recipe creates symlinks with
the build config's name. So couple machine with build config label to
prevent a failure when building the SD card image.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Crank storyboard engine has runtime dependencies on libELG.so and
libGLESv2.so, which usually are just symlinks that go to the "-dev"
package. As they are needed at runtime, move the files to the normal
(not -dev) package.
Also add explicit RPROVIDES for those libraries, as otherwise the build
fails with:
QA Issue:
/usr/share/crank/sbengine/plugins/librender-plugin-opengles_2.0.so
contained in package crank-sbengine requires libEGL.so, but no providers
found in RDEPENDS:crank-sbengine? [file-rdeps]
QA Issue:
/usr/share/crank/sbengine/plugins/librender-plugin-opengles_2.0.so
contained in package crank-sbengine requires libGLESv2.so, but no providers
found in RDEPENDS:crank-sbengine? [file-rdeps]
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Although in theory, you can use any label to name the different u-boot
build configurations, we have them coupled to machine names in the
boot-artifacts bbclass, and also in the default boot artifact filename
in the firmware installation scripts.
So fix that up for the ccimx93 in the machine config, and create the
proper symlinks in the do_deploy imx-boot recipe.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This variable was removed from meta-st-stm32mp so we need to get rid of it
in meta-digi, too.
Reported-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8268
Both recipes (imx-boot and imx-mkimage) use the same source code
repository, so update both of them to the new NXP release, by copying
with minimal changes the recipes in meta-imx.
Also convert the original 'imx-mkimage' recipe, which was only for
native class, to a full target, native, nativesdk recipe. We need this
to be able to include the nativesdk one in our toolchain.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For this platform the bootable artifact is imx-boot based, so configure
some variables accordingly.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Rework the "build_uboot_scripts" to prevent changing the templates in
the WORKDIR, as those are part of the SRC_URI. Instead, change the
deployed scripts by using "sed" and redirection.
Also, removed UBOOT_HAS_FASTBOOT altogether, as there is no platform
that does not support fastboot.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Instead of overriding the whole do_compile function, just to reconfigure
u-boot for Trustfence, create a do_configure pre-function that takes care
of that. This allows the removal of duplicated code.
Also, disable the generation of u-boot environment artifacts. We are
not using them and so many u-boot artifacts in the deploy directory
are confusing.
Finally, adjust the names of the TF u-boot artifacts in the do_deploy
append function.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also enable recipe for ccimx93, and pass the correct DTC flags to create
overlays capable DTBs.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also:
* Support ccimx93
* Add all the patches regardless of the platform (remove overrides). The
patches do not clash, so adding all of them eases the maintanance and
the migration to new versions of the imx-atf.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
These are just a verbatim copy of the ccimx8mm ones, so the project is
buildable. This file list should be revisited and adapted for the
ccimx93.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Use += operator to prevent resetting the value of the EXTRA_IMAGEDEPENDS
variable. That is how it's mostly used elsewhere.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is later overridden in the machine config files, but a default
(not empty) value is needed, to prevent a syntactic error in
init-ifupdown recipe (where it is used).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The poky recipes were updated on the minor version to 1.20.4
but the bbappends were 1.20.3 specific so they did not apply.
Use a wildcard to have them apply even if the minor version
changes upstream.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit 0c73b31cf5)
The poky recipes were updated on the minor version to 1.20.4
but the bbappends were 1.20.3 specific so they did not apply.
Use a wildcard to have them apply even if the minor version
changes upstream.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This allows the user 'weston', which is running the video
backend, to access files on external media, such as USB
disks and microSD card.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8208
In the past, this file was cloned from poky to skip mounting
an already mounted device. This condition was done on poky's
version so the cloned file is no longer needed.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
A new set of meta-freescale updates broke our layer, because they
updated opencv package and our bbappend does not apply anymore.
The build fails at parsing:
ERROR: No recipes in default available for:
meta-digi/meta-digi-dey/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.5.2.imx.bbappend
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This allows users of the layer to override the value with a different
default. Same change was done in meta-freescale's imx-base file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Artifact encryption is now supported for ccimx8mn and ccimx8mm.
This reverts commit 1134e4c07c.
https://onedigi.atlassian.net/browse/DEL-7915
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
(cherry picked from commit 588005bb4b2200e79b180f77671304d9c5bdf509)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When read-only feature is enabled, the rootfs should be .squashfs
and not .ubifs.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit c32278af74cea8cb38aa81590eaa867be1c739c9)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Add configuration 'BUILD_UBOOT_SCRIPTS' to select whether to build the
boot and install scripts or not, and set it to 'true' by default.
This allows removing the scripts on upper Yocto layers.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
All the dualboot logic will be checked in run time.
To do this:
* Include the altboot.src by default in all the images
* Create a post installation script to change the
firmware_download_path in the cloud connector
* Unify the swupdate file descriptor for dual and single boot
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
This commit removes duplicated and unused build artifacts for the ccmp1
platforms. Also fixes a build warning related with flashlayout config file.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit fixes the issue in Jira
https://onedigi.atlassian.net/browse/DEL-7827 (and in GitHub
91bfa01a52#),
that is being manifest again in a CC6UL with 1GB although it may affect other
hardware.
Partitions are mounted:
* For multi-MTD systems, when an MTD subsystem event is received.
* For single-MTD systems, when a UBI subsystem event is received.
This commit avoids process UBI subsystem events in multi-MTD systems.
The automount rules filter UBI subsystem events to only process 'ubi0*' (the
only UBI device/volumes in a single-MTD) and then the executed script
'mount_digiparts.sh' checks for the existance of '/dev/ubi1' node to consider
the system multi-MTD instead of using 'singlemtdsys' U-Boot variable that only
exists on CC6UL.
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
* Use 'MOUNT' variable instead of 'mount' command
* On the MTD subsystem event, stop looping once the UBI device number is found
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
This override is used in STM BSP layer on some recipes. Adding it to our
machines fix a build failure on the gcnano-driver-stm32mp recipe.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Increase the timeout from 90 to 120s since it's a large image
and it may take more time on different NANDs.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The U-Boot environment resides on a UBI volume. The uuu script
relies on the environment to save part of the commands that
U-Boot needs to execute after reboot in the middle of the
installation. If the UBI volume 'uboot_config' does not exist
the installer fails.
This commit:
- Creates a function -on the uuu script only- for obtaining
the result of running any U-Boot command (0=success, 1=error).
- Checks the existance of 'uboot_config' volume.
- Runs 'ubivolscript' script to create the UBI volumes layout
that generates the environment volume if it doesn't exist.
- Increases the timeout for running the 'ubivolscript' since
there are occasions in which 'ubi part' (which is part of the
script) takes more time (if it cannot find the fastmap).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Commit b8d46f01 ("read_only: create folders in build time") creates
unconditionally default folders in spite of we are in a read-only filesystem or
not, however there are different models (dual boot, single boot..) where these
partitions exist or not, so this commit only creates these default partitions
for a read-only filesystem.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit allows to mount only the linux partition active in read-only mode.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
According to udev documentation running programs that access to mount/umount
filesystems is not allowed due to the default sandbox that is enforced on
systemd-udevd.service, so on systemd systems we must to use systemd-mount
binary instead of mount. Also systemd-mount does not support mount ubi devices
by volume name, so we need to use the absolute device path.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds the extra machine specific configuration files for udev on
ccmp1 platforms to allow, for example, automount storage devices.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit changes the arm-trusted-firmware build configuration to only build
one ATF artifact.
It will create an image that boot over USB and NAND.
https://onedigi.atlassian.net/browse/DEL-8187
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
By default ccmp1 platforms have dualboot mode by default, however the required
boot script was added to ccmp15 platform only, so this commit fixes it.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The first time the 'dualboot' variable is tested it is directly run in
the script and doesn't need to escape the special characters.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
When Dual Boot is not enabled, 'rootfsvol' variable must point to the
single boot system rootfs partition 'rootfs'.
Explicitly set this value. Otherwise the script relays on the default
rootfsvol value, which may be a Dual Boot partition.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
meta-freescale updated the base recipe and that broke the build:
ERROR: No recipes in default available for:
meta-digi-arm/dynamic-layers/freescale-layer/recipes-bsp/firmware-imx/firmware-imx_8.16.bbappend
The differences in our bbappend are simple enough that we can make a
version agnostic bbappend.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Set 'UBOOT_HAS_FASTBOOT=true' on CCMP1 platforms and therefore add the
UUU installation script to the installer ZIP file.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
For platforms with a FIP artifact, ignore U-Boot artifacts and instead
add to the installer zip file the FIP artifact and the ATF artifacts.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>