Commit Graph

512 Commits

Author SHA1 Message Date
Arturo Buzarra 6b5b341a38 psplash: fix bbappend for different distro than "dey"
This commit fixes a build issue using meta-digi layer with a different distro
than "dey". Also simplified the bbappend to avoid creating a custom
do_patch_png() task before do_configure().

Reported-by: Stephan Klatt <skladd@users.noreply.github.com>
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-02-23 14:27:01 +01:00
Hector Palacios ff22903a81 cc93: standby-actions: rework the programming of resume actions
There are some cases in which the loading of the Wi-Fi modules may be
problematic due to timing conditions:
- when a suspend operation in progress is aborted
- when Bluetooth is disabled

The Wi-Fi needs some time for the system to be ready before loading the
modules.

This commit:
- Stops the Bluetooth before bringing down the Wi-Fi on suspend
- Starts the Bluetooth (or adds a small delay) before bringing up the
  Wi-Fi on resume
- Reworks the way the resume operations are programmed, to do them in
  reverse order (first load the Wi-Fi modules, then bring the interfaces
  up (if required). It does so by appending/prepending actions into a
  variable and dumping the contents finally to a temp file.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2024-01-25 13:57:16 +01:00
Gabriel Valcazar 568d142b11 ccimx6ul: remove "-x11" suffix from dey-image-lvgl image name
The ccimx6ul is the only platform that doesn't include a desktop backend in the
LVGL image, so remove the desktop backend suffix from the image's name. This
affects the image name itself, the corresponding SWU package and the
installation scripts.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-01-25 09:30:13 +01:00
Arturo Buzarra a1a176f091 dey-image-lvgl: remove x11 graphical support for ccimx6ul platform
LVGL graphical library has support for different backends, in the case of the
ccimx6ul we use the fbdev directly, so we don't need the x11 support.
This commit removes x11 support for the ccimx6ul platform for the
dey-image-lvgl image.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-01-24 17:12:31 +01:00
Isaac Hermida efb80f3806 cc93: standby: decople bluetooth from WiFi actions
Do not make conditional the bluetooth actions on WiFi, as they can be
treated independently.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-01-17 10:51:28 +01:00
Hector Palacios bf1eeabbf5 cc93: standby: add a small delay before resuming Wi-Fi
When switching off the 3.3V supply from the Wi-Fi during suspend,
around a 10% of the times, when resuming the Wi-Fi driver fails to load.

It was verified that a rebind operation over the mmc interface (which
eventually calls the script that loads the Wi-Fi module) makes it
load successfully, which denotes a timing issue during resume.

Adding a small delay on the resume operation before running the script
makes the Wi-Fi driver load at the first try.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8821
2024-01-10 13:15:12 +01:00
Gabriel Valcazar 214acb335d trustfence-initramfs: remove openssl-ossl-module-legacy
We removed this package from the recovery initramfs, but it was getting added
as a recommendation to the trustfence initramfs as well.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-01-05 14:24:17 +01:00
Gabriel Valcazar 82a96801de Remove "wipe" from recovery and trustfence initramfs
This package is purely vestigial and hasn't been used at all in any of our
initramfs images for over 7 years. It was used in the first implementation
of the trustfence initramfs (commit 4dd7d438af)
to securely erase the key used by cryptsetup, but two weeks later, that logic
was moved to trustfence-tool (commit a8c50c16ea)
and "wipe" was no longer needed. However, the package remained in the
dependencies of the trustfence initramfs, which were then used as reference for
the recovery initramfs, even though this initramfs didn't even need "wipe" to
begin with.

Removing this package saves 30.8 KiB in the ccimx6ul recovery image.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-01-04 11:24:20 +01:00
Gabriel Valcazar a0309c2a39 recovery-initramfs: remove openssl-ossl-module-legacy from recovery image
This is added as a recommendation for libcrypto and only contains legacy
ciphers which are deemed outdated or unsafe. If any of the packages in the
image actually required this module, they would depend on it explicitly, but
this isn't the case. This saves 66.8 KiB on the ccimx6ul recovery image.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-01-04 11:24:20 +01:00
Gabriel Valcazar 32e46e4f9b swupdate: change runtime config file suffix to avoid build-time config errors
We were using the .cfg suffix for both the build-time config fragments and the
runtime configuration file. During do_configure(), all files in SRC_URI ending
in .cfg were being merged together to create the final build configuration,
including said runtime file, which has a completely different syntax. In most
cases, the contents of this file were being ignored, but when tweaking
swupdate's configuration and re-building the package, sometimes strange errors
would prevent the build from finishing.

Change the runtime file's suffix entirely to separate it from the config
fragments and prevent it from being treated as such, and reflect the name
change in the defconfig and the recovery script.

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

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

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-12-21 11:21:09 +01:00
Mike Engel aa2480d1de images: add imx-kobs support to recovery image
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-12-05 10:54:29 +01:00
Hector Palacios e9aac1b489 swupdate: install a default config file with optional public-key-file
The swupdate recipe installs by default a systemd service
and a socket to listen for updates coming from a web server.
DEY only makes use of such service during on-the-fly updates from Cloud
Connector web service.

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

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

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-12-01 10:55:05 +01:00
Gabriel Valcazar 2a015f3f87 Add support for dey-image-lvgl images
LVGL is a free and open-source embedded graphics library that is able to run
in environments with limited resources.

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

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2023-11-16 11:39:03 +01:00
Arturo Buzarra e2ee631832 meta-digi: [cosmetic] alphabetize compatible machine string
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-10-10 14:58:58 +02:00
Javier Viguera 34e82e9bac trustfence-initramfs: make compatible with ccimx93
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-09-25 14:23:40 +02:00
Tatiana Leon f13c0e60cf cc: cccs: replace cloudconnector recipe with new ConnectCore Cloud Services
This recipe generates several packages:

   * 'cccs' includes the CCCS shared library
   * 'cccs-daemon' includes the binary and resources to execute the CCCS daemon
     (daemon, service and init scripts, configuration file)
   * 'cccs-cert' includes the required certificate to use CCCS daemon
   * 'cccs-gs-demo' includes the binary and resources to execute the CCCS get
     started demo (binary, service and init scripts)
   * 'cccs-legacy' includes the binary (all-in-one) application to execute
     the legacy CCCS application (aka cloud-connector) and the configuration
     file
   * 'cccs-legacy-dev' includes resources to develop legacy CCCS applications
     (all-in-one) (header files inside 'cloud-connector' and 'cloudconnector.pc'
     pkg config file)
   * 'cccs-legacy-staticdev' includes static resources to develop legacy CCCS
     applications (all-in-one) (static library)

This commit also renames:
   * 'CLOUDCONNECTOR_PKGS' variable to 'CCCS_PKGS'.
   * 'CC_DEVICE_TYPE' variable to 'CCCS_DEVICE_TYPE'.

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-09-06 13:01:50 +02:00
Hector Palacios 7e81e706a1 recovery-initramfs: adapt format_ubi_volume() to new partition layout of ccmp1
The ccmp1 has two MTD partitions (UBI, UBI_2) with different system
volumes.
Previously, the fact of having two ubi devices was taken as proof of
being on a multi-MTD system (one that has one UBI volume per partition).
Instead, this commit reformulates the condition to having a partition of
the same name than the UBI volume.

For the case of the ccmp1, add a new for loop to iterate across any number
of UBI devices.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-09-01 17:16:54 +02:00
Isaac Hermida eba8e21d72 p2p scripts: generalize support getting name from configuration
The P2P interface may have a different name, for instance, in the ccimx93 it
is wfd (wifi direct).
Generalize Digi P2P scripts to use the name from the platform config file.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-09-01 14:55:37 +02:00
David Escalona 981c5e44bb meta-digi-dey: core: add 'bootcount' to DEY core package group to reset bootcount on boot
While on it, remove the block of the 'dualboot' script that was taking care of this action.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-08-29 14:55:44 +02:00
Hector Palacios 13e28b293d recovery-initramfs: remove copying of public key
This is now handled by trustfence.bbclass at image level.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-08-24 11:49:49 +02:00
Francisco Gil c85d064bdd recovery: squashfs: change the way to determine nand device
There is a corner case in the cc6ul where the update from
recovery was failing.

If the u-boot variable rootfstype is set to squashfs u-boot
modify the bootargs adding "root=/dev/ubiblock1_0". The grep
of the command line was failing and detecting the device as
mmc and making the firmware update process fail.

Modify the grep to use the same system that we are using in
the update-firmware script.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-08-23 11:04:22 +02:00
Javier Viguera 787bab09d3 busybox: backport hwclock support to get/set RTC parameters
This allows to set RTC configuration parameters. For example, the rv3028
RTC included in ccmp1 and ccimx93 has the "backup switching mode"
configuration in a register that is saved to an eeprom. By default the
BSM value is 00, which means backup switchover disabled. This means that
even if you connect a coin cell to our DVK, the RTC will ignore it.

With this commit, the BSM can be configured to direct switching mode
(DSM) or level switching mode (LSM) so the RTC uses the battery when the
device is powered off.

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

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-08-01 18:54:00 +02:00
Javier Viguera 19373e38f8 systemd: remove console on virtual terminals
This reuses the same variable from sysvinit (USE_VT) to disable running
getty/login on virtual terminals.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-07-28 12:40:38 +02:00
Francisco Gil 1e5bd003bd recovery-initramfs: get rid off singlemtdsys variable
This variable is not defined in ccmp1 platforms, making the
swupdate for single mtd failing.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-06 08:18:22 +02:00
Javier Viguera eecc3cf6c1 systemd-conf: configure KEY_POWER events on ccimx93
To support suspend/resume and software controlled poweroff.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-05-26 14:04:02 +02:00
Hector Palacios 6298a50b2e trustfence: copy the public key to the rootfs
The root file system requires the public key to authenticate SWU files.
For NXP platforms, the public key is extracted from the certificate.
For STM platforms, simply copy the public key over to the rootfs.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 13c136dbc5 trustfence: add recipe to generate the PKI tree
Several recipes depend on the PKI creation.
Create a small recipe to just run this function which
is moved from the trustfence.bbclass.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios a7ce03f66c trustfence: add dependency of sign tools for recipes requiring keys
dualboot and recovery recipes may require to use the keys so they must
depend on the recipe that installs the script that generates them.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 74ed606339 trustfence: use conditionals for NXP-specific stuff
Set TRUSTFENCE_DEK_PATH to "0" for CCMP1 (not using dek.bin), as if this
was disabled.
Set temporarily TRUSTFENCE_ENCRYPT_ENVIRONMENT to "0" for CCMP1 until
environment encryption is fully supported.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Hector Palacios 3229e37e88 trustfence-sign-tools: make dependency of cst-tool NXP-specific
While on it, merge the two RDEPENDS assignments in one.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-10 17:33:23 +02:00
Arturo Buzarra 9a713e56c8 init-ifupdown: virtwlans: generalize function to check virtual wireless MACs
Also this commit removes the virtual wireless MACs verification on ccmp1 platforms

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-10 09:11:19 +02:00
Arturo Buzarra c4a328dfd3 init-ifupdown: remove references to QCA wireless chipsets
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-10 09:11:19 +02:00
Tatiana Leon 70b0a17b0e cloudconnector: new variable to allow custom cloudconnector package definition
By default, our 'cloudconnector' package is installed.
This can be overriden by defining 'CLOUDCONNECTOR_PKG' in the 'local.conf'
with the custom package that includes this application.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-05-09 11:47:25 +02:00
Isaac Hermida 181ce4761a cc93: iw612: rename name of main wlan interface
rename interface sta_name to be "wlan0" instead of "mlan0", so it keeps
compatibility with other platforms.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-05-05 14:00:01 +02:00
Isaac Hermida ea81fda3bf ccimx93: standby: check bluetooth-init service status
Check if the bluetooth-init service is running before going to suspend,
just in case has stopped or disabled it on purpose.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-05-05 14:00:01 +02:00
Isaac Hermida fd5ee3a5e3 ccimx93: standby: customize script support for systemd
We need to take in account if the IW612 chip (WiFi/Bt) is going to be powered
off on suspend state. In such a case, we need to unload the driver modules and
restore the expected tty speed for Bluetooth, so that functionality is restored
back on resume.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-04-27 14:39:48 +02:00
Isaac Hermida 5f5855744d init-ifupdown: ccimx93: add p2p and AP support
https://onedigi.atlassian.net/browse/DEL-8346

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-04-20 17:05:00 +02:00
Javier Viguera 951789093f meta-digi-dey: remove dead code (udev-cache)
This was removed from Poky long ago:

https://git.yoctoproject.org/poky/commit/?id=44f550f392e231b7fbd1e29da3f59d6c9dd7f472

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-04-03 18:39:35 +02:00
Hector Palacios 661f59967c trustfence: add function to generate a PKI tree if it doesn't exist
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)
2023-03-21 13:36:58 +01:00
Arturo Buzarra a53eaa5b49 systemd-conf: use custom journald conf file
The Poky layer defines a default journald conf file that allows log files on
the file system to grow to a maximum of 64 MiB. However, this size on some
platforms is impossible to address, so this commit reduces the maximum size for
runtime logs to 4 MiB.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
(cherry picked from commit bdece7102b)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-03-20 17:07:25 +01:00
Javier Viguera c3c5a17a96 dey-image-qt: fix adding new functions to ROOTFS_POSTPROCESS_COMMAND
With platform overrides we need to use ':append' operand. Otherwise, we
are overriding the previous content of the variable and not adding to it.

