Commit Graph

509 Commits

Author SHA1 Message Date
Francisco Gil 66af49ef9e update firmware: some improvements in update firmware script
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-11-13 17:23:06 +01:00
David Escalona 7bf452e85a swu: enable 'upgrade-available' flag on single systems and file updates
ConnectCore 6 based products require the use of the 'upgrade_available' environment flag to save the
bootcount value between resets. Extend the use of this U-Boot variable for single system updates and
updates based on files.

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-10-20 16:33:27 +02:00
Tatiana Leon cb6b4fe67a cccs: increment the wait time to restart cccs services when they fail to start
This commits sets 30s between restart attempt after a failure.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-10-16 12:18:13 +02: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
Arturo Buzarra 65f7ca3999 Merge tag 'dey-4.0-r4.1' into dey-4.0/master
Digi Embedded Yocto 4.0-r4.1

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-10-09 15:33:18 +02:00
Isaac Hermida 441164c575 dey-examples: connectcore-demo: restart service on suspend
If the system is send to suspend mode, the bluetooth core is reconfigured.
Therefore, restart the service if it is running, to configure the ble
service.

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

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-09-20 10:43:34 +02:00
Francisco Gil ff071a17be meta-digi: revert revisions to AUTOREV
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-15 16:42:58 +02:00
Francisco Gil c7b6a9d637 meta-digi: update revisions for dey-4.0-r4.1
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-15 16:41:49 +02:00
David Escalona 7001c87e16 dualboot: pass pubkey to swupdate when available
Signed-off-by: David Escalona <david.escalona@digi.com>
2023-09-15 14:46:09 +02:00
David Escalona 600a5f1625 swupdate: fix new SWU package types to be compatible with Trustfence
Signed-off-by: David Escalona <david.escalona@digi.com>
2023-09-14 16:51:57 +02:00
Francisco Gil 337f3b2ef3 libdigiapix: pwm: correct the name of the pwm dtbo
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-13 12:00:51 +02:00
Francisco Gil 02562fded0 libdigiapix: adc: fix index in configuration file
There was a missmatch between the configuration file and the
correct adc in the ccmp15 platform.

Also a whitespace is removed from ccmp13 configuration file.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-12 11:32:07 +02:00
Arturo Buzarra 386a97590f switch to building from maintenance branches for dey-4.0-r4
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-09-08 10:33:34 +02:00
Arturo Buzarra 8db6c71a95 Merge branch 'dey-4.0/master' into dey-4.0/maint
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-09-08 10:33:10 +02:00
Tatiana Leon 2f2f68dc34 dey-examples: cccs: move cccs examples to dey-examples repository
ConnectCore Cloud Services examples are included in 'dey-examples' repository
so they can be built from here and also imported in Eclipse/Digi Application
Development Environment for Linux with the samples wizard.

The example 'upload_file' has been removed since currently there is no support
for binary data points in the CCCS daemon/client model.

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-09-06 13:02:01 +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
Francisco Gil 50554f257c swupdate: add configuration file for ccmp1X platforms
Now we can't determine if the rootfs is ubifs/squashfs
in the ccmp1X platforms, so we need to add again the rootfstype
parameter but only for ccmp1X platforms.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-09-01 17:17:04 +02:00
David Escalona fd6d797eae meta-digi-dey: swu-images: enable upgrade available feature only for CCIMX6
The CCIMX6 platform is the only one that will keep using the 'bootcount' value stored in the environment.
For this reason, that is the only platform requiring the 'upgrade_available' flag to be set after a
firmware update. For the rest of the platforms, remove it.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-08-29 14:55:44 +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
David Escalona 7174a42e87 meta-digi-dey: bootcount: add new binary application to manage the bootcount
Add a user space application to manage the bootcount from the running system. This application
allows to read, reset and set the bootcount:

Usage: bootcount [options]
  -r              --read           Read the current bootcount value (Default action)
  -s <value>      --set=<value>    Set current bootcount to a specific value.
  -x              --reset          Reset bootcount value to zero.

The binary checks the running platform underneath to perform the correct system access.

While on it, add a service to automatically execute the binary on boot to reset the bootcount value.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-08-29 14:55:44 +02:00
Mike Engel 32078060f7 swu-images: add sha256 entry for script files.
This commit adds sha256 entry for the script files into
the sw-descrition. It is necessary for the Trustfence
authentication to have the included script files signed.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-08-28 12:34:52 +02:00
Francisco Gil a56790c072 swupdate: get rid of rootfstype u-boot variable
This variable is only needed in the cc6ul, that's the reason
to create another sw-description only for the ccimx6ul.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-08-22 16:19:09 +02:00
Hector Palacios 998598415a dey-image: generate public key after rootfs install
When TrustFence is enabled, a PKI tree is generated.
In the case of NXP platforms, the PKI contains public certificates
from which the public key needs to be extracted using an openssl
command.
In the case of STM platforms, the PKI contains directly the
public key.

