Commit Graph

3374 Commits

Author SHA1 Message Date
Gonzalo Ruiz 1166981fa1 u-boot-dey: add install_linux_fw_uuu.sh for ccimx6/ccimx6qp
Add initially as a copy of the script used on the ccimx8x platform.

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-09-29 18:52:29 +02:00
Gonzalo Ruiz 2e375b2e3f u-boot-dey: [cosmetic] change permissions for install_linux_fw_uuu.sh
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-09-29 18:52:29 +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 fa3028a17e uboot: install sd/usb: convert double condition in a simpler single condition
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-29 13:44:50 +02:00
Hector Palacios f3ae964d10 uboot: cc6ul: force erase of partitions before update on install scripts
Install scripts may rework the partition table basing on the value of
env variables. Information of UBI volumes may remain on the NAND that
could later not correspond to the new partition table.
Make sure the MTD partitions are erased prior to updating:
- For Multi-MTD, append '-e' option to the update command.
- For Single-MTD, erase the system partition.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-29 13:44:50 +02:00
Hector Palacios f647e6d442 uboot: add dualboot support to fw install script from SD/USB
Signed-off-by: Hector Palacios <hector.palacios@digi.com>

https://onedigi.atlassian.net/browse/DEL-7649
2021-09-24 09:42:59 +02:00
Hector Palacios dae2b5000a uboot: add dualboot support to uuu firmware install script
Check the status of 'dualboot' env variable.
If set to "yes", use the dualboot partition table in the script and
restore the variable (default is "no") after resetting the environment.
Also, for dualboot, there's no need to wipe the recovery partition or
boot into recovery mode.

For dualboot, this script programs both systems A and B with the same
images.

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

https://onedigi.atlassian.net/browse/DEL-7649
2021-09-24 09:42:50 +02:00
Hector Palacios 85d55a70a2 uboot: use ssh protocol when using Digi internal MTK remote
Commit c33fc8a7fe wrongly used
https protocol when using MTK remote when it should have been
ssh.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-16 12:53:09 +02:00
Gonzalo Ruiz 4502004cd7 conf: machine: add flexSPI overlay to CC8X/CC8M
https://onedigi.atlassian.net/browse/DEL-7584

Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
2021-09-15 15:58:12 +02:00
Gabriel Valcazar 42cab22b95 ccimx6: add "pam" to DISTRO_FEATURES
This is necessary for images that have SELinux enabled. Aside from changing
some package configurations and including an additional library in the rootfs,
this change has no apparent effects on the core functionality of the system.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-15 10:19:14 +02:00
Gabriel Valcazar 1e19618157 linux-dey: add config fragment to enable SELinux configuration options
These options should only be enabled when using SELinux, so apply them only
when "selinux" is in the DISTRO_FEATURES. The fragment is a copy of the one in
meta-selinux with the addition of DEFAULT_SECURITY_DAC and LSM.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-15 10:16:28 +02:00
Gabriel Valcazar 32a39c7910 linux-dey: add support for configuration fragments
This allows users to apply small changes to our kernel configuration without
having to create a completely new defconfig. Use a simplified version of the
kernel-yocto.bbclass implementation.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-15 10:16:28 +02:00
Gabriel Valcazar abba0948a9 refpolicy: adapt reference policy to DEY prebuilt image features
The default policy provided by meta-selinux breaks a lot of the features in
DEY, so adapt it to make most features work. Note that this is simply an
example, end users should create their own policies for their own needs.

Make these changes toggleable so that users can use the reference policy
instead.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-15 10:16:28 +02:00
Gabriel Valcazar a7b8288511 images: include packagegroup-core-selinux if "selinux" is in DISTRO_FEATURES
This packagegroup includes all of the userspace packages needed to use SELinux.
For now, use the same variant of the packagegroup, which contains all available
packages.

Since the meta-selinux layer isn't available in all platforms, implement this
change via a dynamic layer.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-15 10:16:28 +02:00
Gabriel Valcazar 3bccb2a6dd bblayers.conf.sample: add meta-selinux layer to all supported platforms
This layer has no effect unless "selinux" is in the DISTRO_FEATURES, so it's
safe to add it to our default builds.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-15 10:16:28 +02:00
Gabriel Valcazar 4876bc07b6 openssl: update to v1.1.1l
This fixes the following CVEs:

    * CVE-2021-3711
    * CVE-2021-3712

Port the recipe and patches from the dunfell poky branch, since the hardknott
version contains additional changes aside from the revision update.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-13 16:53:57 +02:00
Gabriel Valcazar 96f54105d3 ccimx6/6ul: add "firmware-imx-regulatory" package
This package includes a script that is executed by a udev rule that we
currently include in our sysvinit images. Without it, the regulatory firmware
mechanism is broken and an error appears when booting the system.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-13 16:42:35 +02:00
Gabriel Valcazar c26d78d7a1 firmware-imx: install firmware loading scripts regardless of the init manager
When we added the SDMA fw systemd service, we accidentally made it so that all
scripts were installed only when using systemd. These files are still needed
when using sysvinit, so correct this change.

While at it, include the SDMA fw service in firmware-imx-sdma's FILES.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-13 16:42:22 +02:00
Gabriel Valcazar 8cb6075524 openssl: update to v1.1.1l
This fixes the following CVEs:

    * CVE-2021-3711
    * CVE-2021-3712