In this case, for example, we removed some postprocessing functions that
allow SSH into the device with an empty password.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-03-01 15:01:40 +01:00
Tatiana Leon e1fa904b38 qt5: qt6: cinematicexperience: add shortcut to the demo in the desktop toolbar
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>
2023-02-27 14:57:46 +01:00
Javier Viguera adbb511484 meta-digi: remove True option to getVar
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>
2023-02-24 16:24:47 +01:00
Isaac Hermida 03eb84c61e remove cryptodev support
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>
2023-02-24 14:29:48 +01:00
Javier Viguera 80578a2bd0 meta-digi: use INIT_MANAGER to configure init system manager
This variable introduced in Yocto 3.0 is the recommended way to configure
the init manager.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-24 12:16:02 +01:00
Arturo Buzarra 0c214a3980 systemd-conf: set actions to trigger on KEY_POWER events
This commit adds a custom config file to handle the KEY_POWER events on systemd.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-02-21 13:47:23 +01:00
Arturo Buzarra 199ab73078 systemd-conf: rename Digi custom config file
This custom config file applies not only the NXP platforms so this commit
renames it.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-02-21 13:47:23 +01:00
Javier Viguera 0da87c3740 meta-digi: get rid of accel-video machine feature
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>
2023-02-08 12:05:15 +01:00
Tatiana Leon 454200633f images: remove package-management for all digi images
'package-management' allows to install packages in runtime. This feature is not
usually utilize by customers so we are removing this support from all images.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-07 14:00:52 +01:00
Arturo Buzarra 87d05a08a0 core-image-base: remove package-management for core-image-base images
In order to reduce the final size in the rootfs, this commit removes the
package manager for the core-image-base images.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-02-06 11:13:38 +01:00
Javier Viguera 9f7ed3e2b1 dey-image-graphical: add 'weston' image feature
For 'wayland' enabled distro features, 'weston' is added as image
feature. This is later used in poky to change the SYSTEMD_DEFAULT_TARGET
to 'graphical.target' which is the correct systemd default target for
graphical images.