In all cases, we need the public key to be installed in the
rootfs /etc/ssl/certs/ folder, so that it can be used by
swupdate to authenticate signed SWU packages.
Up to now, this was being done on the dualboot recipe, but the
installation of the public key should really be only dependant
on the fact of TF being enabled.

This commit:
 - Removes the generation of the public key from dualboot.bb.
 - Generates a patch to extract the public key from the certificate
   as part of the PKI tree generation (on NXP platforms).
 - Installs the public key during a post install function after
   the final rootfs has been created.
 - For NXP platforms, extracts the public key using openssl if
   it does not exist (for backwards compatibility).

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-08-21 09:21:30 +02:00
David Escalona f9396581fd meta-digi-dey: swupdate: add firmware update support based on differences for R/O systems
Implement a new mechanism to allow users to create update packages based on differences for read-only
systems. The update mechanism requires full knowledge of the current software running on the device in order
to compute a sensitive patch. For this reason, only systems without user modifications in the rootfs/boot
partitions are eligible for this kind of updates. At the moment, only the 'rootfs' partition supports the
read-only squashfs file system type, so it is the only partition supporting incremental updates. The 'boot'
partition will still be updated but as a full image.

This new feature is done making use of the SWUpdate 'rdiff' handler, which applies binary deltas with the
functionallity provided by the rsync library. During the update process, the contents of the active 'rootfs'
partition are read as the base and written to the inactive 'rootfs' partition applying the delta binary patch
on-the-fly. To ensure the delta file is applied using the correct base, the firmware update process verifies
the contents of the 'rootfs' base partition before applying the update.

The binary delta file is automatically generated by the DEY build system using the resulting 'rootfs' squashfs
image as target and the user specified file as source. The file is then packaged with the rest of components in
the SWU update image. Users must specify the base source file in their project configuration file using the
new variable 'SWUPDATE_RDIFF_ROOTFS_SOURCE_FILE'. Also, 'read-only-rootfs' image feature should be set in the
project to generate this new SWU update package.

Since a base and a target 'rootfs' partition is required during the update, only 'dualboot' systems can benefit
from this new feature.

Note: If variable 'SWUPDATE_RDIFF_ROOTFS_SOURCE_FILE' is configured in the project but any of 'SWUPDATE_FILES_LIST'
      or 'SWUPDATE_FILES_TARGZ_FILE' variables is also set, the build system will prioritize a SWU update package
      based on files instead of a differences package.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-08-14 10:59:16 +02:00
David Escalona e65be961cd meta-digi-dey: swupdate: reorganize 'swupdate' custom classes and extensions
We expect new types of SWU update packages to be created in the future. To avoid splitting
all the code in different classes based on the update type, create the generic class
'dey-swupdate' to hold all the custom code and the 'dey-swupdate-common' class to hold all
the required variables. This basically renames the old 'swupdate-files' and 'swupdate-files-common'
classes.

While on it, reorganize the 'swupdate-images' recipe to move variable declarations and
functionallity to the correct place:
  - Move all variable declarations to 'swupdate-digi-common' class and organize them in
    functional groups.
  - Improve the way files are included in the 'SWUPDATE_IMAGES' by using the update type
    variables.
  - Move the update script copy to the 'do_swuimage' prepend function. Until now, the copy
    process was executed in the 'fill_description' method, which should only touch the
    'sw-description' file.
  - Rename some variables to use 'SWUPDATE' prefix.
  - Minor cosmetic changes.

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-08-14 10:36:37 +02:00
Javier Viguera f75c78dd8f swu-images: swu.inc: configure directories needed for fill_description
fill_description copies some artifacts to the images deploy directory,
so that should be created beforehand. Otherwise it may fail on the
'do_unpack' task depending on how bitbake schedules the tasks.

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

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

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

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

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

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

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

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

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

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-07-06 11:00:03 +02:00
Francisco Gil 614c457139 update-firmware: squashsf: modify the logic to include the ro systems
In a squashfs the mount points are different and the current logic
wasn't working.

It's more reliable to check the /proc/cmdline to determine if
the system is a nand or an emmc.