Port the recipe and patches from the dunfell poky branch, since the hardknott
version contains additional changes aside from the revision update.

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

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-13 16:33:09 +02:00
Hector Palacios 05d21a1310 u-boot: boot.txt: move dualboot checks to the top
When DualBoot mechanism is enabled and an update is pending,
the boot script needs to change certain variables and save the
environment.
The regular boot script already changes a number of variables,
such as 'extra_bootargs' and 'overlays' by appending strings to
the already existing values. Saving the envionment may make these
grow endlessly with each iteration of the boot script.

For this reason, move the DualBoot check as the first thing in
the script, save the environment if needed, and then continue
with the normal flow, that changes variables before booting
but doesn't save them.

On certain scripts, this allows us to get rid of some instructions
for resetting the overlays variable.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios 27c13055eb uboot: ccimx6ul: decide on using UBI vols basing on ubisysvols
The script required the passing of option '-b' for setting up the
target to use a single MTD partition and multiple UBI volumes.
If a target however already has the variable 'ubisysvols' set to
'yes' but this parameter is forgotten when calling the script, the
partition layout would change to default (several MTD partitions).

Remove the recently added '-b' option and make the script decide
basing on the current value of 'ubisysvols' variable.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +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 13df57c1fc ccimx6ul: add support for ubisysvols on SD/USB install scripts
The script preserves the current value of env variable 'ubisysvols'
so that the new partition script generates the appropriate partition
table before proceeding with the update operations.
If using a UBI volumes layout, the script will not erase the 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 e380377310 uboot: exit on error on uuu install script
Exit on error to prevent continuation of programming when
there was an issue.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios f46851e245 uboot: ccimx6ul: add ubisysvols support to uuu install script
With U-Boot supporting the creation of mtdparts and UBI volumes depending
on the value of variable 'ubisysvols', adapt the install script to make
use of those to generate a partition table and UBI volumes accordingly.
This can be triggered with new option '-b'.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios fcd3791535 ccimx6ul: boot: set 'rootfsvol' variable for dualboot
Set the new variable 'rootfsvol' to rootfs_a or rootfs_b when dualboot is
enabled, to cover the case where the devices uses the 'system' partition
with different UBI volumes.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios f00ce5ca9b u-boot-dey: add support for dualboot to boot scripts
The support for dualboot was integrated on meta-digi-dualboot layer, but it
really depends only on environment variable 'dualboot' so we'd better
integrate the support on the scripts in meta-digi, to avoid synchonization
problems between both layers.
This also allows to be able to easily enable dualboot in U-Boot with the
variable, without needing to update the script on the linux partition.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Hector Palacios 91bfa01a52 udev: automount UBI volumes named "linux" or "recovery"
Traditionally, platforms based on NAND, used one UBI volume
per MTD partition.
Now it's possible to use only one MTD partition containing many
UBI volumes.

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 c33fc8a7fe uboot/linux: fix build from internal MTK Digi git server
Enabling DIGI_INTERNAL_GIT defaults to LOG server. The build from local
MTK Digi server was broken.

Fix uboot and linux recipes declaring different repo paths depending on
whether the local remote is LOG or MTK.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2021-09-09 17:38:44 +02:00
Gabriel Valcazar 50cbe9e6c8 ccimx6/6ul: add "firmware-imx-regulatory" package
This package includes a script that is executed by a udev rule that we
currently include in our sysvinit images. Without it, the regulatory firmware
mechanism is broken and an error appears when booting the system.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-09 09:48:37 +02:00
Gabriel Valcazar e24525af5d firmware-imx: install firmware loading scripts regardless of the init manager
When we added the SDMA fw systemd service, we accidentally made it so that all
scripts were installed only when using systemd. These files are still needed
when using sysvinit, so correct this change.

While at it, include the SDMA fw service in firmware-imx-sdma's FILES.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-09-09 09:48:25 +02: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
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 225e6cafb5 mca-tool: update to v1.25
Includes minor improvements

https://onedigi.atlassian.net/browse/CC6UL-1218

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-08-18 14:11:42 +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
Arturo Buzarra 6462549f04 build.sh: add support to provide cpus number to use
https://onedigi.atlassian.net/browse/DEL-7629

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-08-13 10:53:57 +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 54cb00e120 layer: add new EULA license MD5SUM values
This commit adds new EULA MD5SUM values that are
required due to the update of the eIQ support by
NXP.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-08-11 10:39:59 +02:00
Mike Engel c5b57d3e0c ml-security: update to new version
This commit updates the ML security package to
hardknott-5.10.35-2.0.0 release by NXP.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-08-11 10:39:26 +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 11b1aee7e7 opencv: update to latest NXP eIQ version
This commit updates the eIQ support to the hardknott-5.10.35-2.0.0
release by NXP.

Signed-off-by: Mike Engel <Mike.Engel@digi.com>
2021-08-11 10:39:25 +02:00
Mike Engel e7921dfd93 distro: set GLIBC preferred version to 2.32
This commit sets the GLIBC version to 2.32. The newest
eIQ packages require a newer glibc, but since said packages
are optional, make sure to use the gatesgarth glibc version
by default.

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

https://onedigi.atlassian.net/browse/DEL-7625
2021-08-11 10:37:55 +02:00