This allows to delete the workaround we have in 'weston-init'
recipe to start weston automatically on boot.

Also delete some packages from CORE_IMAGE_EXTRA_INSTALL:

- weston-init and weston-examples are included as part of the 'weston'
  image feature.
- gtk+3-demo: removed from the default images, as it is a graphic framework
  we are not promoting.
- xterm: removed as weston does already provide a terminal (weston-terminal).

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-02 10:21:21 +01:00
Hector Palacios 3a1a7dd47c aws: remove aws from dey-core and dey-examples packagegroups
AWS has been removed from the documentation for having little use.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-01-24 09:27:39 +01:00
Francisco Gil f50b9b7fc6 meta-digi: ccmp15: add v4l-utils to default images
v4l-utils contains tools to manage the camera.
We have also documented all these commands in our
documentation

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-01-18 10:51:26 +01:00
Hector Palacios 90867ccc82 recovery-initramfs: add script and mdev rule for UBI volumes
On systems with a single MTD system partition and multiple UBI
volumes, the initramdisk doesn't mount the 'update' partition
because mdev rules only trigger events for MTD partitions.

This commit adds a rule to trigger an event for every /dev/ubi0_x
(every UBI volume on ubi0 device) and call the new automount_ubi.sh
script. The script checks if the volume is called 'update' and if
so, it creates /mnt/update mountpoint and mounts the volume.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8297
(cherry picked from commit df9c622b1bf0a7307c61deda12cf1f67d4f630f0)
(cherry picked from commit 8b8f9560af)
2023-01-17 16:50:11 +01:00
Hector Palacios 7c580a3896 busybox: send resume actions to the background
Make the script send the resume actions to the background
so that console returns to the user without having to wait
for the Wi-Fi module to load and the Bluetooth to attach.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8262
2023-01-03 08:33:45 +01:00
Hector Palacios 1417728098 busybox: merge standby related files
The following files were duplicated across platforms but were
identical or almost identical.