Added also logic to get the active partition in nand devices
when the rootfs is squashfs.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-07-03 11:30:33 +02:00
Francisco Gil e395d4a98c sw-update: read-only: modify swu descriptor for squashfs rootfs
When a squashfs image is flashed we need to delete the compression
field in the swupdate descriptor.

Also the rootfstype u-boot variable needs to be set to squashfs.

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-06-21 16:57:27 +02:00
Francisco Gil 3d3ba69b08 update-firmware: squashsf: modify the logic to include the ro systems
In a squashfs the mount points are different and the current logic
wasn't working.

It's more reliable to check the /proc/cmdline to determine if
the system is a nand or an emmc.

Added also logic to get the active partition in nand devices
when the rootfs is squashfs.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-06-06 13:04:21 +02:00
Francisco Gil 6a70b52356 sw-update: read-only: modify swu descriptor for squashfs rootfs
When a squashfs image is flashed we need to delete the compression
field in the swupdate descriptor.

Also the rootfstype u-boot variable needs to be set to squashfs.

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

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-06-06 13:04:21 +02:00
Arturo Buzarra e679d3821d meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-17 15:34:53 +02:00
Arturo Buzarra 04f8e54400 meta-digi: update revisions for dey-4.0-r3.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-17 15:30:24 +02:00
Arturo Buzarra e45edb7f56 meta-digi: revert revisions to AUTOREV 2023-05-11 23:10:41 +02:00
Arturo Buzarra d780711b17 meta-digi: update revisions for dey-4.0-r3.1
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-05-11 22:58:31 +02:00
Hector Palacios e600597024 Merge branch 'dey-4.0/master' into dey-4.0/maint
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2023-05-11 13:19:32 +02:00
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 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
Tatiana Leon c533e12a4d dey-examples: cloudconnector:return status code in device request data callbacks
This commit syncs the device request code to match with the latest 'cc_api'
layer implementation.

See commit 99a2ff39b771f0e36af8d15d40f970462352e0b6 in 'cc_api' repository and
commit d8c848fc2f516a6c2197181f7540c9c23feaf44f in 'cc_dey' repository.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-05-09 11:47:25 +02:00
Tatiana Leon bd684cec15 dey-examples: cloudconnector: remove not need 'wait_for_ccimp_threads()'
Connector creates detached threads and calling to 'wait_for_ccimp_threads()' is
not required.

See commit d34ddfb719932ae59774b388579b7d6a77472c4f in 'cc_dey' repository.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-05-09 11:47:25 +02:00
Tatiana Leon 5f466b2af1 dey-examples: cloudconnector: fix some minor issues
* Remove 'MAX_RESPONSE_SIZE' define and allocate required memory in
  'device_request_listener' example.
* Create 'free_timestamp()' function in 'upload_data_points' example.
* Use some sorter variable names.
* Use '__func__' to log function names.
* Remove line feed from log messages.
* Remove not required curly braces for single line loops.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-05-09 11:47:25 +02:00
Tatiana Leon 589b41eb01 dey-examples: cloudconnector: update copyright
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-05-09 11:47:25 +02:00
Isaac Hermida 59365b0ff7 connectcore-demo-server: start service after bluetooth
bluetooth daemon is a requisite for the demo app.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-05-08 17:02:47 +02:00
David Escalona 7302fbc0df ccimx93: libdigiapix: fix default I2C bus
Signed-off-by: David Escalona <david.escalona@digi.com>
2023-05-05 09:58:41 +02:00
David Escalona b980c2f1ff ccimx93: libdigiapix: update apix configuration file for examples
https://onedigi.atlassian.net/browse/DEL-8473

Signed-off-by: David Escalona <david.escalona@digi.com>
2023-04-24 10:12:14 +02:00
Tatiana Leon 3912f76f59 ccimx8m: ccmp1: cc6ul: cloudconnector: update store certificates in '/etc/ssl/certs'
Cloud Connector configuration file sets:
  * 'edp12.devicecloud.com' as the URL to connect to (this end point uses client
    certificates)
  * '/mnt/data' as the directory to store downloaded certificates, now that
    this is also available in emmc platforms (see
    62d937df42)

This commit:

  * reverts a0842cbcfd to keep
    'edp12.devicecloud.com' URL that uses certificates for ccimx8m platforms.

  * reverts fd94f10c0b since now the cloud connector
    configuration file sets '/mnt/data' as the place to store downloaded
    certificates, so no need to modify it for ccmp1 platforms.

  * It also configures '/etc/ssl/certs' as the certificates directory for cc6ul
    devices. Although by default, these devices are connecting to
    'remotemanager.digi.com' that not uses certificates, we prefer to use an
    existing directory in that setting. See commit
    063a946e7c.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44:35 +02:00
