Now that both U-Boot and the SCFW can autodetect the RAM configuration, we can
simplify the imx-boot build process to generate two binaries (one per SOC
revision) instead of eight. Build "flash_spl" imx-boot images and use only one
global defconfig for u-boot.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This update includes automatic RAM configuration detection, and only one SCFW
binary is needed for all ccimx8x variants. Adapt the imx-boot recipe
accordingly.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Backport from NXP's lf-6.1.1-1.0.0 release for the ccimx93 (meta-ml
layer).
This version of flatbuffers is needed for ethos-u-vela version 3.6.0
(backported in following commit).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When the swu package is generated it needs the right
extension of the rootfs to be formed.
https://onedigi.atlassian.net/browse/DEL-8558
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
These variables are used to generate .sdcard images, and without them, said
generation will fail.
https://onedigi.atlassian.net/browse/DEL-8540
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Otherwise, the sw-description used for non-dualboot systems will be missing
these values and the software update process will fail.
https://onedigi.atlassian.net/browse/DEL-8513
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Certain platforms share a processor family but need to be differentiated
between them. DEY was using the variable DIGI_FAMILY as the SOM name
rather than the family. It becomes useful to have both (DIGI_SOM as the
more specific, and DIGI_FAMILY as the more generic).
This is the case, for example, of:
- ccmp1 (family)
- ccmp15 (SOM)
- ccmp13 (SOM)
- ccimx8m (family)
- ccimx8mm (SOM)
- ccimx8mn (SOM)
Both variables are used on the machine overrides.
Where DIGI_FAMILY was used, use now DIGI_SOM.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The name of the variable was not very intuitive of what
it contains. This variable expands to the SoC vendor
(NXP or STM).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
By default, our 'cloudconnector' package is installed.
This can be overriden by defining 'CLOUDCONNECTOR_PKG' in the 'local.conf'
with the custom package that includes this application.
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
OPTEE_PKGS variable must have a default (empty) value to prevent bitbake
parsing errors.
This fixes a build failure for MP1 platforms where the variable was
undefined in the commit that added the support.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
NXP platforms that have 'optee' in the MACHINE_FEATURES, will install
optee userspace packages (ccimx8m and ccimx93 at the moment).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
An official fix was added to meta-timesys in commit
ae4f6e9854361d4a6d71b6f8b87130268d990b32, so our workaround is no longer needed
This reverts commit 7a77130550.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Commit 32dd3d59c250f916115b339c29aa4dbfe50a3235 in poky breaks i.MX platform
builds when "vigiles" is inherited. While we wait for a fix in the community,
work around this issue by setting a dummy default value in the MULTIUBI_BUILD
variable.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Instead of changing POKY_DEFAULT_DISTRO_FEATURES, do the distro features
configuration directly in the DISTRO_FEATURES variable. Also, add a couple
of variables (MACHINE_DISTRO_FEATURES_ADD/REMOVE) that allow machines
for extra tweaking the distro features.
While on it, clean up some distro features:
- pulseaudio: already added by DISTRO_FEATURES_BACKFILL
- bluez5, splashscreen, initrd, gplv3: not used (dead code)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
There are other device managers (e.g. mdev) that do not understand those
udev rules, so do not install them unconditionally.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Move generic IMX machine firmware to imx-digi-base.inc file. This eases
maintenance, as this file follows imx-base.inc in meta-freescale.
Still, configure platform's Digi specific firmware in each machine's
config file.
As a positive side effect, this removes the "firmware-imx-easrc-imx8mn"
firmware file from the 8M Mini, as it's only used in the 8M Nano. This
saves about 263KB.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
ConnectCore 93 DVK only connects the XBee reset line (XBEE_RESET_N_GPIO) but not
the sleep request (XBEE_SLEEP_RQ_GPIO)
It also reworks the 'xbee-init' script to support empty reset
(XBEE_RESET_N_GPIO) or sleep request (XBEE_SLEEP_RQ_GPIO) values.
https://onedigi.atlassian.net/browse/DEL-8375
Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
True is the default since long time ago, and thus not necessary. This
follows similar changes done in other layers.
Command used:
sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' | cut -d':' -f1 | sort -u)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
accel-video was being used only for including or not gstreamer in the
different DEY images. But then we had exceptions to include gstreamer for
machines that do not define accel-video, so just follow what the ccmp15
does, and use a generic 'gstreamer' distro feature to add 'dey-gstreamer'
support to the images.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
MACHINE_GSTREAMER_1_0_PLUGIN should contain the machine-specific gstreamer
plugin to use, but not the rest of the packages to be included in the
rootfs. So clean that variable up, and add the dependent packages in the
dey-gstreamer package group.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is a machine specific setting, and moving it to the machine config
allows to get rid of the recipe bbappends.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
meta-freescale did another merge of recipe updates that we need to follow
to prevent build failures.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For this platform the bootable artifact is imx-boot based, so configure
some variables accordingly.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Rework the "build_uboot_scripts" to prevent changing the templates in
the WORKDIR, as those are part of the SRC_URI. Instead, change the
deployed scripts by using "sed" and redirection.
Also, removed UBOOT_HAS_FASTBOOT altogether, as there is no platform
that does not support fastboot.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Instead of overriding the whole do_compile function, just to reconfigure
u-boot for Trustfence, create a do_configure pre-function that takes care
of that. This allows the removal of duplicated code.
Also, disable the generation of u-boot environment artifacts. We are
not using them and so many u-boot artifacts in the deploy directory
are confusing.
Finally, adjust the names of the TF u-boot artifacts in the do_deploy
append function.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Use += operator to prevent resetting the value of the EXTRA_IMAGEDEPENDS
variable. That is how it's mostly used elsewhere.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is later overridden in the machine config files, but a default
(not empty) value is needed, to prevent a syntactic error in
init-ifupdown recipe (where it is used).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
A new set of meta-freescale updates broke our layer, because they
updated opencv package and our bbappend does not apply anymore.
The build fails at parsing:
ERROR: No recipes in default available for:
meta-digi/meta-digi-dey/dynamic-layers/freescale-layer/recipes-support/opencv/opencv_4.5.2.imx.bbappend
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This allows users of the layer to override the value with a different
default. Same change was done in meta-freescale's imx-base file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When read-only feature is enabled, the rootfs should be .squashfs
and not .ubifs.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
(cherry picked from commit c32278af74cea8cb38aa81590eaa867be1c739c9)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
All the dualboot logic will be checked in run time.
To do this:
* Include the altboot.src by default in all the images
* Create a post installation script to change the
firmware_download_path in the cloud connector
* Unify the swupdate file descriptor for dual and single boot
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
This commit removes duplicated and unused build artifacts for the ccmp1
platforms. Also fixes a build warning related with flashlayout config file.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds the extra machine specific configuration files for udev on
ccmp1 platforms to allow, for example, automount storage devices.
https://onedigi.atlassian.net/browse/DEL-8193
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Also clean some dead code: libjpeg-turbo is the only jpeg implementation
in poky since long ago. Also "remove-libtool" is enabled by default in
bitbake so there is no need to do it in our distro configuration.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The recipes have been updated in meta-freescale, and version 1.18.5.imx
is no longer available.
Follow same change in meta-freescale's "conf/machine/include/imx-base.inc".
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This fixes a failure in the firmware installation script when trying to
program crank images:
./install_linux_fw_uuu.sh -i dey-image-crank
[ERROR] Could not find file 'dey-image-crank-ccimx6ulsbc.boot.ubifs'
[ERROR] Could not find file 'dey-image-crank-ccimx6ulsbc.recovery.ubifs'
[ERROR] Could not find file 'dey-image-crank-ccimx6ulsbc.ubifs'
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
meta-freescale updated to version '10.0.0.imx', so our bbappend fails
with:
ERROR: No recipes in default available for:
... meta-digi-dey/dynamic-layers/freescale-layer/recipes-graphics/wayland/weston_9.0.0.imx.bbappend
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also, fix the sequence number of the GPIO_SET_DEBOUNCE_IOCTL ioctl. Same
fix has been done in Linux.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* fix arch tune files path in machine config
* update imx-digi-base config file (using as a base the imx-base.inc
config file in 'meta-freescale')
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
These variables were originally set in NXP's recipes, but they moved their
definitions to each platform's configuration file. Set the appropriate values
where needed. While at it, replace every mention of the SOC_TARGET variable
with its new name, IMX_BOOT_SOC_TARGET.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Other layers, such as meta-digi-dualboot, may add scripts to this
list on their layer.conf file. Depending on the order and priority
of layers, using a strict '=' here completely overrides previous
values, which is not desired.
Reported-by: Francisco Gil <francisco.gilmartinez@digi.com>
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
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>
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>
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>
Create global variables:
DEFAULT_IMAGE_NAME
GRAPHICAL_IMAGES
to have them substituted on the U-Boot install scripts for better
generalization.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
This version is only required to build U-Boot 2017.X, so since CC6UL was moved
to a new U-Boot version it is not necessary and also fixes a build issue.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Commit 4ab569fb("recipes-*: refine restrictions for NXP BSP") from
meta-freescale layer restrict the use of certain recipes and classes to
enforces them to use a NXP BSP. This is done by adding a new MACHINEOVERRIDES
called "use-nxp-bsp"
https://jira.digi.com/browse/DEL-7508
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Update the MACHINE values with the ones in meta-freescale and meta-imx layer.
https://jira.digi.com/browse/DEL-7397
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Since this component pulls in Optee dependencies, which in turn depend on
packages from meta-python2, add this layer to the ccimx8mn-dvk's default
bblayers.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-7025
Add the ccimx6/6qp and update the ccimx8x supported U-Boot version. Even though
older versions of U-Boot can be built for the 8X, the dependencies with the
SCFW only make it possible to use the latest version of U-Boot to avoid
unexpected behaviour.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
With this change, the ccimx6sbc and ccimx6qpsbc default images will now use the
xwayland backend instead of x11.
https://jira.digi.com/browse/DEL-7221
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
Remove all v4.9 recipes and build Linux using the same branch on all platforms.
The .inc files were only needed because of the existence of multiple Linux
versions, but that's not the case anymore, so remove them.
https://jira.digi.com/browse/DEL-7221
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The cryptoauthlib package is being added in digi-defaults.inc, which is parsed
before this file. Setting the variable here overwrites its previous value,
causing the cryptoauthlib package to be left out of the rootfs. Append to the
variable instead of overwriting it to avoid this.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Aside from adding the wireless-regdb-static support, this NXP package needs to
be included in the rootfs so the regulatory fw gets loaded in userspace.
https://jira.digi.com/browse/DEL-7133
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Disable all encryption support by default on CC8X and CC8MN platforms so
the default built images can be directly built.
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
This update is a cosmetic one and removes the RAM frequency from the SCFW
filenames. Reflect this change in the RAM_CONFIGS variable and in the uSD/UUU
installation scripts.
As a result, the imx-boot filenames will no longer have the RAM frequency
either.
https://jira.digi.com/browse/DEL-7096
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Modify the imx-seco recipe so it deploys the B0 and C0 versions of the SECO
firmware, Then, modify the imx-boot recipe so it builds every possible
combination of:
* RAM configuration
* imx-boot target (with and without M4 demos)
* Silicon revision
https://jira.digi.com/browse/DEL-7069
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This allows to generalize the code instead of needing to replicate
overrides for each platform that contains the MCA.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The variable BT_DEVICE_NAME is used to name the Bluetooth device name on
the BlueZ configuration file. Re-use the contents of DIGI_FAMILY (except
for ccimx6qp which re-writes it) to simplify platform definitions.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
- WLAN_P2P_INTERFACE is the same for all platforms: "p2p0".
- WLAN_P2P_DEVICE_NAME can be built out of ${DIGI_FAMILY} except for
the ccimx6qp, that's why it has a weak default assignment.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Default version is defined in poky layer, this commit also modifies
the preferred version to match with the new one.
https://jira.digi.com/browse/DEL-7013
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Remove support to kernel v4.14 and move platforms to use the new
kernel v5.4
https://jira.digi.com/browse/DEL-7013
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Add Trustfence support for signing imx-boot images:
- Install a different U-Boot signing script for images with U-Boot SPL.
- Store mkimage log for later use in the signing script
- make 'print_hab_log' and store its log for later use in the signing script
https://jira.digi.com/browse/DEL-7023
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Environment encryption is not yet supported in U-Boot.
Unset TRUSTFENCE_ENCRYPT_ENVIRONMENT on the machine configuration
and remove the platform conditional on the class.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
* 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>
Update the values of the MACHINE_SOCARCH_FILTER variable with the ones in
meta-fsl-bsp-release's imx-base.inc.
https://jira.digi.com/browse/DEL-6932
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
For the i.MX8M processors, the do_deploy support is provided by
the upstream recipe firmware-imx-8m.
https://jira.digi.com/browse/DEL-6911
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
WPA and P2P configuration files are basically the same between all
platforms, so we remove all duplicated files to use a common file
and modify it in the recipe logic.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The meta-freescale-3rdparty layer used for the mainline bsp support does
not support the WiFi interface on thud. WiFi is currently merged on master
so it will probably be available on Zeus (2.8).
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The artifacts that must go inside the installer ZIP image are not anymore
the ones in UBOOT_CONFIG. For CC8X, the artifacts are combinations of
UBOOT_CONFIG and RAM_CONFIGS.
This commit adds a function 'get_bootable_artifacts()' to boot-artifacts class
to generate a new variable BOOTABLE_ARTIFACTS with the list of bootable
artifacts DEY produces.
The installer recipe can then simply iterate on that list, rather than
needing to calculate it by itself.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6641
A variable called IMAGE_BOOTLOADER was being used without distinction for
referring to two different things:
- the recipe that builds the bootable artifacts
- the prefix of those artifacts
The value of this is "u-boot" for most platforms, but "imx-boot" for the
CC8X based platforms.
The name of the variable is misleading, so this commit splits it into two:
- BOOTLOADER_IMAGE_RECIPE, to refer to the recipe
- UBOOT_PREFIX, to refer to the prefix of the bootable artifact
With the separation, the variable UBOOT_SYMLINK becomes a generic formed
one, so it is moved to digi-defaults.inc.
While on it, fix the image_types_digi.bbclass which was not making use of
the original variable to establish all the dependencies.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Similar to the way the u-boot recipe does, create a symlink to the default
bootable artifact.
Since they are overwritten on every loop, this requires that the default
RAM configuration is set the last on the list of RAM_CONFIGS (same
convention than the one used on UBOOT_CONFIGS).
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6641
Even though our ccimx6 and ccimx6qp images were using Linux v4.9 sources
correctly, they were using the same recipe as our images with Linux v4.14.
Technically, both recipes are identical (save for the branch name), but each
Linux version should have its own recipe.
Also, make sure that ccimx6/ccimx6qp images are built with our version of the
linux-imx-headers recipe instead of the one in meta-freescale.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Removing the flag breaks the build of the freetype package and possibly others.
Leave the flag as it is for now.
This reverts commit e4cbeafa1c.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This option configures gcc to use PIE by default, which is good from a security
standpoint. However, the files necessary to compile applications statically
with PIE support are missing from glibc, causing builds to fail. Said files
were removed on purpose in poky commit 472c86127ab57759588e5ec53c75ebb52667f094
because static PIE binaries apparently don't work very well when using gcc 7.x.
Instead of enabling static PIE support for glibc and risking runtime failures,
revert to our old situation and remove default PIE suport for gcc.
https://jira.digi.com/browse/DEL-6558
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This recipe adds a script and a related systemd service that
configures two GPIOs (user defined, or else platform-defaults) as
output and sets them to the appropriate value for initializing the
XBee socket:
- XBEE_SLEEP_RQ: is set low, for running the XBee
- XBEE_RESET_N: is set low and then high, to reset the XBee
The service triggers on the condition that the UART TTY device node
pointed to by variable XBEE_UART exists.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6366
Remove the linux-v4.20 recipe and use the linux-fslc kernel recipe in
meta-freescale-3rdparty instead.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This version is only required to build U-Boot 2017.X, so select it as preferred
version only on those platforms that build this U-Boot (CC6 and CC6UL).
https://jira.digi.com/browse/DUB-881
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
This adds support for U-Boot v2018.03 for CC8X platforms only.
Create 'digi-u-boot.inc' with the common definitions for both v2017.03
and v2018.03.
https://jira.digi.com/browse/DUB-881
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
The driver now builds directly from the kernel source and the
fixes are already included in the kernel tree so there is no need
to build the module externally.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6460
(cherry picked from commit a0990a7e1dcd03af239efb620b83b7dee126484e)
In Yocto 2.6, this variable is null whenever systemd is enabled. Explicitly set
this variable to keep some necessary scripts in /etc/init.d.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Also, remove sysvinit and add pam, which is needed by weston+systemd.
https://jira.digi.com/browse/DEL-6415
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
cryptoauth-openssl-engine is not compatible with OpenSSL v1.1.x, until
it will be supported, we disable it.
https://jira.digi.com/browse/DEL-6412
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>