Only used on SysVinit (currently only by default on the CC6UL).
- standby
- acpid.map

Only used on SystemD
- standby-actions

Notes:
- The triggering of udev actions are harmless if the interfaces
  don't exist.
- The value of KEY_POWER on acpid.map for CC6/CC6Plus was originally
  0 instead of 1, but this file is not currently used in systemd.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-01-03 08:33:33 +01:00
Javier Viguera cfa581c958 meta-digi: add override files for ccimx93
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>
2022-12-20 14:50:54 +01:00
Tatiana Leon 0792b45a80 recovery: add support to update a specific image set
Add a new parameter '-i' to update-firmware to let the user
select a specific image_set of the sw-description file to
use during the swu update.

This allows adding different image_sets on the sw-description
and reduce the number of images to build. It also adds more
future-proof flexibility.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-8199
2022-11-23 17:19:05 +01:00
Javier Viguera deed93cfb3 recovery-initramfs-init: delete mdev's cold scan
In previous line we are launching the mdev in daemon mode. One of the
first tasks the daemon mode performs is a cold scan, so there is no need
to repeat it afterwards.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-23 10:26:00 +01:00
Javier Viguera 8df1b0c246 swupdate: do not run swupdate daemon on non-dualboot devices
On recovery based devices, the swupdate process is executed in the
recovery, so there is no need to have the swupdate daemon running on the
rootfs.