Tatiana Leon dba8dbdab4 dualboot: change the way to determine if device is using nand or emmc
'environment' partition is not available in the ccmp15.

The solution suggested is read the "/proc/mounts" and check if the 'rootfs' is
'ubifs' mounted.

Related to commits 7c07b15370 and
678eaaf0fc4ce74e67682387e3465eb29659bd47

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44:35 +02:00
Tatiana Leon eca521f505 dualboot: update-firmware: get current active system not using U-Boot variable
This commit adds a new function to get the active system in a dualboot device
without using 'active_system' U-Boot variable.
This way the script always knows the real active system even when the variable
'active_system' has the value of the next boot active system, for example, after
performing a 'update-firmware --swap-active-system'.

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44:35 +02:00
Tatiana Leon ccc4680924 dualboot: update-firmware: new option to swap active system ('--swap-active-system')
This allows to remove the script 'on-the-fly-swap-partition.sh'.

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44:35 +02:00
Tatiana Leon 1b17e8f657 dualboot: update-firmware: new script option ('-s')
This option combined with '-a' ('--active') only prints the active block: a or b

The purpose an output to be consumed by other scripts or programs.

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44:35 +02:00
Tatiana Leon 556bda6d57 dualboot: update-firmware: update the check of nand or emmc system
Check the second ('/') and third ('ubifs') field of 'rootfs' entry in
'/proc/mounts' as the first one ('rootfs_a' or 'rootfs_b') may be changed by
custormers:

    root@ccmp15-dvk:~# cat /proc/mounts
    ubi0:rootfs_b / ubifs rw,relatime,assert=read-only,ubi=0,vol=5 0 0
    [...]

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44:35 +02:00
Tatiana Leon 006138e134 dualboot: update-firmware: rework the script to use functions and avoid repetitions
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44:35 +02:00
Tatiana Leon e37d52ebd7 dualboot: update-firmware: add '--no-reboot' option to avoid the reboot of the system
This is required for the firmware update using Digi Remote Manager. The reboot
is commanded by the server, it that does not happen the update process is not
ended for DRM.

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44:35 +02:00
Tatiana Leon d7f9cfb718 dualboot: update-firmware: add long options to the tool usage
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-04-03 14:44: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
Hector Palacios 6a8bf7afff 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
2023-03-21 09:41:36 +01:00
Javier Viguera 4ef4794f20 Merge tag 'dey-4.0-r2.2' into dey-4.0/master
Digi Embedded Yocto 4.0-r2.2

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-03-20 11:05:11 +01:00
Francisco Gil 27414d3420 meta-digi: revert revisions to AUTOREV
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-03-10 15:48:01 +01:00
Francisco Gil b59f31c114 meta-digi: update revisions for dey-4.0-r2.2
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2023-03-10 15:46:34 +01:00
Arturo Buzarra 358a7cc414 meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-08 18:59:27 +01:00
Arturo Buzarra de3ba53ef3 meta-digi: update revisions for dey-4.0-r2.1
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-03-08 18:58:58 +01:00
Tatiana Leon a0842cbcfd ccimx8m: cloudconnector: connect to 'remotemanager.digi.com' not to use certificates
This commit modifies the cloud connector configuration to use
'remotemanager.digi.com' URL since it does not use certificates for the
connection.
'edp12.devicecloud.com' only allows connections with certificates.
The certificate is downloaded during the first device connection to DRM and
stored in '/etc/ssl/certs' directory inside the 'rootfs' partition.
Following connections must use this certificate.

After a firmware update 'rootfs' partition is re-programmed (standard boot)
or changed to use the corresponding partition of the other block (dual boot). In
any case the certificate downloaded is not available anymore, so the device is
not able to reconnect.

Currently there is no a 'immutable' partition to store the certificate, that is,
a place where the certificate is not removed during a firmware update and can
be used by the cloud connector (similar to the 'data' partition on a ccmp1)

