Commit Graph

517 Commits

Author SHA1 Message Date
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
Arturo Buzarra 4a54512d64 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 09:35:53 +02:00
Hector Palacios cc2df395c5 uboot: ccimx6ul: rename variable for single MTD system partition
Rename from 'ubisysvols' to 'singlemtdsys'.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-29 13:44:50 +02:00
Hector Palacios 6910a11eab recovery: turn is_dualboot_enabled() into generic function
The new function compares the value of the variable with
one given as parameter.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios ec08b1277a recovery-initramfs-init: add support for ubisysvols
Adapt the format_ubi_volume() function to wipe out UBI volumes
instead of formatting MTD partitions.

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

https://onedigi.atlassian.net/browse/DEL-7614
2021-09-09 17:38:44 +02:00
Hector Palacios 90706f5d39 recovery: free strings returned by uboot_getenv()
The function uboot_getenv() is a wrapper over libuboot_get_env() and
requires that the returned strings are freed when no longer in use.

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

https://onedigi.atlassian.net/browse/DEL-7645
(cherry picked from commit 27ce7a4f20)
2021-08-27 12:49:31 +02:00
Hector Palacios c93945c995 recovery: [cosmetic] replace whitespaces with tabs where appropriate
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit f806979c84)
2021-08-27 12:49:25 +02:00
Hector Palacios 846bccc8bf recovery: rework is_dualboot_enabled() function
- The function is only used internally in this file, so make it static.
- Convert the function from 'int' to 'bool', since no other values are
  evaluated.
- Only return true if the variable 'dualboot' is set to 'yes'. Before,
  the function returned true if 'dualboot' was different than 'no'.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit 9a519570ba)
2021-08-27 12:49:22 +02:00
Hector Palacios 53759cd29c recovery: check variable returned by uboot_getenv() is not NULL
The use of this function, which is a wrapper over libuboot_get_env(),
requires checking if the returned string is NULL.
Manipulations of such string without checking whether it's NULL may lead
to segfault errors.
This was seen during firmware update on a device that didn't have the
'dualboot' variable set.

Reported-by: Chandrababu Pigilam <chandrababu.pigilam@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-7645
(cherry picked from commit 8a4484bbd6)
2021-08-27 12:49:16 +02:00
Hector Palacios 27ce7a4f20 recovery: free strings returned by uboot_getenv()
The function uboot_getenv() is a wrapper over libuboot_get_env() and
requires that the returned strings are freed when no longer in use.

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

https://onedigi.atlassian.net/browse/DEL-7645
2021-08-25 16:20:43 +02:00
Hector Palacios f806979c84 recovery: [cosmetic] replace whitespaces with tabs where appropriate
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-08-25 16:20:43 +02:00
Hector Palacios 9a519570ba recovery: rework is_dualboot_enabled() function
- The function is only used internally in this file, so make it static.
- Convert the function from 'int' to 'bool', since no other values are
  evaluated.
- Only return true if the variable 'dualboot' is set to 'yes'. Before,
  the function returned true if 'dualboot' was different than 'no'.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-08-25 16:20:43 +02:00
Hector Palacios 8a4484bbd6 recovery: check variable returned by uboot_getenv() is not NULL
The use of this function, which is a wrapper over libuboot_get_env(),
requires checking if the returned string is NULL.
Manipulations of such string without checking whether it's NULL may lead
to segfault errors.
This was seen during firmware update on a device that didn't have the
'dualboot' variable set.

Reported-by: Chandrababu Pigilam <chandrababu.pigilam@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-7645
2021-08-25 16:20:24 +02:00
Gabriel Valcazar feec2aa4f7 glib-2.0: backport 2.65 patch to prevent NetworkManager segmentation faults
NetworkManager's main library went through a major overhaul in v1.22, changing
the way it interacts with glib among other things. When using a NetworkManager
version equal or newer than v1.22 along with a glib version between 2.63.3 and
2.65, a race condition can happen, randomly causing segmentation faults.

Since Yocto 3.2 uses NetworkManager 1.22.14 and glib 2.64.5, the race condition
is reproducible, but it can be fixed with the patch introduced in this commit.
The patch in question is commit e4a690f5dd959e74b2d6054826f61509892c8aa7 in the
glib git repo.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-08-16 15:26:40 +02:00
Gabriel Valcazar 78e8a75ff2 glib-2.0: backport 2.65 patch to prevent NetworkManager segmentation faults
NetworkManager's main library went through a major overhaul in v1.22, changing
the way it interacts with glib among other things. When using a NetworkManager
version equal or newer than v1.22 along with a glib version between 2.63.3 and
2.65, a race condition can happen, randomly causing segmentation faults.

Since Yocto 3.2 uses NetworkManager 1.22.14 and glib 2.64.5, the race condition
is reproducible, but it can be fixed with the patch introduced in this commit.
The patch in question is commit e4a690f5dd959e74b2d6054826f61509892c8aa7 in the
glib git repo.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-08-11 12:38:10 +02:00
Mike Engel 37832e8b3b glibc: upgrade to version 2.33 for eIQ support
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-08-11 10:39:26 +02:00
Mike Engel c47377df22 recovery-utils: add check into recover library if dualboot is enabled
This commit add a verification into the recovery library to avoid
that it is executed when in dualboot mode.

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

https://onedigi.atlassian.net/browse/DEL-7580
(cherry picked from commit 30aa4a7444)
2021-07-28 17:19:44 +02:00
Mike Engel 30aa4a7444 recovery-utils: add check into recover library if dualboot is enabled
This commit add a verification into the recovery library to avoid
that it is executed when in dualboot mode.

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

https://onedigi.atlassian.net/browse/DEL-7580
2021-07-15 10:17:53 +02:00
Gonzalo Ruiz 3e75c1ed34 recovery-initramfs: launch mdev as daemon
'mdev -s' run on ramfs initialization is able to mount external media already
detected but fails to automatically mount any media detected afterwards.
Running it as a daemon first it will also be able to mount any media detected
after 'mdev -s' is run.

Use argument '-d' to first run mdev as daemon in background.

Move 2 seconds delay to after mdev has been initialized to give external
hardware all the time possible to be successfully detected and mounted.

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

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-06-24 10:46:19 +02:00
Mike Engel 5c77cbb502 recovery: add swupdate parameter to select image description.
This commit adds some swupdate parameter to select the sw-description
configuration depending on the used platform.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-06-08 16:25:04 +02:00
Gabriel Valcazar d5c696fd5b recovery-utils: only print open device warning when encrypting partitions
Technically, partition unencryption is safe to do in open devices, although it
implies that at least one partition has already been encrypted. If we aren't
going to encrypt any partitions, there's no need to print the warning.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-06-02 14:45:00 +02:00
Gabriel Valcazar 8c19cda181 recovery: change way of deciding if platform uses NAND or eMMC
Instead of checking for the existence of /proc/mtd, which might lead to false
positives, check the "root" parameter in /proc/cmdline. Assume eMMC in case of
any error.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-06-02 14:45:00 +02:00
Arturo Buzarra 8227a49140 systemd: reduce verbosity of sysv-generator
There are some init packages from the poky layer that remain using only a SysV
init script. Systemd converts these init scripts to systemd service format on
boot and shows an ugly warning for each one. To avoid flooding the console with
this kind of messages, we reduce the verbosity of these messages.

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

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-06-01 16:26:01 +02:00
Gabriel Valcazar 94551f0c4d recovery-initramfs: correctly set environment variables containing spaces
In the libubootenv implementation of fw_setenv, multiple variables can be set
in one call. When setting a variable with a space-separated list, the app
interprets the list as new variable/value tuples, for example:

    fw_setenv myvar value1 value2 value3

Results in:

    myvar=value1
    value2=value3

This was causing the encrypted eMMC partition mechanism to break, because the
list of encrypted partitions is stored as a space-separated list in an
environment variable. Avoid this by enclosing the variable argument of
set_uboot_var() with double quotes.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-06-01 09:47:39 +02:00
Gabriel Valcazar 737230a2f4 recovery-initramfs: automatically set an encryption key if needed
Before using the encrypted partition functionality, users have to manually
install the encryption key in the system. Failing to install said key will
result in errors later on.