Add a on-target post installation script to disable the swupdate
bootscript on the normal rootfs. This has the side effect of failing in
the recovery initramfs because the initramfs does not have a complete
SysV init system. For that case add a rootfs postprocess function to
delete the postinst script.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-23 10:23:25 +01:00
Francisco Gil f308ccfa66 update-firmware: rename the firmware-update from recovery-utils
There is a problem when building the SDK because two binaries
have the same name (update-firmware) and makes the compilation
to fail.

Change the name to update-firmware.recovery and create a wrapper
over the update-firmware to check if the system is not dual boot
to call it.

Rework the code to make it more reliable.

Remove the umount of the alternative linux partition, now it is
not needed because only the active linux partition is mounted now.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-22 11:42:39 +01:00
Francisco Gil cae4c1f1dc recovery: change the name of the file descriptor to check
Now in the file descriptor we have three different names:
platform, primary and secondary.
Also a link from 'platform' to 'single' to keep backward
compatibility.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-22 11:42:39 +01:00
Francisco Gil 6ffbbb390a dualboot: get rid of DUALBOOT_ENABLED configuration
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>
2022-11-22 11:42:39 +01:00
Javier Viguera bbd58825c4 recovery-utils: relax command mode check
As a result of the dualboot support we may end up with two
'update-firmware' commands in the rootfs. To prevent file name clashing,
we may need to install the recovery-utils update-firmware as
update-firmware.recovery, and then the current command mode check would
fail.

Relax the check, by just looking at the first character.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-17 16:24:52 +01:00
Tatiana Leon 13f2924399 ccmp15: crank: remove some features from crank image to reduce its size
Generated Crank rootfs image for the ConnectCore MP15 is too big to fit in a
dual boot system. This commit removes gstreamer and package-management features.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-11 10:08:34 +01:00
Hector Palacios 1105a8fecd dualboot: move contents of meta-digi-dualboot layer into meta-digi as a class
- create dualboot.bbclass that
  - sets DUALBOOT_ENABLED variable
  - defines partition names and function for changing the sw-description
    for swupdate