Related to commit 063a946e7c.

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-03-08 12:05:52 +01:00
Tatiana Leon ef9e14ab5b pulseaudio: launch pulseaudio in system mode
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>
2023-03-08 12:05:52 +01:00
Arturo Buzarra aae03774ab Merge branch 'dey-4.0/master' into dey-4.0/maint 2023-02-27 16:34:53 +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
Javier Viguera 711d9b5883 meta-digi-dey: add missing runtime dependence for some packages
Packages bluez5-init, cloudconnector, and connectcore-demo-example-webkit
provide a launcher script that is used regardless of the init system being
systemd or sysvinit. Those launcher scripts use the '/etc/init.d/functions'
file, which is provided by the 'initscripts-functions' runtime package,
so add that runtime dependence.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-24 12:16:02 +01:00
Tatiana Leon be17cb5bc2 ccimx6ul: pulseaudio: fix error during boot
On boot, ConnectCore 6UL was failing to start pulse audio since it was trying
to use journalctl as log target when systemd is not included.

Boot error:

   Starting Dropbear SSH server: dropbear.
   W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
   E: [pulseaudio] log.c: Invalid log target.
   E: [pulseaudio] cmdline.c: Invalid log target: use either 'syslog', 'stderr' or 'auto' or a valid file name 'file:<path>', 'newfile:<path>'.
   E: [pulseaudio] main.c: Failed to parse command line.
   Starting bluetooth: bluetoothd.

While on it change the 'connectcore-demo-server' priority to be launched after
pulseaudio when not using systemd.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-14 12:05:50 +01:00
Tatiana Leon 3f9c93ecdf connectcore-demo: move video and webgl example recipes
Move 'video-examples' and 'webglsamples' recipes outside dynamic-layers/webkit
so platforms without 'webkit' support (such as ConnectCore 6UL) are able to
include and build successfully the complete 'connectcore-demo-example'

Related to 0b9b73afc8

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-10 11:41:30 +01:00
Tatiana Leon 0b9b73afc8 connectcore-demo: separate in several packages
This commit separates the original 'connectcore-demo-example' package in 3
packages:

  1. 'server' package. It contains the 'demoserver.py' script and its
     corresponding systemd service and init script.
     This script is required for the local demo and to be used with the
     Bluetooth application (during the get started process)

  2. 'example' package. It contains the html and required resources (images,
     javascript, etc.) to use the demo locally, except for the multimedia
     resources.
     This package depends (in runtime) on the 'server' package.

  3. 'multimedia' package. It contains the multimedia html and required
     resources (images, javascript, videos, etc.) to use the multimedia demo
     features locally.
     This package depends (in runtime) on the 'example' package and also on
     'video-examples' and 'webglsamples' packages.

This split allows to select the required demo packages per platform and image
type.

By default, the 'multimedia' package is the one included in the webkit images,
but the 'example' package is the one included in the rest of images.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-07 14:00:52 +01:00
Tatiana Leon feea2179ad ccmp15: connectcore demo: fix autostart of demo application on top of weston
This commit is similar to those required to launch crank applications on top of
weston in ConnectCore MP 15 platform, it must wait for the socket
'/run/user/0/wayland-1' after weston is initialized.

See commits 7de8270beda64236cdd1c46857906315a37dc4fe and
1ec5cc172c.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-07 14:00:52 +01:00
Javier Viguera 20eb907de0 dualboot: fix runtime dependences
Several fixes to the runtime dependences:

* Use new override syntax with ':'
* There is not "dualboot-init" package only "dualboot"
* Delete dependence on trustfence-tool

While on it, define do_configure and do_compile as noexec, because those
tasks do not need to execute, and remove the wrong PACKAGE_ARCH entry
(as this package is arch/machine agnostic)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-02 10:21:21 +01:00
Arturo Buzarra c4f2fce4d3 dey-examples: connectcore-demo: remove unused images to reduce package size
This commit removes unused platform images to reduce the final size in the
rootfs.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2023-01-30 17:02:46 +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
Mike Engel 35b56653cd cloudconnector: remove post installation scripts when building squashfs
This commit removes the on-target post installation function for read-only rootfs,
as it will fail trying to edit files.

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

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2023-01-16 10:29:30 +01:00
Tatiana Leon 5a3376af21 libconfuse: use recipe in meta-openembedded
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-01-11 19:04:48 +01:00
Francisco Gil 54f3aebd2c ccmp13: dey-examples: update the configuration file for ccmp13
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-12-21 11:01:08 +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
Javier Viguera db5067371e meta-digi: get rid of ccimx8mp-dvk
Platform not supported.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-30 18:06:57 +01:00
Javier Viguera 83a3aa22e4 Merge tag 'dey-4.0-r1.2' into dey-4.0/master
Digi Embedded Yocto 4.0-r1.2

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-11-30 15:01:06 +01:00
Arturo Buzarra 93a4dd2db5 meta-digi: revert revisions to AUTOREV
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-29 16:35:27 +01:00
Arturo Buzarra 2ca5dfe31e meta-digi: update revisions for dey-4.0-r1.2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-29 16:34:56 +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 0328295ea8 dualboot: run the script only in dualboot systems
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
Arturo Buzarra 0efbb07107 meta-digi: branch to dey-4.0/maint
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-21 17:44:48 +01:00
Tatiana Leon 063a946e7c cc6ul: cloudconnector: use 'remotemanager.digi.com' not to use certificates
This commit modifies the cloud connector configuration to use
'remotemanager.digi.com' URL since it does not use certificates for the
connection.
'edp12.devicecloud.com' only allows connections with certificates.
The certificate is downloaded during the first device connection to DRM and
stored in '/etc/ssl/certs' directory inside the 'rootfs' partition.
Following connections must use this certificate.

