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>
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>
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>
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-7314https://jira.digi.com/browse/DEL-7339
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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>
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>
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>
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>
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)
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
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>
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>
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>
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>
* 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>
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>
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>
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>
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>
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
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>
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
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>
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>
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>
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>
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>
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>
* Use the same operation order when resuming interfaces
* Remove unnecessary delay in ccimx6sbc standby script
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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)
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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-5351https://jira.digi.com/browse/DEL-4571
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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-4000https://jira.digi.com/browse/DEL-4015
Signed-off-by: David Escalona <david.escalona@digi.com>
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>
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
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>
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>
- 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>
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>
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>
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>
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
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
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>
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
- 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>
- 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>
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>
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>
Add critical section in suspend script to avoid that more than
one instance can be executed concurrently. This happens, for
instance, when the power button key is pressed while the system
is resuming, causing issues on the wifi interface.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://jira.digi.com/browse/DEL-3694
According to NXP i.MX Linux Reference Manual:
The full CAAM function is exclusive with the Mega/Fast mix off feature
in DSM. If CAAM is enabled, the Mega/Fast mix off feature needs to be
disabled, and the user should
"echo enabled > /sys/bus/platform/devices/2100000.aips-bus/2100000.caam/2101000.jr0/power/wakeup"
after the kernel boots up, and then Mega/Fast mix will keep the power
on in DSM.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-3636
Add critical section in suspend script to avoid that more than
one instance can be executed concurrently. This happens, for
instance, when the power button key is pressed while the system
is resumming, causing issues on the wifi interface.
https://jira.digi.com/browse/DEL-3431
Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
We have seen corner cases (e.g. when the partition to format has already
some corrupted UBI metadata) where ubiformat stops and ask the user for
confirmation to do the format. We cannot have such interactivity in the
recovery ramdisk so use the '-y' argument to assume yes for all
questions.
Also use the '-q' (quiet) parameter instead of the '/dev/null'
redirections to remove command's output.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit adds a wpa supplicant P2P configuration file and configures
the p2p0 interface automatically at pre-up.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
For the moment the cloudconnector is provided only as static library, so
the recipe can be simplified.
https://jira.digi.com/browse/DEL-3523
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Instead of using a hardcoded path to the SWU update package, just get
the filename and search the file in the different mounted partitions
(giving priority to the internal 'update' partition over other external
media).
https://jira.digi.com/browse/DEL-3466
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For block devices we can get the filesystem in the partition using the
'blkid' command.
This cleans up some warnings on mounting:
EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
EXT4-fs (mmcblk0p4): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (mmcblk0p4): couldn't mount as ext2 due to feature incompatibilities
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
"i" variable in the nested loop is expanded to the absolute path
of the device, so prepending it with the ${device} results in
"/dev/sda/dev/sda1" for a 'sda1' partition.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
recovery-utils allows to configure recovery commands and reboot into
recovery mode.
Internal recovery-utils.git SHA1: 5555d4c736e3
https://jira.digi.com/browse/DEL-3358
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is a clone from the original psplash recipe init script
but with the added fix:
@@ -25,5 +25,7 @@
read rotation < /etc/rotation
fi
-/usr/bin/psplash --angle $rotation &
+if [ -c "${FBDEV:-/dev/fb0}" ]; then
+ /usr/bin/psplash --angle $rotation &
+fi
which avoids running the application when there is no framebuffer
in the system. This prevents the following error message during
boot:
Error opening /dev/fb0: No such file or directory
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-2747
- Include psplash package in the recovery initramfs recipe.
- Start psplash in the recovery init.
- Add new methods to communicate with psplash from the init script.
- Show psplash progress information from the init script.
- Start progress binary to update psplash during a firmware update.
https://jira.digi.com/browse/DEL-3356
Signed-off-by: David Escalona <david.escalona@digi.com>
- Added a 5 seconds delay before mounting external disks so they have
time to be recognized in the system.
- Check if UBI volume is mounted before formatting it.
- Check if eMMC block device exists before formatting it.
Signed-off-by: David Escalona <david.escalona@digi.com>
- This recipe generates the recovery ramdisk image with the contents of the
recovery ramdisk tree (recovery-initramfs) and other packages.
Signed-off-by: David Escalona <david.escalona@digi.com>
Bringing the Bluetooth interface down and up during suspend
is not needed and it even showed problems on the Starter Board
where the Bluetooth interface does not come up again after
having been brought down in suspend.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-3416https://jira.digi.com/browse/DEL-3081
Separately add 'dey-gstreamer' to ccimx6ulsbc platform.
This platform does not have 'accel-video' but we want gstreamer
for using it with video/camera.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-2358
Remove preventive delays during the removal of Bluetooth and Wireless
interfaces. Tests revealed they are not needed.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The loading of the wireless module without proper arguments does nothing.
Besides, if the interface was down before going to suspend, there is no
need for the wireless module to be loaded.
The wireless module will be loaded nevertheless (with proper arguments)
when the interface is brought up.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-3241
The suspend script was unloading the wireless module driver *only* if the
interface 'wlan0' was previously up. If the interface is down the module
does not unload and the system fails to suspend.
This patch removes the module always if it appears in the list of loaded
modules.
While on it, move the unloading of wireless after the unloading of
Bluetooth, to be in line with the reversed order in which they are loaded
on the resume_interfaces() call.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-3241
Use the static binary from the tarball, which should be common across
different platforms and operating systems.
https://jira.digi.com/browse/DEL-3261
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The u-boot header is required for U-Boot to boot the image in secure boot.
The cpio.gz.u-boot.tf image gets signed and encrpyted if required.
https://jira.digi.com/browse/DEL-3242
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Also change the image type of dey-image-trustfence-initramfs.
https://jira.digi.com/browse/DUB-615
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
The ccimx6ul has a small NAND flash rootfs partition, and removing
package-management image feature saves around 10MB.
https://jira.digi.com/browse/DEL-3058
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The name "ext-eth" seems to indicate "External Ethernet". Rename that variable
and related ones to a more proper name like second ethernet.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This reverts commit b8f50680e5.
The support to read and write to an encrypted environment has been added, so
there is no need to exclude the u-boot-fw-utils anymore.
https://jira.digi.com/browse/DEL-2836
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Add commented lines as example to configure and run the wlan0 interface in AP
mode using hostapd daemon.
https://jira.digi.com/browse/DEL-2913
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
enabled
There is currently no support on fw_printenv/fw_setenv to access an
encrypted environment.
This commit removes the package if U-Boot environment encryption is
enabled to avoid environment corruption on access.
It also documents the issue as a known issue.
https://jira.digi.com/browse/DEL-2625
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
According to 'grep' manual '\s' is a synonym for [[:space:]] which
matches spaces, TABs, but also newlines, etc. We want to only match
spaces and TABs, so use [[:blank:]] instead.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* set cellular user and password
* stricter replace to not match set values
* only set cellular interface to auto
Internal merge of Github's PR:
https://github.com/digi-embedded/meta-digi/pull/2
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Down the bluetooth interface before entering suspend and up it after resuming
if it is present and up.
https://jira.digi.com/browse/DEL-2806
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Start syslog earlier (from 20 to 02) so it is running and other init scripts
can use it to log into the system like the S03networking script.
https://jira.digi.com/browse/DEL-2812
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This is needed so the encrypted rootfs is properly resized to the
partition size.
https://jira.digi.com/browse/DEL-2765
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
New functionality has been implemented in trustfence-tool application,
so there is no need to call cryptsetup command.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Get filesystem type of rootfs block device and pass it explicitly to the
mount command to clean following warnings on boot:
EXT4-fs (dm-0): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (dm-0): couldn't mount as ext2 due to feature incompatibilities
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This recipe builds the initramfs image that is used to boot from an
encrypted rootfs.
https://jira.digi.com/browse/DEL-2278
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This package adds some files needed by the trustfence initramfs and that
are not included in other packages.
https://jira.digi.com/browse/DEL-2278
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This function is deprecated in favor of bb.utils.contains. The same
change has been done in other layers.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
sysinfo is a bash script which gathers all the relevant information
from a running system on a timestamped compressed file.
https://jira.digi.com/browse/DEL-2447
Signed-off-by: Victor Rubio Victor.RubioTorroba@digi.com
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
That restriction does not make any difference in the final image
contents, because no package depending on X11 is added to the image, and
it prevents the image from being built with the default DEY
configuration (that has X11 distro feature enabled).
This also allows to build the image in the buildserver with the same job
that builds other X11 based images.
https://jira.digi.com/browse/DEL-2106
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Move this variable to DEY distro conf so that it is available for any
recipe built with the distro.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-2192
It has been observed that the wireless interface ocassionally fails to resume
from suspend on extensive long run validation testing, so we workaround it by
bringing the interface down before suspend and bring it up again after resume
This reverts commit a77cd1406d.
https://jira.digi.com/browse/DEL-2217
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This image provides a demo rootfs with QT. It can be built for
framebuffer and also for X11.
https://jira.digi.com/browse/DEL-2196
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is a user-space workaround for the reboot/poweroff problems we
are having in the ccimx6sbc. Seems that they are not reproducible when
only one core is enabled, so the workaround is to disable the rest of
the cores for rebooting/halting.
https://jira.digi.com/browse/DEL-2133https://jira.digi.com/browse/DEL-2148
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit a9e36a74bb20ab38f220116ba2742dca3d80c293)
So we can build a 'dey-image-graphical' image for framebuffer with
support for QT5.
https://jira.digi.com/browse/DEL-2017
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
No functional change, as 'package-management' is added via the included
dey-image-minimal recipe, and 'pointercal-xinput' is a dependence of
xinput-calibrator which is added for X11 images.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
We switch to the way it works in Android, short press (<2s) takes the target
to suspend and long press, >2s but <9s, performs a software controlled
power down.
Pressing longer than 9 seconds does the uncontrolled hardware power off
directly from the PMIC.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The suspend script did a ifup/ifdown on wlan0 to workaround issues we
had using wireless drivers on some platforms.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Now that the MX5 platforms have been removed the only value for
WPA_DRIVER is 'nl80211' (used by Atheros wireless driver), so there is
no need to have a platform specific value.
Just initialize the value in the init-ifupdown recipe with a weak
assignment so it can be override from the project's local.conf.
https://jira.digi.com/browse/DEL-1890https://jira.digi.com/browse/DEL-1969
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
It has a hard-coded dependence in bluez4 and this has been removed from
openembedded-core.
There is a different Jira for the bluez5 migration.
https://jira.digi.com/browse/DEL-1890
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
ccimx51js and ccimx53js are not supported in this version of DEY.
Support for those platforms is in previous versions of DEY.
https://jira.digi.com/browse/DEL-1890
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Microcom is a minimal version of minicom and is extremely useful
for doing basic testing on target (for instance, talking to a modem
or other serial connected device).
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
(cherry picked from commit 90c6708e948c9b9942b48d425ff21e0affc2f8d7)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Add the networking configuration to support the creation of a bridge
interface.
Signed-off-by: Jose Diaz de Grenu de Pedro Jose.DiazdeGrenudePedro@digi.com
This simplifies the code and as an extra allows to override the default
root password from the project's local.conf (setting MD5_ROOT_PASSWD
variable)
https://jira.digi.com/browse/DEL-1558
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Changes in Poky (Dizzy) made our SDK unable to build QT applications.
This commit syncs again with upstream so the toolchain is able to build
QT apps.
https://jira.digi.com/browse/DEL-1544
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Yocto 1.7 Dizzy added support for os-release file in a new recipe, so
we need to remove it from our base-files bbappend in order to avoid
conflicts between both packages.
https://jira.digi.com/browse/DEL-1390
Signed-off-by: Javier Viguera <javier.viguera@digi.com>