- move files from layer into meta-digi

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

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-10-26 11:29:23 +02:00
Javier Viguera cd9e12da32 meta-digi-dey: on CC6UL add connectcore demo only for core-image-base
If we add the demo to the graphical images (dey-image-qt) the resulting
image does not fit on the rootfs partition for the smallest variant.

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

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-10-18 11:30:26 +02:00
Arturo Buzarra dda302ef77 core-image-base: remove splash package for CCMP13 platform
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-09-27 13:51:35 +02:00
Arturo Buzarra 0380161f02 meta-digi: generalize recipes to support ConnectCore MP13 DVK platform
https://onedigi.atlassian.net/browse/DEL-8078

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-09-15 16:14:30 +02:00
Tatiana Leon 8a81dd87f8 crank: add new crank image
https://onedigi.atlassian.net/browse/DEL-7969

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-08-26 13:34:59 +02:00
David Escalona d695a78524 images: include 'connectcore-demo-example' by default in all images
Signed-off-by: David Escalona <david.escalona@digi.com>
2022-07-18 16:32:25 +02:00
David Escalona dc84be34bf meta-digi-dey: busybox: remove default landing web page for ccimx6ulsbc
The ConnectCore Demo web page will be the new default landing page for all products,
so remove the default landing page that was created for the ccimx6ulsbc platform.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-07-18 16:32:25 +02:00
Arturo Buzarra d261ba301b stm-st-stm32mp: add packagegroup-dey-gstreamer to support STM platforms
https://onedigi.atlassian.net/browse/DEL-7981

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-07-04 16:56:41 +02:00
Arturo Buzarra 0aca74ab23 kirkstone migration: remove legacy clutter-1.0-examples package
Since Yocto 3.4 the package "clutter-1.0" was considered a legacy component,
and moved to meta-gnome.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-06-29 12:31:11 +02:00
Javier Viguera 2452e85a6b kirkstone migration: cosmetic, clean build warnings
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-21 16:49:56 +02:00
Javier Viguera 1195046abd kirkstone migration: update sysvinit package
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-21 16:49:56 +02:00
Javier Viguera 1f6ece730d kirkstone migration: update busybox package
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-20 11:39:57 +02:00
Javier Viguera 065cf3e9c4 kirkstone migration: general update to the new override syntax
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-20 11:39:57 +02:00
Mike Engel 3d704591f5 busybox: add CCMP15 standby files
This commit adds a copy of the standby script used by the
CC6Ul.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-05-04 14:01:05 +02:00
Mike Engel d3b7fca933 busybox: add power safe and reboot safe scripts for the MCA
This commit adds power safe and reboot safe script for the MCA
and substitute default reboot and poweroff busybox commands.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://onedigi.atlassian.net/browse/DEL-7828
2022-02-18 18:17:07 +01:00
Gabriel Valcazar 93a4bd0086 hardknott: busybox: re-use files from poky
Even though our busybox recipe (v1.34.1) is backported from poky's honister
branch, it has many elements in common with the recipe provided from poky's
hardknott branch (v1.33.1). To simplify our backport, re-use poky's busybox
files when possible, replacing them only when strictly necessary.

While at it, remove the busybox-inittab recipe, since there are barely any
differences between the honister and hardknott versions.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar 52c37a6fe5 hardknott: meta-digi: replace GPL-2.0 license file with GPL-2.0-only
The common license file GPL-2.0 is now called GPL-2.0-only in poky, so we need
to reflect this name change to avoid errors

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar 1f2d0b8535 hardknott: packagegroup-dey-core: add firmwared dependency
This is a generic package that is currently being used by NXP to load firmware
on the target, so include it in our images as well. Since it only works with
systemd, leave it out of builds that use sysvinit.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar 9a399811cd hardknott: systemd-gpuconfig: sync with meta-imx hardknott-5.10.72-2.2.0 branch
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar 6bf8c97b50 hardknott: sysvinit: update to v2.99
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar 0c9cbf3ca7 hardknott: glib-2.0: remove patch already included in hardknott version
This patch was initially needed for a specific version combination of
NetworkManager (>= v1.22) and glib-2.0 (v2.63.3 - v2.64.X), but since the
hardknott branch of poky now provides glib-2.0 v2.66.7, the patch isn't
needed anymore.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar a627ccb6f3 hardknott: glibc: remove v2.33 recipes and their respective files
The recipes for this version are already provided by poky

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar b97d824d38 busybox: add support to run mdev in daemon mode
This mode is necessary in the recovery initramfs to be able to properly detect
any external storage device that might contain an update package. The
configuration option associated with this mode became explicit after upgrading
busybox to v1.34.1, so enable it in our defconfig.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-11-30 14:08:50 +01:00
Francisco Gil 24063490ea recovery-initramfs-init: fix condition for nand devices
The nand devices doesn't need to call the mount_cryptrootfs
script.

Reported-by: Francisco Gil <francisco.gilmartinez@digi.com>
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-11-25 08:41:03 +01:00
Gabriel Valcazar f3aab304c6 busybox: upgrade to v1.34.1
Backport the recipes from the honister poky branch. This version includes fixes
for several CVEs:

https://thehackernews.com/2021/11/14-new-security-flaws-found-in-busybox.html

Sync our defconfig with the latest version while keeping our custom config
changes.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-11-16 13:16:34 +01:00
Hector Palacios 116fb5e203 meta-digi-dey: append 'dey' distro override to PACKAGECONFIG_remove
Some recipes were forcibly removing conflicting packages.
This does not allow to add those packages back for users that
want to use meta-digi layer, but a different distro than 'dey'.
With the 'dey' distro override, such removals are only done
if using this distro.

Reported-by: Michael Burr <michael.burr@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-7712
2021-11-12 09:01:44 +01:00
Hector Palacios fe2a1f281e Merge branch 'dey-3.2/master' into dey-3.2/maint
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-11-11 16:23:43 +01:00
Arturo Buzarra d81444a574 swu-images: fix support to preinstallation script in swu update package
Since commit 11558352 ("swu-images: add "installed-directly" flag to
sw-description") the swu package images are streamed into the target without
any temporary copy to support devices with low memory available, that forces a
different order according with the swupdate documentation because scripts
should packed before the rest. This means that all the pre, post and shell
scripts will be executed after the images will be installed. This behavior
breaks the current support to mount the cryptorootfs node before install an
encrypted rootfs.

This commit moves the shell script to mount the cryptorootfs node to the
recovery initramfs and modifies the swupdate command line to call the shell
script before the images installation.

https://onedigi.atlassian.net/browse/CC8X-320

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-11-08 08:39:18 +01:00
Arturo Buzarra b03a2af5b2 recovery-initramfs-init: fix support to identify encrypted rootfs images
Since we added support for compressing rootfs images, we need to manage SWU
packages with a regular rootfs image and with compressed images. That support
was missing in the identification process when the SWU packet was verified.
This commit fixes the identification of compressed rootfs images.

https://onedigi.atlassian.net/browse/CC8X-320

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-11-08 08:22:11 +01:00
Hector Palacios 71b3623b59 init-ifupdown: adapt recipe for read-only-rootfs
This recipe had a post install script to do the following:
 - create runlevel symlinks.
 - comment the 'auto' lines of /etc/network/interfaces if running on
   a non-Wi-Fi variant.
 - add Atheros or QCA bridge examples depending on the detected chip.
 - add wlan1 interface only if QCA chip is detected.

This post install cannot run on a read-only-rootfs so the recipe has been
reworked to do the same things at build time:

 - the runlevel symlinks have been removed because they are taken care
   of by a poky class.
 - add a pre-up condition (the existance of a wireless entry on the device
   tree) so that the interface is not brought up if the condition is not met.
 - for the cc6/cc6n, since the Wi-Fi chip can be Atheros or QCA, add
   specific wlan1 and br0 fragments with a pre-up condition basing on the
   detected ID of the Wi-Fi chip

Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-7708
2021-11-05 11:30:12 +01:00
Javier Viguera c89a66480b meta-digi: remove postinst on target when using read-only-rootfs image feature
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2021-11-05 11:18:16 +01:00
Gabriel Valcazar f3210db348 ccimx6sbc: adapt recipes to support Atheros and Qualcomm wireless chips
Some packages require different scripts, configuration files or installations
depending on the wireless chip assembled on the target. In general, the way
to support both chips in one image is to have the recipes install both
versions of the aforementioned files, then leave only the strictly necessary
version once the wireless chip can be deduced.

In the case of the init-ifupdown recipe, this involves installing temporary
configuration fragments that are later erased. In the case of the standby
script, the logic can be implemented in a single file.

https://onedigi.atlassian.net/browse/DEL-7661
https://onedigi.atlassian.net/browse/DEL-7666

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-11-03 15:58:53 +01:00
Arturo Buzarra 67c1ef2c9e recovery-initramfs-init: fix psplash communication FIFO path
The latest version of psplash changed the default path to store the
communication FIFO with other processes to "/run" to allow keeping the
information between reboots, however we are using this tool from an initramfs
where "/run" does not exist, producing multiple errors trying to write to a
nonexistent path, delaying the update process.

This commit forces psplash to use an existing path like "/tmp" to handle the
communication FIFO, because we don't need to maintain the update information.

https://onedigi.atlassian.net/browse/CC8X-318

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-10-29 11:26:43 +02:00