Even though the installation isn't a difficult operation from a user's point of
view, the recovery script has the necessary logic to detect cases where a
partition is going to be encrypted with no key installed. Automatically
generate a key in these cases to avoid undesired behavior and to improve the
overall user experience.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:44 +02:00
Gabriel Valcazar 158a9e1779 trustfence-tool: update to v2.5
This version adds new functionality to check if an encryption key is installed
as well as a fix for an issue that happens when encrypting partitions with long
names (over 12 characters).

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:44 +02:00
Gabriel Valcazar 32984efc90 recovery-utils: ask for confirmation when changing the encryption key
If we trigger a key change while there are partitions that are encrypted,
print a warning and ask for confirmation so users know that the operation will
erase the contents of said partitions.

Like in the partition (un)encryption mechanism, add the possibility to skip
both the warning message and the confirmation prompt.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:44 +02:00
Gabriel Valcazar e2cd4f6d9a trustfence-initramfs: remove support for platforms with NAND internal storage
This initramfs only makes sense in platforms with an eMMC as the internal
storage, due to how the partition encryption support is implemented. In
plaatforms that use NAND instead, ths initramfs offers no functionality and
increases the recovery image size, so remove it.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:44 +02:00
Gabriel Valcazar a432a6353a recovery-initramfs: make rootfs encryption status changeable via updates only
If we allow users to manually change the encryption status of the rootfs
partition, we run the risk of wiping it without flashing a proper replacement
image. Because of this, rootfs encryption status should be determined
automatically using information from the update package.

Have the recovery script parse the update package's description to determine
whether to encrypt the rootfs or not.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:43 +02:00
Gabriel Valcazar 953a376d97 recovery-utils: don't allow manual (un)encryption of rootfs partition
This partition isn't blacklisted, but it should only be (un)encrypted when
providing an update package. Make it so that manual encryption status changes
for this partition aren't possible from the recovery library.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:43 +02:00
Gabriel Valcazar 82a76a7106 trustfence: split filesystem encryption support into two variables
Previously, TRUSTFENCE_INITRAMFS_IMAGE was the only variable used to configure
rootfs encryption. Now that any partition can be encrypted and the rootfs
encryption still needs to be handled differently, use two variables instead.

    * TRUSTFENCE_ENCRYPT_PARTITIONS to control partition encryption in general
    * TRUSTFENCE_ENCRYPT_ROOTFS to control rootfs encryption

As with most trustfence functionality, enable both by default. Leave
TRUSTFENCE_INITRAMFS_IMAGE as an internal variable only.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:43 +02:00
Gabriel Valcazar 402f9775b9 recovery-initramfs: manage update partition correctly with partition encryption
Since the update partition might be involved during a software update, we need
to make sure that its contents are accesible and safe when using the partition
encryption feature at the same time.

Mount and unmount the partition correctly if it's encrypted and cancel any
operations that will result in the deletion of the update package.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-27 12:10:43 +02:00
Gabriel Valcazar d54510766a recovery-utils: add partition encryption support
Add a new function to the recovery library to be able to encrypt/unencrypt any
partition on the internal storage media. Since it's a destructive operation,
add a warning message and a confirmation prompt that can be skipped if needed.

Reflect this new functionality in the recovery-reboot app. Change the logic so
that an encryption key can be set even if there's no update package, because
now it's possible to encrypt other partitions while leaving the rootfs intact.
Also change the logic so that the app doesn't reboot into recovery mode if
there's no recovery command set.

Implement the same blacklist as the one 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
Gabriel Valcazar 59e652ec9b trustfence: extend partition encryption support to any partition
Modify the recovery and trustfence initramfs scripts to be able to encrypt any
partition on the internal storage media, not just the rootfs.

To implement this functionality, add a new recovery command called
'encrypt_partitions'. When used, this command must contain a comma-separated
list of the partitions that are to be encrypted by the end of the recovery
process, including partitions that were already encrypted beforehand. Any
partition that isn't in the list will be unencrypted. If the command is absent,
no changes will be made, but it's possible to pass an empty command to
unencrypt all partitions.

Include a blacklist to avoid encrypting partitions that shouldn't be encrypted,
such as partitions that need to be accessed by the ROM code/U-Boot or
partitions that contain encryption keys.

While at it, remove unnecessary "get_kernel_version" function from the 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
Francisco Gil Martinez 562a00fe2f libgpiod: add libgpiod-tools dependence
Now libgpiod is not added automatically and we need to add the
dependence manually.
For more info see commit 4339c28ff4aa0264c34f4f183349aea20a5ff127 in
meta-openembedded layer.

https://jira.digi.com/browse/DEL-7522

Signed-off-by: Francisco Gil Martinez <francisco.gilmartinez@digi.com>
2021-05-12 08:12:21 +02:00
Arturo Buzarra a686e1f4fa packagegroup-dey-core: fix build error on platforms without systemd for system-monitor recipe
Recipe system-monitor has a dependency with systemd package, however it was
added unconditionally for all platforms. This commit adds a protection to
include this recipe only when systemd is present in the DISTRO_FEATURES

https://jira.digi.com/browse/DEL-7508

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-05-05 19:18:11 +02:00
Arturo Buzarra ccaadd7c1b system-monitor: add features_check to fix build warning
This commit fixes the following warning:
    WARNING: system-monitor-0.1-r0 do_package_qa: QA Issue: system-monitor:
    recipe doesn't inherit features_check [unhandled-features-check]