After a firmware update 'rootfs' partition is re-programmed (standard boot)
or changed to use the corresponding partition of the other block (dual boot). In
any case the certificate downloaded is not available anymore, so the device is
not able to reconnect.

Currently there is no a 'immutable' partition to store the certificate, that is,
a place where the certificate is not removed during a firmware update and can
be used by the cloud connector (similar to the 'data' partition on a ccmp1)

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-21 12:39:05 +01:00
Tatiana Leon fd94f10c0b ccmp1: cloudconnector: use '/mnt/data' as the place to store the certificate
The directory '/etc/ssl/certs' is in the 'rootfs_x' partition for dual boot or
'rootfs' for standard boot. In any case this certificate cannot be used after
updating because it is stored in the other block partition (for dual boot) or
because the whole partition has be re-programmed (for standard boot).
So, after a firmware update the device will not be able to reconnect to DRM
unless the user revokes the certificate.

This commit changes the certificate directory to be '/mnt/data' where 'data'
partition is mounted. This is not erased during a firmware update, so cloud
connector can use the already downloaded certificate and the device is able to
reconnect to DRM.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-21 12:38:59 +01:00
Francisco Gil 7c07b15370 update-firmware: change the way to determine nand device
The partition "environment" is not available in the ccmp15.

The solution suggested is read the "/proc/mounts" and check if
the "rootfs" is "ubifs" mounted.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-15 07:54:26 +01:00
Francisco Gil 116cb2ac26 swu-images: fix sha256 entry from sw-description file in dualboot
This commit fixes the following build warning with the swupdate v2022.05:

WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.boot.ubifs)
WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
please use $swupdate_get_sha256(dey-image-qt-wayland-ccmp15-dvk.ubifs)


Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-15 07:51:05 +01:00
Francisco Gil b52339d591 dualboot: move the things to the corresponding class
we can get rid of dualboot.bbclass moving things to different
layers.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-15 07:49:17 +01:00
Arturo Buzarra 9936c192d2 dualboot: fix initialization systemd service
According to the Yocto reference manual, we need to specify the package name
override to indicate the package to which the value applies.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-11-14 10:20:02 +01:00
Francisco Gil 19bf22059f ccmp15: dey-examples: update the configuration file for ccmp15
https://onedigi.atlassian.net/browse/DEL-8151

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-11-09 08:13:51 +01:00
Tatiana Leon 9b1008c7fd libdigiapix: ccimx6ulsbc: update user button GPIO
Cloud Connector opens USER_BUTTON GPIO as an interrupt to listen for rising and
falling edge events and upload them to Remote Manager as data point values.
Having MCA_IO1 as user button and opened by the Cloud Connector (or any other
software) prevents the device to go to sleep when it is not connected (all
MCA GPIOs are wake-up sources when configured as interrupt)

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

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-11-07 18:43:44 +01:00
Isaac Hermida c7f2960b4e meta-digi: revert revisions to AUTOREV
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-11-04 12:38:21 +01:00
Isaac Hermida dad34f1006 meta-digi: update revisions for dey-4.0-r1.1
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-11-03 18:21:46 +01:00
Arturo Buzarra 3b99bf3821 pulseaudio: define runtime user-specific directory XDG_RUNTIME_DIR
This commit exports the environment variable XDG_RUNTIME_DIR if does not exists
for services that require sharing a pulseaudio instance.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-31 07:50:33 +01:00
Francisco Gil 8c1b0f8f9e dualboot: get rid of configuration file for dualboot
Now the cloud connector has all the logic to detect if its
running in a dual_boot system, so it is not needed this anymore.