https://jira.digi.com/browse/DEL-7508

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-05-05 19:18:11 +02:00
Arturo Buzarra ca5a2cce23 gatesgarth migration: psplash: rework Digi customization to match new version
Commit f7a354d("Generate image headers from their PNG source, while still
including them in dist tarball") provides a default PNG files removing the image
generation in build time. This commit overwrites the default PNG with one
customized by Digi.

https://jira.digi.com/browse/DEL-7508

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-05-05 19:18:11 +02:00
Gabriel Valcazar 77039b87df gatesgarth migration: Convert u-boot-fw-utils dependencies to libubootenv dependencies
Modify the recovery-utils code to reflect the change (change in C header and
linked libraries)

https://jira.digi.com/browse/DEL-7410

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-05 19:18:11 +02:00
Arturo Buzarra 4342546a01 gatesgarth migration: features_check class replaces distro_features_check
The 'distro_features_check' class has had its functionality expanded, as
a result the class has now been renamed to 'features_check'

https://jira.digi.com/browse/DEL-7508

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-05-05 19:18:11 +02:00
Arturo Buzarra b2152d4721 gatesgarth migration: sysvinit: update to recipe v2.97
https://jira.digi.com/browse/DEL-7508

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-05-05 19:18:11 +02:00
Arturo Buzarra e6cd16428a gatesgarth migration: packagegroup-dey-core: add networkmanager-nmcli package
NetworkManager recipe split the command line util in a different package, so we
added it in our default images.

https://jira.digi.com/browse/DEL-7508

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-04-29 20:07:28 +02:00
Arturo Buzarra 4bff866a5d gatesgarth migration: busybox: update to version 1.32.0
https://jira.digi.com/browse/DEL-7508

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-04-29 20:07:28 +02:00
Gabriel Valcazar de7d43a6f0 systemd-gpuconfig: Update recipe to new NXP BSP release imx_5.4.70_2.3.1
Add missing gpuconfig script elements

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-02-17 12:01:00 +01:00
Arturo Buzarra 33cc4729ae busybox: add support to ConnectCore 8M Mini DVK platform
Use the same common files for both ConnectCore 8M platforms

https://jira.digi.com/browse/DEL-7397

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-02-04 13:07:07 +01:00
Gabriel Valcazar f7c86fb0a4 busybox: remove default http homepage elements
We're going to be using the busybox http server to house the WebKit examples,
so we need to get rid of any files that might interfere with it. Keep the files
for the ccimx6ul, since it doesn't support WebKit.

https://jira.digi.com/browse/DEL-7314
https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-17 09:33:22 +01:00
Gabriel Valcazar f91cb8d6bd Add support for the dey-image-webkit image
This image is very similar to dey-image-qt, but it includes the WebKit
packagegroup instead of the Qt one. Said packagegroup contains all of the
elements needed to run a WebKit-based browser environment in DEY.

This image requires the meta-webkit layer, so include it in our default
bblayers template. For now, include all WebKit related recipes in a dynamic
layer, because the ccimx6ul doesn't support WebKit and its projects don't need
meta-webkit at all.

https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-14 11:49:33 +01:00
Hector Bujanda 65d184cac3 busybox: standby: ccimx8x/mn: configure power LED for blinking in standby
configure power LED for blinking in standby
configure power LED solid on after resume

https://jira.digi.com/browse/DEL-7330

Signed-off-by: Hector Bujanda <Hector.Bujanda@digi.com>
2020-11-24 11:41:21 +01:00
Hector Bujanda adebdabac9 recipes-core: systemd-gpuconfig: Update recipes to new BSP release imx_5.4.47_2.2.0
Includes:
gpuconfig/rc_gpu.S: Update the lib names of libOpenVG [YOCIMX-4888]

    In imx-gpu-viv 6.4.3, the 2D/3D OpenVG lib names are changed:

      libOpenVG.2d.so – > libOpenVG.2d.so.1.1.0
      libOpenVG.3d.so – > libOpenVG.3d.so.1.1.0

Signed-off-by: Hector Bujanda <Hector.Bujanda@digi.com>
2020-11-02 22:06:27 +01:00
Gabriel Valcazar a872c5f4cd trustfence-tool: update to v2.4
This version includes changes needed to reflect the OTP driver update in the
kernel.

https://jira.digi.com/browse/DEL-7261

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-10-05 13:06:36 +02:00
Gabriel Valcazar 7938ddef8f dey-image-recovery-initramfs: remove openssl-bin from initramfs
This package was being included as a RRECOMMENDS from libcrypto, but we don't
need it in the initramfs at all. Since our recovery image is already pretty big
compared with the recovery partition size on ccimx6ul platforms with 256 MB of
storage, remove it to make sure the image can fit.

https://jira.digi.com/browse/DEL-7253

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-09-29 09:48:16 +02:00
Hector Palacios 8e23fbfd13 Merge branch 'dey-3.0/master' into hpalacio/dey-3.0-merge
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-09-15 08:53:28 +02:00
Mattias Lindblad 89c2e830d8 busybox: standby: update busybox timeout syntax
Signed-off-by: Mattias Lindblad <mattias.lindblad@niradynamics.se>
Reviewed-by: Hector Palacios <hector.palacios@digi.com>
2020-08-25 07:54:57 +02:00
Hector Palacios ff5d0628d9 recovery: change the way to determine if the device is closed
The old fsl_otp driver is deprecated and we need to determine
if the device is closed using a new property of the device tree
called 'digi,tf-closed'.

Assume the device is open if the property is not found.

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

https://jira.digi.com/browse/DEL-7185
(cherry picked from commit fc1a736758)
2020-07-24 13:13:43 +02:00
Hector Palacios fc1a736758 recovery: change the way to determine if the device is closed
The old fsl_otp driver is deprecated and we need to determine
if the device is closed using a new property of the device tree
called 'digi,tf-closed'.

Assume the device is open if the property is not found.

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

https://jira.digi.com/browse/DEL-7185
2020-07-24 13:12:13 +02:00
Gabriel Valcazar 212448fe2d recovery-initramfs: don't format the rootfs partition unless it's necessary
By default, we generate SWU files which update both the linux and rootfs
partitions. This, along with the fact that platforms using NAND as the storage
media require a reboot for the rootfs partition's "enc" flag to take effect,
makes it safe to format the NAND's rootfs partition before performing an
update, regardless of having to encrypt the rootfs or not.

However, customers that wish to use the swupdate feature to update just the
linux partition will find that the rootfs is completely erased after the update
is finished, because a new rootfs hasn't been written in its place.

To avoid this scenario, parse the SWU package's description to verify that it
contains a rootfs image before formatting the partition.

https://jira.digi.com/browse/DEL-7067

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-07-21 09:53:14 +02:00
Gabriel Valcazar 48f8720a23 recovery-initramfs: register mdev regardless of /proc/sys/kernel/hotplug
Busybox's device manager mdev was originally meant to be set up by writing its
path to /proc/sys/kernel/hotplug before launching it, but that entry no longer
exists in Linux v5.4's procfs and mdev can be launched directly.

Since mdev is the element in the recovery initramfs that is in charge of
mounting all partitions where .swu packages can be found (update partition on
the eMMC/MTD, uSD and USB), checking for the existence of the hotplug entry in
the procfs before launching mdev in v5.4 was preventing the partitions from
being mounted, and causing all software updates to fail.

While at it, move the two second delay to before mdev is launched, so all
partitions can be mounted. Otherwise, some devices such as the USB might not
be ready when mdev is launched, causing its partition to not be mounted.

https://jira.digi.com/browse/DEL-7143

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-06-18 13:43:47 +02:00
Hector Bujanda 2efc2c3e42 base-files: fix checks done to execute resize2fs postinst function in kernel 5.4
MMC core block has changed in kernel 5.4 so Replay Protected Memory Block (RPMB)
and boot partitions are not listed under /proc/partitions anymore.

get_emmc_block_device() function in pkg_postinst_ontarget() method was looking
for these entries to identify the MMC partition where to execute resize2fs.

This function has been modified to do the checks inside /dev/mmcblk* where RPMB
and boot entries are still listed.

https://jira.digi.com/browse/DEL-7094

Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
2020-05-11 16:04:57 +02:00
Hector Palacios ab98e928f5 machines: move common recipes to all packagegroup-dey-core
- u-boot-fw-utils
- cryptodev-module

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-05-06 17:02:28 +02:00
Arturo Buzarra 1efd3f9ba8 zeus migration: systemd: update recipe to v243.2
https://jira.digi.com/browse/DEL-7013

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-04-27 16:01:07 +02:00
Arturo Buzarra a5a0a52d18 zeus migration: busybox: update to version 1.31.0
https://jira.digi.com/browse/DEL-7001

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-04-27 16:01:07 +02:00
Francisco Gil Martinez f99ae24162 recovery: allow the user to cancel the recovery process
https://jira.digi.com/browse/DEL-6982

Signed-off-by: Francisco Gil Martinez <francisco.gilmartinez@digi.com>
2020-03-20 08:23:43 +01:00
Hector Bujanda baa4a6f57e packagegroup-dey-core: add libgpiod
Add support for handling the GPIOs through char device and the kernel API.

https://jira.digi.com/browse/DEL-6426
https://jira.digi.com/browse/DEL-6423

Signed-off-by: Hector Bujanda <hector.bujanda@digi.com>
2020-03-09 12:50:22 +01:00
Francisco Gil 1d91d3411b br0: move the br0 interface to the bottom
This interface should be the last item defined in the
/etc/network/interfaces file.

When you try to enable the interface br0 (bridge interface),
all the other interfaces should be available.
If the br0 interface is located before the other interfaces
involved in the bridge, it will fail.

Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2020-02-24 13:14:53 +01:00
Hector Palacios 8320168821 trustfence: homogenize SIGN_MODE variables
* prefix TRUSTFENCE_ to variable SIGN_MODE for DEY
* prefix CONFIG_ to variable SIGN_MODE for script

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2020-02-12 18:50:19 +01:00
Gabriel Valcazar 6caecc5c53 trustfence-initramfs: use "busybox halt" instead of "poweroff"
The poweroff command is not available in the initramfs due to a missing
sysvinit/systemd dependency. Use the busybox "halt" command, since it's
available regardless of the init manager used. Rework the error message and
script variables accordingly.

https://jira.digi.com/browse/DEL-6983

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-02-12 18:31:33 +01:00
Mike Engel 5beec04b6a trustfence: Add Trustfence support for CCMX8X
This commit adds Trustfence support for the CCMX8X
platform.

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

https://jira.digi.com/browse/DEL-6917
2020-02-04 12:20:38 +01:00
Gabriel Valcazar 0765189c93 systemd: add firmware loading support
Userspace firmware loading support is required for the Linux imx-sdma driver.
The patches that accomplish this were originally in poky, but were removed in
the thud upgrade. Re-work the patches so they apply over systemd v239.

https://jira.digi.com/browse/DEL-6932

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-01-16 13:27:54 +01:00
Arturo Buzarra 3c5fd58866 trusfence-initramfs: generalize recipe to avoid redefinitions
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 13:37:39 +01:00
Arturo Buzarra 95c636d327 trustfence-initramfs: add support for ccimx8mn platform
https://jira.digi.com/browse/DEL-6911

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 13:37:39 +01:00
Arturo Buzarra d430cc3bab recovery-initramfs: generalize recipe to avoid redefinitions
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 13:36:21 +01:00
Arturo Buzarra 188df6fee3 recovery-initramfs: add support for ccimx8mn platform
https://jira.digi.com/browse/DEL-6911

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 13:36:21 +01:00
Arturo Buzarra 1fd0e8d6d8 init-ifupdown: generalize recipe to avoid redefinitions
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 13:36:21 +01:00
Arturo Buzarra a93a05a8af init-ifupdown: add support for ccimx8x platform
https://jira.digi.com/browse/DEL-6911

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 13:21:27 +01:00
Arturo Buzarra 8e853e76d1 busybox: add support to ccimx8mn platform
Add initial support cloned from ccimx8x-sbc-pro.

https://jira.digi.com/browse/DEL-6806

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2020-01-10 11:42:58 +01:00
Gabriel Valcazar 2a0636760e systemd: decrease timeout when stopping services
In very rare cases, random services would hang when powering off the system,
causing the poweroff process to stall for 90 seconds before timing out the stop
job. To avoid this behaviour, minimize the effect of these random freezes by
decreasing the timeout.

The default services in our system take well under 15 seconds to stop
gracefully, so we can guarantee that a timeout will never happen under normal
circumstances.

https://jira.digi.com/browse/DEL-6794

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-10-17 16:17:14 +02:00
Javier Viguera 7013acc439 init-ifupdown: p2plink: allow to set persistent parameters
Use ifupdown variable 'p2p-network-id' to pass a WPA supplicant network
id, to pre-populate some parameters (SSID/passphrase) when creating the
group where this device is the GO.

Also replace go_intent=7 with the auto parameter. According to the
documentation:

    "auto" can be used to request wpa_supplicant to automatically
    figure out whether the peer device is operating as a GO and if so,
    use join-a-group operation rather than GO Negotiation.

https://jira.digi.com/browse/DEL-6741

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2019-09-10 11:49:00 +02:00
Mike Engel 3ac4ce1959 meta-digi-dey: fix systemd-cat not found in network scripts
This commit fixes the error message when specific network scripts
are launched.

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

https://jira.digi.com/browse/DEL-6728
2019-09-06 11:03:18 +02:00
Gabriel Valcazar acff25cf80 trustfence-tool: update to v2.3
This version adds support for the ccimx8x.

https://jira.digi.com/browse/DEL-6684

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-09-04 15:12:06 +02:00
Arturo Buzarra d8614f748e recovery-initramfs: Set cryptsetup dependency only for platforms with block devices
Commit 074e3ba3 ("meta-digi-dey: add cryptsetup tool into initramfs") added
the runtime dependency to cryptsetup for all platforms, but it is
required only to encrypt/decrypt block devices.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-07-30 10:29:31 +02:00
Mike Engel 42612e112e meta-digi-dey: base-file: disable file system check on the root file system partition when encrypted
This commit disables file system check on the root file system when it is encrypted.
This prevents the service from failing on encrypted rootfs with the message:

[FAILED] Failed to mount /run/media/mmcblk0p3.
See 'systemctl status run-media-mmcblk0p3.mount' for details.

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

https://jira.digi.com/browse/DEL-6655
2019-07-22 09:39:43 +02:00
Arturo Buzarra 1d68514a50 packagegroup-dey-core: add pciutils package for platforms that support PCI
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-07-16 16:38:28 +02:00
Mike Engel 4a3e9531b3 meta-digi-dey: add initramfs-init file to initramfs.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://jira.digi.com/browse/DEL-6652
2019-07-08 17:41:01 +02:00
Mike Engel 074e3ba368 meta-digi-dey: add cryptsetup tool into initramfs.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://jira.digi.com/browse/DEL-6652
2019-07-08 17:41:01 +02:00
Gabriel Valcazar 0228ad8587 systemd: don't include systemd-networkd
To avoid possible conflicts with NetworkManager, remove systemd-networkd
entirely.

https://jira.digi.com/browse/DEL-6610

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-06-12 10:54:41 +02:00
Arturo Buzarra 8c0aaf79b6 base-files: add filter to ignore mmc RPMB partitions
The Replay Protected Memory Block (RPMB) is an special storage
partition that cannot be accessed via standard block layer.
When a user space tool like blkid, tries to read it the kernel
suffers buffer I/O errors and timeouts.

This commit modifies the post installation script to filter the RPMB
partitions from the mmc block devices, to avoid multiple kernel
errors during the script execution.

https://jira.digi.com/browse/DEL-6609

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-05-17 10:27:11 +02:00
Arturo Buzarra 1fe9ca04c2 base-files: remove platform dependency to execute the postinst function
Removed the platform dependency to apply the resize to all platforms.

https://jira.digi.com/browse/DEL-6609

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-05-17 10:27:11 +02:00
Jose Diaz de Grenu aad38d49c8 system-monitor: add system-monitor example
This recipe is an example for customer for a system-monitor. Scripts that
verify the system status can be added to /etc/system-monitor.d

The recovery mechanisms can be implemented on those scripts or in the
system-monitor script. The software watchdog systemd support is used to
guarantee that the system-monitor is running.

When using this it is recommended to enable the systemd hardware watchdog
support, refer to the systemd documentation for this.

The systemd service provided by this recipe is not enabled by default as it
is an example that needs customization.

https://jira.digi.com/browse/DEL-6593

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
2019-05-17 09:38:24 +02:00
Javier Viguera ba93fb6d76 init-ifupdown: support establishing a P2P link
Co-authored-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2019-05-17 09:38:24 +02:00
Javier Viguera bc5c64571a busybox http: add systemd service
Currently in a systemd based init, the httpd server is not launched. A
systemd service is needed, so add it.

Also install a CGI script that allows to use the device for the
NetworkManager connectivity check.

https://jira.digi.com/browse/DEL-6577

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2019-05-17 09:38:24 +02:00
Gabriel Valcazar 5a14bd9666 standby: add systemd standby-actions script for ccimx6/ccimx6qp platforms
Even though systemd support is not yet available for these platforms, add the
scripts so bitbake doesn't fail when building the busybox package.

https://jira.digi.com/browse/DEL-6565

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-05-07 09:55:19 +02:00
Gabriel Valcazar f1ce4bfbc8 standby: homogenize standby script across all platforms
* Use the same operation order when resuming interfaces
* Remove unnecessary delay in ccimx6sbc standby script

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-05-07 09:55:19 +02:00
Gabriel Valcazar 982102fb68 core-image-base: don't override default IMAGE_INSTALL values
Otherwise, packagegroup-dey-core won't get included in ccimx6ulstarter images.
This packagegroup contains fundamental OS elements, such as sysvinit, kernel
modules and so on. Use CORE_IMAGE_BASE_INSTALL instead and make sure to append
to the default value instead of overwriting it.

https://jira.digi.com/browse/DEL-6536

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-04-03 18:00:28 +02:00
Gabriel Valcazar df3858f473 systemd: add patch to avoid spurious stalling during reboots
This modifies the behavior of the sd-resolve libsystemd component to prevent
the system from freezing whenever a service that uses said component is
stopped. Even though this doesn't free the terminated thread's resources
properly, this procedure only gets executed during the final moments of a
service's process before it exits, so resource leaks aren't an issue.

https://jira.digi.com/browse/DEL-6523

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-03-28 18:08:19 +01:00
Hector Palacios 42d28c76cb dey-examples: remove old examples now superseeded by digiapix
This commit removes the following examples that were accessing
hardware interfaces:
 - dey-examples-adc
 - dey-examples-can
 - dey-examples-gpio-sysfs
 - dey-examples-spidev
 - dey-examples-watchdog

The recipe 'dey-examples-digiapix' builds similar examples that make
use of Digi's APIX for accessing the hardware. Add this recipe to images
 - dey-image-qt
 - core-image-base

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

https://jira.digi.com/browse/DEL-5169
2019-03-27 10:58:40 +01:00
Gabriel Valcazar 12e603021c init-ifupdown: add virtwlans script to pre-up and post-down hook directories
This way, the wlan1 interface will only be created whenever a user wants to
bring the interface up with ifupdown. Modify the script to be able to delete
the interface whenever it gets brought down and remove its .sh file extension
so run-parts can run it properly during the ifup process.

https://jira.digi.com/browse/DEL-6353

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-03-22 09:46:51 +01:00
Gabriel Valcazar 26df169ea2 init-ifupdown: don't bring wlan1 up automatically
Tests have shown that having this interface up hinders wlan0's performance,
so don't bring it up by default.

https://jira.digi.com/browse/DEL-6353

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-03-22 09:46:51 +01:00
Arturo Buzarra 626d594952 bridgeifupdown: fix bridge initialization timing issue with wireless interface
This script introduces a minor delay when the own script
launch the wpa_supplicant daemon, however this minor delay
is needed in the boot process when the wireless interface
is loaded, if not the bridge mechanism throws an unexpected
error trying to add the interface to the bridge before the
wireless is ready to use.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-03-18 18:41:54 +01:00
Gabriel Valcazar 6e282ec51b bluez: rework bluetooth and bluetooth-init services
Soften the dependencies between the services and start the bluetooth stack
regardless of the existence of a bluetooth chip. Also, update the standby
script to reflect that there is no longer a strong dependency between the
services.

https://jira.digi.com/browse/DEL-6452

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-03-14 17:27:00 +01:00
Gabriel Valcazar 1ddd7e57ee systemd: add upstream patch to expand the list of rules.d directories
Unlike eudev, which is used on images without systemd, the list of paths
systemd-udev uses to look for rules is very limited. Include an upstream patch
(commit 116b91e8ccfee1d44fc2b140d831d688e3747902 in the systemd repo) that
expands said list.

This fixes an issue with crda's regulatory domain rule file, which was being
excluded due to it being in a path systemd-udev was ignoring (/usr/lib/udev).
Because of this, the regulatory domain was never set properly and hostapd was
failing when configured to use 5GHz channels (which is the default config).

https://jira.digi.com/browse/DEL-6504

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-03-14 13:34:16 +01:00
Gabriel Valcazar ae2abd926a init-ifupdown: add systemd support
To avoid bringing up interfaces before they're created by udev scripts
(specifically wlan1), wait until udev settles before starting the service.

https://jira.digi.com/browse/DEL-6504

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-03-14 13:34:16 +01:00
Gabriel Valcazar b957f0ef75 hostapd: add systemd support
When using systemd, putting the wlan1 interface up wasn't working because it
was relying on initscripts that are no longer in the filesystem.

Add a parametrized version of the upstream hostapd service to be able to use a
configuration that's different from the default one. Also, modify the
generation of the wlan1 entry in /etc/network/interfaces to be able to use
different post-up/pre-down hooks depending on the init manager that's being
used.

https://jira.digi.com/browse/DEL-6504

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-03-14 13:34:07 +01:00
Arturo Buzarra bccb5890b8 busybox: generalize bbappend to support different revisions
Latest update to version 1.29.3 in upstream breaks the compatibility
of our bbappend, to avoid it in future updates, this commit
generalizes the bbappend to apply all the 1.29 series.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-02-26 16:47:06 +01:00
Gabriel Valcazar 803dde16b0 busybox: add suspend-actions script for the ccimx8x and ccimx6ul
This script behaves the same way as our custom standby script, with a few
modifications, for example:

 * instead of using initscripts to stop/start daemons, it uses systemctl calls
 * save variables that are needed when resuming in /tmp, because the script is
executed twice instead of once (when suspending and when resuming)
 * remove the locking/unlocking of the critical section and the actual state
change, since that is handled by systemd-suspend now

Also, add a different standby script for when systemd is enabled. Said script
acts as a wrapper for systemd's suspend mechanism.

https://jira.digi.com/browse/DEL-6415

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-02-18 18:01:57 +01:00
Gabriel Valcazar dbd68f87d5 systemd: remove NXP patches
These patches don't apply on the latest version of systemd used in Yocto 2.6.

https://jira.digi.com/browse/DEL-6415

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-02-18 18:01:57 +01:00
Gabriel Valcazar 670491e287 systemd: remove patch that makes systemd-logind ignore KEY_POWER events
Without systemd, our KEY_POWER events were handled by the ACPI daemon, which in
turn issued a "poweroff" command. With systemd, the ACPI daemon is no longer
available and the events are handled by systemd-logind instead, which also
powers down the system properly. However, NXP added a patch that prevents
system-logind from handling the events, since they use the sc_powerkey instead.

Remove this patch to be able to power the target off via our power button.

https://jira.digi.com/browse/DEL-6415

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-02-18 18:01:57 +01:00
Gabriel Valcazar 2c544a2241 meta-digi: remove initscript package dependencies when systemd is enabled
Otherwise, there will be errors due to missing dependencies.

https://jira.digi.com/browse/DEL-6415

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-02-18 18:01:57 +01:00
Gabriel Valcazar c1c8a9a7c7 systemd: add missing systemd recipes
These have been ported directly from NXP's meta-fsl-bsp-release layer.

https://jira.digi.com/browse/DEL-6415

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-02-18 18:01:57 +01:00
Arturo Buzarra ff34c08568 busybox: include reboot config by default in defconfig file
Since poky commit b6fbb3f3d4d6367b0fd7921078f67057551c7ede
reboot config was moved to init.cfg to provide this configuration
when busybox is selected as the init manager, however it is needed
for initramfs images where no init manager is set (see poky commit
ef4a417ab04779bd9fc8a6540a20cca7d14e98cf).

https://jira.digi.com/browse/DEL-6451

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-02-15 14:54:43 +01:00
Arturo Buzarra 50e3b6db34 packagegroup-dey-core: use VIRTUAL-RUNTIME providers for base-utils package
This change allows overriding the base-utils used in the distribution.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-02-15 10:57:38 +01:00
Arturo Buzarra 469d852e93 meta-digi-dey: fix busybox-syslog RRECOMENDS dependency
Since commit 4b41d9072a304fadbe1cc37c94575f12a2a47fd3 in poky
busybox removes the RRECOMENDS dependency with busybox-syslog,
then we need to explicitly add this dependency in the recipes.

https://jira.digi.com/browse/DEL-6443

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-02-15 10:56:46 +01:00
Arturo Buzarra fbc91bf4b7 thud migration: busybox: refresh defconfig file for version 1.29.2
The defconfig file has been refreshed for the current busybox
version 1.29.2 maintaining the same applets enabled.

https://jira.digi.com/browse/DEL-6412

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-02-04 14:59:46 +01:00
Arturo Buzarra 4bbe69665f thud migration: busybox: update to version 1.29.2
https://jira.digi.com/browse/DEL-6412

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-02-04 14:59:46 +01:00
Gabriel Valcazar c681701c27 busybox: remove busybox-static-nodes initscript
This script was added a long time ago and it never gets used anymore, so remove
it from our images.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2019-02-04 14:59:46 +01:00
Jose Diaz de Grenu 6153f91120 trusfence-initramfs: exclude cc8x
Trustfence is not supported in the CC8X at the moment. This cleans the
following warning:

WARNING: meta-digi/meta-digi-dey/recipes-core/trustfence/trustfence-initramfs.bb: Unable to get checksum for trustfence-initramfs SRC_URI entry trustfence-initramfs-init: file could not be found

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
(cherry picked from commit 778fc424274fc0983c348f4da6ca09e1a7b5b859)
2019-02-04 12:18:11 +01:00
Arturo Buzarra c20f0c0fa3 Revert "ccimx8x: standby: use suspend to idle instead of suspend to RAM"
Suspend to ram issue was fixed on new SOMs, then we revert it.
This reverts commit 52ebcd9f48.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-01-29 10:59:00 +01:00
Arturo Buzarra 773f6565e2 busybox: refresh defconfig file for version 1.27
The defconfig file has been refreshed for the current busybox
version 1.27.x maintaining the same applets enabled.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-01-22 14:06:44 +01:00
Arturo Buzarra 303106cce1 sumo migration: use pkg_postinst_ontarget() to delayed operation on first boot
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-01-16 11:31:00 +01:00
Arturo Buzarra 9f972aa749 sumo migration: busybox: update to version 1.27.2
Removed patch files because it was integrated in the source code.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-01-11 13:26:44 +01:00
Arturo Buzarra 5eb88b8c5d sumo migration: meta-digi: replace the deprecated base_conditional function
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2019-01-11 13:26:44 +01:00
Arturo Buzarra 1497101245 busybox: adapt acpid.map file for ConnectCore 8X platforms
https://jira.digi.com/browse/DEL-6128

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2018-10-17 14:23:48 +02:00
Gabriel Valcazar 5e386a4d21 Revert "ccimx8x: add imx-gpu-viv demos and tools"
These packages create dependency issues when compiling framebuffer images, and
they aren't essential. Include them only in ccimx6 images.

This reverts commit 2edb127d28.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-09-07 17:44:11 +02:00
Gonzalo Ruiz d065f53ac4 trustfence-tool: update recipe to v2.2
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2018-09-05 15:05:39 +02:00
Gabriel Valcazar 52ebcd9f48 ccimx8x: standby: use suspend to idle instead of suspend to RAM
Currently, it isn't possible to wake up the ccimx8x after suspending to RAM.
For now, use the less strict "freeze" low power mode instead.

https://jira.digi.com/browse/DEL-6148

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-08-31 10:43:27 +02:00
Gabriel Valcazar 2edb127d28 ccimx8x: add imx-gpu-viv demos and tools
https://jira.digi.com/browse/DEL-6078

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-08-14 13:11:25 +02:00
Gabriel Valcazar 5fda306e36 ccimx8x: add xwayland support
Also add gtk3+ and clutter demos that depend on wayland since they are also
included in NXP's images.

https://jira.digi.com/browse/DEL-6104

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-08-14 13:11:25 +02:00
Arturo Buzarra 5e09bc2f58 dey-image-recovery-initramfs: added filesystem utilities to ccimx8x platform
The e2fsprogs-mke2fs utilities are required for the recovery initramfs scripts.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2018-07-30 09:43:14 +02:00
Gabriel Valcazar f321da6a2c trustfence-tool: modify source name to include target CPU architecture
We now have different tarballs for each CPU architecture we compile for. Also,
add support for the aarch64 tarball.

https://jira.digi.com/browse/DEL-6046

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2018-07-06 13:46:23 +02:00
Hector Palacios 04f048fb07 init-ifupdown: add support for ccimx8x platform
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2018-06-19 10:56:05 +02:00
Hector Palacios dc51962fb0 init-ifupdown: generalize do_install and files
This commit:
- moves the files in platform folders 'ccimx6qsbc' and 'ccimx6ul' to the
  recipe's folder (they are the same).
- moves the install instructions for virtual wlan and wlan1 into functions
  that can be reused by both platforms.
- moves the bridge example install instruction to the generic do_install()
  since it's the same for all.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2018-06-19 10:56:05 +02:00
Hector Palacios f2388f1cb7 busybox: add 'standby' script support for ccimx8x platform
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2018-06-19 10:56:05 +02:00
Hector Palacios c48e9cace7 readline: allow the use of Begin/End/Del/Insert and Ctrl+arrows
With the switch to using Bash as command line interpreter, the default
/etc/inputrc configuration file for readline doesn't allow the use of
some keys which are common.
This commit enables them to not change the user experience with previous
DEY versions.

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

https://jira.digi.com/browse/DEL-5623
2018-02-16 12:25:52 +01:00
Arturo Buzarra 81c0f027f8 standby: rename suspend script to standby
The suspend script has conflicts with the suspend from bash, then
we decided to rename our custom suspend script to standby and create
a symlink called suspend to maintain backward compatibility.

https://jira.digi.com/browse/DEL-5622

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2018-02-02 17:29:25 +01:00
Arturo Buzarra 6a5b4cadf8 busybox: In defconfig enable CHVT command
Sync defconfig to enable command 'chvt' because the xserver-nodm
init script requires this command in the stop process to swicth
the foreground virtual terminal after stopping the xserver.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2018-01-29 17:33:46 +01:00
Arturo Buzarra 92448d2ea7 busybox: In defconfig enable ASH_CMDCMD for built-in 'command'
Sync defconfig to enable command 'command' because /etc/profile
of base-files requires this command to be available. If it is not
available the following message is output during login on a image
using busybox.

        -sh: command: not found

(From OE-Core rev: e41c90b852167bbcb434da57b84280e855acae33)

https://jira.digi.com/browse/DEL-5632

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2018-01-25 13:38:25 +01:00
Isaac Hermida b9449aa4d6 dey-image-qt: remove eudev-hwdb
This saves ~4MB of space and is not required for device detection.

https://jira.digi.com/browse/DEL-5613

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2018-01-24 17:42:21 +01:00
Jose Diaz de Grenu 7852b69a3c base-files: move script into postinst function
https://jira.digi.com/browse/DEL-5518

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
2018-01-12 15:59:20 +01:00
Jose Diaz de Grenu 7416361505 rocko migration: remove rng-tools
This tool was only needed for old kernels, newer kernels use the hardware
random number generator themselves.

https://jira.digi.com/browse/DEL-5518

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
2018-01-12 15:59:12 +01:00
Jose Diaz de Grenu a63b12a8cd rocko migration: remove ROOTFS_PKGMANAGE_BOOTSTRAP
This variable and all its references were removed in Yocto 2.4

https://jira.digi.com/browse/DEL-5518

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
2018-01-12 15:59:10 +01:00
Jose Diaz de Grenu 5be855c96a rocko migration: remove image_types_uboot uses
This class no longer exists, it has been merged with images_types.

https://jira.digi.com/browse/DEL-5518

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
2018-01-04 18:42:00 +01:00
Arturo Buzarra 2a175fd546 suspend: manage NetworkManager service on suspend/resume
NetworkManager was experiencing an unexpected behavior managing
the network interfaces on a supend/resume process, then to avoid
this undesired behavior the suspend script will stop and restart
the NetworkManager service.

https://jira.digi.com/browse/DEL-5351

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2017-12-05 11:55:29 +01:00
Arturo Buzarra ffb0e6954b Revert "suspend: set wireless interfaces managed by NM as unmanaged before suspend"
NetworkManager will be restarted on the suspend script so this workaround is not needed

This reverts commit b3ae030fce.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2017-12-05 11:55:21 +01:00
Sebastian Pastor b3ae030fce suspend: set wireless interfaces managed by NM as unmanaged before suspend
With these changes we tell NM to not manage the wireless interfaces before
unloading the wireless module. This was causing some unexpected behavior that
crashed NetworkManager.

Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
https://jira.digi.com/browse/DEL-5351
https://jira.digi.com/browse/DEL-4571
2017-11-29 12:06:02 +01:00
Arturo Buzarra d76db197e1 initramfs: launch rngd depending on kernel version
Use the kernel version to decide to launch the rngd tool
for kernels previous to v3.17

https://jira.digi.com/browse/DEL-5362
https://jira.digi.com/browse/DEL-5363

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2017-11-28 09:24:34 +01:00
Isaac Hermida 2d0af46bee init-ifupdown: virtwlans: specify type of wlan1
virtwlans script creates an additional interface on startup for QCA6564 chip.
The created interface purpose is for ap mode, so specify its type on creation.

https://jira.digi.com/browse/DEL-5290

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2017-11-15 08:48:26 +01:00
Mike Engel 74c10edc2b meta-digi: Add Eclipse debug support
Signed-off-by: Mike Engel <Mike.Engel@digi.com>

https://jira.digi.com/browse/DEL-5327
2017-11-13 11:10:03 +01:00
Arturo Buzarra 8c14ae877f meta-digi recipes: adjust machine overrides for new platform
This commit modifies different recipes to support the new platform
ccimx6qpsbc and adapt it to maintain the support to ccimx6sbc.

https://jira.digi.com/browse/DEL-5082

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2017-10-18 09:20:11 +02:00
Arturo Buzarra f1b47c1111 busybox: add support for ccimx6qpsbc platform
https://jira.digi.com/browse/DEL-5082

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2017-10-18 09:20:11 +02:00
Arturo Buzarra 553337afc3 init-ifupdown: add support for ccimx6qpsbc platform
https://jira.digi.com/browse/DEL-5082

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2017-10-18 09:20:11 +02:00
Tatiana Leon 1f7920f7de meta-digi-dey: add libdigiapix package
This is the Digi APIX library.

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-09-06 11:01:26 +02:00
Jose Diaz de Grenu 270f890494 recovery-initramfs-init: remove parted dependency
Turns out that the busybox' fdisk applet is also able to parse the GPT
partition tables. This saves around 0.5 MiB of space.

https://jira.digi.com/browse/DEL-4565

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
2017-08-29 18:15:43 +02:00
Jose Diaz de Grenu e6beba4cb0 init-ifupdown: use wlan1 for the bridging example
wlan1 is the interface used for SoftAP, so use that one instead. This also
matches with the 'Network bridging' chapter of the documentation.

https://jira.digi.com/browse/DEL-4823

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
2017-08-29 18:12:33 +02:00
Jose Diaz de Grenu d7c8fa4b9a init-ifupdown: fix interfaces order
The bridge example uses the wireless interface and it assumes that it is
initialized, so it must be placed after it.

https://jira.digi.com/browse/DEL-4823

Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
2017-08-29 18:12:33 +02:00
Arturo Buzarra 9c5774ed62 bridgeifupdown: fix script to create a bridge with a wireless interface
The supplicant support for a bridge was not being managed,
then the bridge was failing when the softap was configured
with an encryption. With this change we launch a supplicant
instance with the bridge support after checking that the
/etc/network/interfaces contains the required parameters.

https://jira.digi.com/browse/DEL-4454

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2017-08-07 12:13:44 +02:00
Javier Viguera b421fb7995 qualcomm: generalize log function to pass the log level
We need to pass different log levels depending on the message, so they
appear in the console, so generalize the 'log' function.

https://jira.digi.com/browse/DEL-4682

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-07-27 14:05:29 +02:00
Javier Viguera 2a7bc3717e busybox: disable 'init' for IPK package type support
Busybox's init enabled at build time collide with 'sysvinit' package.
This does not seem a problem when using RPM package manager, but using
IPK instead, the build is broken at image creation time:

Collected errors:
 * check_data_file_clashes: Package sysvinit wants to install file <...>/rcS
        But that file is already provided by package  * busybox

https://jira.digi.com/browse/DEL-4573

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-07-27 12:01:42 +02:00
Javier Viguera f83b5fcbe7 busybox: refresh defconfig file for version 1.24
No applet has been enabled or disabled, just the defconfig file has been
refreshed for the current busybox version 1.24.x

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-07-27 12:01:42 +02:00
Javier Viguera ae6aa1ee25 meta-digi-dey: cosmetic, add missing newlines at end of file
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-07-25 18:25:34 +02:00
Javier Viguera 9903deaef8 core-image-base: do not install udev-cache
As we are using kernel's DEVTMPFS, using udev-cache on top of it does
not add much advantage. Disabling it has the extra advantage of avoiding
writing the udev-cache tarball under '/etc' (which probably won't work
on a read-only system).

https://jira.digi.com/browse/DEL-3780

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-07-19 19:20:58 +02:00
Javier Viguera f94e039cc8 suspend: check module variant before bringing down/up BT interface
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-07-07 17:02:45 +02:00
Javier Viguera eb76b2ac68 suspend: adapt script for NetworkManager integration
Now the suspend script brings down all the wireless interfaces that are
managed by ifupdown command (in the '/etc/network/interfaces' file) and
then unloads the wireless driver.

On resume the script triggers an event so udev reloads the wireless
driver and then brings up the interfaces that were brought down on
suspend.

https://jira.digi.com/browse/DEL-4288

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-07-07 17:02:45 +02:00
Mike Engel baddd28fc8 packagegroup-dey-core: add networkmanager package
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2017-07-07 17:02:45 +02:00
Mike Engel 308d9c02ce init-ifupdown: remove interfaces managed by Networkmanager
This commit removes the interfaces that are managed by Networkmanager
from the /etc/network/interfaces entry.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2017-07-07 17:02:45 +02:00
Tatiana Leon f898cc19fb meta-digi-dey: add awsiotsdk-c package
This is the AWS IoT device SDK for embedded C library.

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-07-05 13:43:28 +02:00
Sebastian Pastor 56b8cb8dd0 trustfence-tool: update recipe to v2.1
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
2017-07-05 13:43:28 +02:00
Sebastian Pastor 2a6c4d6e04 trustfence-tool: update recipe to v2.1
Signed-off-by: Sebastian Pastor <sebastian.pastor@digi.com>
2017-07-05 13:43:28 +02:00
Isaac Hermida 4618c76208 recovery-initramfs: execute all post installation scripts
In the recovery images we are using a custom init so we are not executing
any post-installation that is required for a correct rootfs setup, so call
all the post installation scripts from our custom init.
The package installation could be ipk, rpm or deb, so call to the
*postint folder.
Given that the recovery rootfs is a ramdisk, there is no need to remove the
post installation scripts.

https://jira.digi.com/browse/DEL-4430

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2017-07-05 13:43:28 +02:00
Javier Viguera 91698844c0 dey-image-aws: new image including Amazon Web Services
https://jira.digi.com/browse/DEL-4304

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-06-15 18:31:13 +02:00
Javier Viguera 5d955b86af init-ifupdown: fix script when '/etc/resolv.conf' is a file
The readlink command on a real file was expanding to nothing and then
the '/etc/resolv.conf' file was not being updated with the nameservers.
With this change we only run the 'readlink' link command after checking
that the file is actually a symbolic link.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-06-02 18:32:36 +02:00
Javier Viguera d3baa9b2b1 base-files: add sysctl.conf to the list of config files
So it's not overwritten by package managers by default.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-06-02 18:32:36 +02:00
Javier Viguera bc8ac0507d init-ifupdown: disable wlan interfaces on non-wireless variants
Added a post-installation script to disable the wireless interfaces on
module variants without wireless support.

This fixes following messages on boot:

wlan: driver load failure
modprobe: can't load module wlan (extra/wlan.ko): No such device
...

https://jira.digi.com/browse/DEL-3781

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-04-21 16:53:32 +02:00
Javier Viguera a7105c70d0 init-ifupdown: remove wrong sed command
This 'sed' command was used in the past, when DHCP or MANUAL was
configured in the '/etc/network/interfaces' (for cellular). This is no
longer true as we always configure the interface with a custom (manual)
script.

This was breaking the rest of interfaces when configured to use 'dhcp':

iface eth0 inet manual
       umanualc_opts -S -b >/dev/null &

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-04-20 13:56:52 +02:00
Tatiana Leon b7facb3ff5 recovery init: log messages to the stderr instead of to stdout
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-04-11 14:30:17 +02:00
Tatiana Leon 15214a198e recovery init: check the update package before setting a key and/or formatting
The recovery init checks if the configured update package exists and it is valid
before setting a new key and/or formatting the rootfs partition.

This change avoids getting non-booting devices after performing a firmware
update with a non-existing or invalid update package.

https://jira.digi.com/browse/DEL-3959

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-04-11 14:30:17 +02:00
David Escalona 5a2b538bcd bluetooth-init: force hardware-init script to be executed first
- The Bluetooth daemon was always executed before setting up the
  hardware, generating several problems specifically in the CCIMX6SBC.
  This was causing the Bluetooth driver to override the Bluetooth name
  and alias, as well as avoiding any host function on Bluetooth profiles.
  Only pairing and ping was working, as well as client profile sides.
- This change also fixes some issues in the CCIMX6UL platforms with the
  Bluetooth daemon failing to perform several bluetoothctl operations.

https://jira.digi.com/browse/DEL-4000
https://jira.digi.com/browse/DEL-4015

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-30 18:02:13 +02:00
Tatiana Leon f9194019b6 recovery init: detach 'update' MTD device from UBI if volume is not found
If the volume is not found, the partition cannot be wiped since it is attached.

Remove 'update' UBI device in:
 * mdev automount script if volume is not found
 * recovery init script before formatting 'update' partition

https://jira.digi.com/browse/DEL-3962

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-22 15:03:24 +01:00
Mike Engel 3bb5312662 meta-digi-dey: Add mdev support into recovery ramdisk.
This commit adds mdev support into the recovery ramdisk to
mount/unmount storage devices for the firmware up tool.

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

https://jira.digi.com/browse/DEL-3692
2017-03-20 17:08:55 +01:00
Tatiana Leon b0171be93a busybox: disable '-n' udhcpc option from ifupdown
udhcpc's '-n' option means 'Exit if lease is not obtained'.

We want to keep udhcp client alive if lease is not obtained, so when it is
possible, an IP is assigned.

https://jira.digi.com/browse/DEL-3821

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-20 14:47:21 +01:00
Tatiana Leon 113deb8046 meta-digi-arm: launch udhcp client in background to reduce the boot time
udhcpc options added to 'network/interfaces':
 * '-S' to log to syslog too.
 * Redirect the output to '/dev/null' not to show messages of the tool running
   in background (for example when executing 'ifup').
 * '&' to send the udhcp client to background.

https://jira.digi.com/browse/DEL-3821

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-20 14:47:21 +01:00
Javier Viguera 3877b2a59f suspend: bring bluetooth interface down and up on suspend
https://jira.digi.com/browse/DEL-3858

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-03-15 19:01:06 +01:00
David Escalona e3ce215f67 recovery-initramfs: do not generate TrustFence keys in this recipe
- Instead of trying to generate the TrustFence keys in this recipe
  when they are not present, depend on the 'virtual/kernel' to
  ensure they are already generated. This solves a concurrency problem
  when two recipes try to generate TrustFence keys at the same time.

https://jira.digi.com/browse/DEL-3913

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-15 12:02:17 +01:00
Tatiana Leon f510a438df trustfence-initramfs: do not boot non-encrypted rootfs if encryption is enabled
Allowing to boot a non-encrypted rootfs when encryption is enable is a security
hole: if an attacker can somehow write (offline) to the media, he could flash a
custom unencrypted rootfs and break into the system.

If the system is configured to use encryption, only encrypted rootfs will boot.
Trying to boot a non-encrypted rootfs will fail and power off the device.

https://jira.digi.com/browse/DEL-3829

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 19:19:33 +01:00
Tatiana Leon d441f8401e trustfence-initramfs: remove support for encrypted rootfs installation
The recovery ramdisk already contains functionality for encrypted rootfs
installation. The goal is to centralize all this functionality in the recovery
ramdisk.

https://jira.digi.com/browse/DEL-3829

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 19:19:33 +01:00
Tatiana Leon c4bd0534e2 recovery-utils: add support to set the rootfs encryption key
Internal recovery-utils.git SHA1: 283f6e0768c0

https://jira.digi.com/browse/DEL-3857

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 18:01:02 +01:00
Tatiana Leon d7da8794f1 recovery init: add rngd to increase the quantity of entropy
Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Tatiana Leon 00d30ee9a0 recovery init: cc6ul: set rootfs enc flag when setting a new key
For CC6UL, when setting a new key, an "enc" flag must be added to the rootfs in
the "mtdparts" U-Boot variable.

After that a reboot is needed, so the recovery command must be modified to
remove the encryption key and proceed with the rest of commands in the next
boot.

When updating the firmware, a format of the rootfs partition is always
performed, independently if a new encryption key has just been configured.

In case only the encryption key is being configured, we also need to reboot to
format the rootfs properly.

https://jira.digi.com/browse/DEL-3685

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Tatiana Leon 96d7211a71 recovery init: format rootfs partition (block devices) when setting a new key
https://jira.digi.com/browse/DEL-3277

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Tatiana Leon 4085bc8904 recovery init: allow several operations at once (update, key, wipe)
Allow to perform several recovery operations at the same time and set the right
order for them:
 1. New encrypted key
 2. Firmware update
 3. Wipe update partition

https://jira.digi.com/browse/DEL-3277
https://jira.digi.com/browse/DEL-3685

Signed-off-by: Tatiana Leon <tatiana.leon@digi.com>
2017-03-14 17:39:09 +01:00
Mike Engel b180a3e0b1 meta-digi-dey: Added check if wlan1 interface already exist.
This commit verifies that the wlan1 interface is not already created
and will skip creating the virtual interface if it already exist.

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

https://jira.digi.com/browse/DEL-3917
2017-03-14 13:20:10 +01:00
Mike Engel aa0c2fb886 ccimx6ul: Changed concurrent mode setup script.
This commit changes the concurrent mode script to enable always the
AP interface through the wireless device but will warn the use
if the virtual MAC addresses used are the default once.

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

https://jira.digi.com/browse/DEL-3900
2017-03-10 09:44:25 +01:00
Gabriel Valcazar 42ac6ea6c2 busybox: remove libdigi dependency
The flash_eraseall busybox utility is not used in the ccimx6 and ccimx6ul
platforms. Its corresponding patch (and the library it depends on) can be
removed from the busybox recipe.

https://jira.digi.com/browse/DEL-1320

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2017-03-07 17:32:34 +01:00
Mike Engel 19563821d2 ccim6ul_sbc: Add wireless concurrent as default setup
This commit adds the wireless concurrent mode as a default
configuration to the CC6UL machine.

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

https://jira.digi.com/browse/DEL-3818
2017-03-07 17:20:12 +01:00
David Escalona 68430b1297 swupdate: execute swupdate with verification within trustfence images
- While trying to update the system using signed swupdate packages, the
  swupdate binary requires a new parameter (-k) to specify the location
  of the public key that will be used to verify the update package. At
  the moment there is no way to check if a package is signed or not, so
  we asume that the existence of the public key in the recovery initramfs
  is enough to determine that we want to update the system using signed
  packages.

https://jira.digi.com/browse/DEL-3775

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
David Escalona 6362b99205 swupdate: add public key to the recovery initramfs
- The swupdate binary included in the recovery partition when the
  images to build are trustfence enabled performs a verification
  of the swupdate package. For this verification to suceed, it is
  mandatory to provide to the swupdate binary the public key that
  will be used to verify the swupdate package. This public key must be
  included in the recovery initramfs only when 'TRUSTFENCE_SIGN=1'.

https://jira.digi.com/browse/DEL-3772

Signed-off-by: David Escalona <david.escalona@digi.com>
2017-03-07 17:04:21 +01:00
Javier Viguera 16815b1b80 dey-image-recovery-initramfs: force image type to 'cpio'
This recipe is expected to create just an initramfs image, so force the
image FSTYPE with a python anonymous function, so there is no way to
change/append/override it from any other configuration file.

This prevents build failures due to circular dependences if for example
you add:

IMAGE_FSTYPES_append = " recovery.vfat"

to your project's local.conf.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-03-01 16:56:53 +01:00
Javier Viguera 187ee9bdcd morty migration: packagegroups: remove explicit LICENSE variable
The LICENSE is added through the packagegroup bbclass and the checksums
were outdated making the build fail with:

The LIC_FILES_CHKSUM does not match for poky/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58

https://jira.digi.com/browse/DEL-3451

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2017-02-28 11:46:57 +01:00