We need to modify on the fly the path to save the image in a
dualboot system.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-10-26 11:29:23 +02:00
Francisco Gil 378135b9c6 dualboot: rename firmware-update-dual.sh to update-firmware
Use the same name for both firmware update mechanism.

Add a dependency to only add recovery-utils used by the
non dual-boot firmware update system.

Adding this only one binary/script called update-firmware will
be added.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2022-10-26 11:29:23 +02: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
David Escalona 64cea0e066 meta-digi-dey: dey-examples: add required packages to 'connectcore-demo'
The new ConnectCore demo functionality makes use of some new Python libraries. Add these libraries
as a dependency in the demo recipe.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-10-25 18:09:27 +02:00
Arturo Buzarra 3e0d713837 sysinfo: improve script to avoid errors on platforms without some variables
This commit improves the sysinfo script to skip error on platforms that don't
provide some variables.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-20 09:32:35 +02:00
Tatiana Leon 23fe285d62 meta-digi-dey: libdigiapix: add 'bluez5' dependency required by new features
https://onedigi.atlassian.net/browse/DEL-8065
https://onedigi.atlassian.net/browse/DEL-7964

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2022-10-13 15:07:35 +02:00
Arturo Buzarra 269b148c60 libdigiapix: ccmp15: fix user LED for DVK v2
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-10 14:40:39 +02:00
David Escalona b0db58fe53 meta-digi-dey: cloudconnector: add 'json-c' dependency required by new features
Signed-off-by: David Escalona <david.escalona@digi.com>
2022-10-07 16:49:12 +02:00
David Escalona 44a3c1a123 meta-digi-dey: dey-examples: start pulseaudio with 'connectcore-demo' example
The demo now has a "Play music" feature, which requires pulseaudio to be running in the device.
This commit checks if pulseaudio is running before starting the demo, and starts the service in
the case it is not.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-10-07 16:49:12 +02:00
Arturo Buzarra 9db258786e dey-examples: connectcore-demo: add mpg123 dependency
The latest ConnectCore demo updates introduced support for audio controls that
use the mpg123 library to manage audio on the device. This commit adds a
runtime dependency for that package.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-10-05 09:05:34 +02:00
Isaac Hermida 877e501076 meta-digi: revert revisions to AUTOREV
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-10-04 17:03:57 +02:00
Isaac Hermida 5209a3db06 meta-digi: update revisions for dey-4.0-r1.beta2
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2022-10-04 14:26:53 +02:00
David Escalona bd0eadc16e meta-digi-dey: dey-examples: fix start/stop script of "connectcore-demo-example" service
The start/stop script of the service was using "killproc" and "pidofproc" functions from
"/etc/init.d/functions" to find the process PID. These functions rely on "pidof", which does
not work very well with Python scripts. Instead, use "pkill" and "pgrep" which allow to
search the executable in the full command line to retrieve the correct PID with the -f modifier.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-09-28 13:07:11 +02:00
David Escalona 065f610952 libdigiapix: add support to build Python bindings
The library recently added support for Python bindings. This commit
adds support to compile and install these Python bindings using a
new package: 'libdigiapix-python3'.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-09-20 11:29:09 +02:00
Arturo Buzarra 6d8b43bbe2 libdigiapix: add support to 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
Mike Engel 85f84f6438 swupdate: move sw-description configuration into each platform.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-09-12 14:26:13 +02:00
Mike Engel c3b4cfa5d1 swupdate: add u-boot image into SWU update image
Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://onedigi.atlassian.net/browse/DEL-7853
2022-09-12 14:26:13 +02:00
Javier Viguera f5964b0f97 meta-digi: revert revisions to AUTOREV
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-09-02 17:37:46 +02:00
Javier Viguera 33c7d69b3e meta-digi: update revisions for dey-4.0-r1.beta1
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-09-02 17:34:14 +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
Javier Viguera 3c554bbbc2 meta-digi: revert revisions to AUTOREV
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-07-21 15:49:22 +02:00
Javier Viguera 29124cd33f meta-digi: update revisions for dey-4.0-r1.alpha1
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-07-21 15:49:22 +02:00
David Escalona 39e41c1d7f meta-digi-dey: dey-examples: add recipe to install 'connectcore-demo' example
The ConnectCore Demo is launched on startup and starts the web server. Demo can be accessed
by any computer in the LAN by just typing the IP address of the device in the web browser.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-07-18 16:32:25 +02:00
Isaac Hermida d7f3991209 cloudconnector: add init service
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: David Escalona <david.escalona@digi.com>
(cherry picked from commit ccc9211d00dad7be6cb2c2d0cf179a62563e26c6)
2022-07-15 09:25:25 +02:00
Arturo Buzarra 64b965637c libdigiapix: ccmp15: fix user LED and buttons
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-07-13 12:47:12 +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 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
Arturo Buzarra 9458c4a25b cloudconnector: add swupdate dependency
Recent improvements in the cloudconnector core added a dependency with the
swupdate library, so this commit adds a build dependency with the
swupdate package.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
(cherry picked from commit 654ef8686fd3916ae5ad257f72bd41ed2198d958)
2022-06-03 09:47:37 +02:00
Arturo Buzarra cf43c47278 swu-images: fix sha256 entry from sw-description file
This commit fixes the following build warning with the swupdate v2021.11:

    WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
             please use $swupdate_get_sha256(dey-image-qt-xxxxxx.boot.ubifs)
    WARNING: dey-image-qt-swu-1.0-r0 do_swuimage: Syntax for sha256 changed,
             please use $swupdate_get_sha256(dey-image-qt-xxxxxx.ubifs)

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-05-11 17:34:44 +02:00
Arturo Buzarra cbea119d3d swu-images: add support for ccmp1 platform
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-05-11 17:28:27 +02:00
Arturo Buzarra f15ce55b2d cloudconnector: add libdigiapix dependency
Recent improvements in the cloudconnector core added a dependency with the
libdigiapix library, so this commit adds a build dependency with the
libdigiapix package.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-05-11 10:35:46 +02:00
Mike Engel 843bfb8555 libdigiapix: add CCMP15 libdigiapix conf file
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2022-05-04 14:01:05 +02:00
Isaac Hermida f86b3629a8 libdigiapix: add config file for ConnectCore 8M Plus
https://onedigi.atlassian.net/browse/DEL-7784

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-02-03 12:00:26 +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
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
Gabriel Valcazar 4e303ab542 swu-images: remove ccimx6ul preinstallation script
Since commit bf8c73322b, the script is no longer
used, so remove it.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-11-05 14:20:36 +01:00
Hector Palacios 9352fc1395 digi: [cosmetic] remove final slash from Digi remotes and move it to recipes
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-07 11:01:29 +02:00
Mike Engel 216d06e723 Merge tag 'dey-3.2-r1.2' into dey-3.2/master
Digi Embedded Yocto 3.2-r1.2

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-07-28 17:19:42 +02:00
Gonzalo Ruiz aa92d2d13a meta-digi: update revisions for dey-3.2-r1.2
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-07-07 12:56:23 +02:00
Mike Engel afb57ef521 cloudconnector: move swupdate dependencies into meta-digi-dualboot layer
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-07-06 14:00:02 +02:00
Gonzalo Ruiz 95c8629cba meta-digi: revert revisions to AUTOREV
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-07-02 14:42:26 +02:00
Gonzalo Ruiz d98487a309 meta-digi: update revisions for dey-3.2-r1.1
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-07-02 14:42:09 +02:00
Mike Engel e405acfd7d cloudconnector: add swupdate dependencies to build on-the-fly support
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-07-01 13:48:11 +02:00
Gabriel Valcazar a707e98775 swu-images: include compressed .ext4.gz rootfs image in SWU package
swupdate has the necessary logic to handle compressed images, so take advantage
of this to save space and reduce update package transfer times.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-06-29 12:48:26 +02:00
Mike Engel 51babaa55b swu-images: create a common sw-description file.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-06-08 16:25:04 +02:00
Hector Palacios f2286f3d26 meta-digi: branch to dey-3.2/maint
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-06-07 12:56:58 +02:00
Gabriel Valcazar 11558352f0 swu-images: add "installed-directly" flag to sw-description
Otherwise, swupdate will treat the update process like it's an OTA one and it
will try to store the package contents in /tmp, which won't fit.

swupdate commit 8b70ae5796e75c2ff856e8c46b3a3c09cb8fcccd states that all local
SWU packages should include this flag, since the old implementation had this
information implicitly.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-06-02 15:53:46 +02:00
Gabriel Valcazar bf8c73322b swu: adapt swupdate packages to reworked partition encryption mechanism
Since the recovery script checks the update package before installing it, use
the package's description to indicate if the package is meant to encrypt the
rootfs or not. Also, remove the pre-install script from the ccimx6ul packages,
since the logic in the script to remove the encryption flag from the rootfs is
now in the recovery script.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:43 +02:00