This functionality is automatically enabled for any recipe that inherits
the kernel class.
https://jira.digi.com/browse/DEL-5518
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
This commit adds the defconfig for the platform ccimx6qpsbc
to the kernel v4.9 and modifies the recipe.
Signed-off-by: Arturo Buzarra <arturo.buzarra@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>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Seems that this is needed for the bluetooth interface to work. Without
this options, the interface is not able to initialice (hciattach command
fails).
https://jira.digi.com/browse/DEL-3855
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Loading firmware by userspace helpers has been deprecated from device
managers (like udev, eudev, etc). Firmware loading is supposed to be
performed by the kernel.
This fixes the loading of an external kernel module (qualcomm wlan.ko)
that was failing to load because of a missing firmware file.
In that case the kernel was requesting the firmware load from userspace:
ar6k_wlan mmc0:0001:1: Direct firmware load for qsetup30.bin failed with error -2
ar6k_wlan mmc0:0001:1: Falling back to user helper
The device manager we are using in DEY-2.2 (eudev) does not support
firmware loading and is not giving an error return value to the kernel
either, so at one point the kernel throws an oops:
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
task: 88228000 ti: 88cbe000 task.ti: 88cbe000
PC is at 0x7f183758
LR is at request_firmware+0x38/0x40
pc : [<7f183758>] lr : [<802f80bc>] psr: 600f0013
sp : 88cbfdb8 ip : 00000000 fp : 88644c00
r10: 0000dac0 r9 : 88cbfefc r8 : 0000000c
r7 : 00007d08 r6 : 88cbfde4 r5 : 88644ea2 r4 : 00000005
r3 : 88cbfde4 r2 : 00000080 r1 : 00000000 r0 : fffffff5
and the wireless driver is not loaded.
https://jira.digi.com/browse/DEL-3856
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The way the kernel artifacts are generated has change as of Yocto 2.2.
Also some of the variables (e.g. KERNEL_IMAGE_SYMLINK_NAME) have changed
their default values.
Thus the trustfence_sign function needed some tweaks to continue working
properly.
https://jira.digi.com/browse/DEL-3834
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
KERNEL_IMAGE_BASE_NAME and KERNEL_IMAGE_SYMLINK_NAME default values have
changed in Yocto 2.2, so now this appended command is failing because
it's translated to:
ln -sf -4.1-r0.2-ccimx6ulstarter-20170216122147.bin ccimx6ulstarter
which fails with:
ln: invalid option -- '4'
Just remove it, because we don't need that symlink anymore. New U-Boot's
'zimage' and 'uimage' environment variables have default values ending in
'.bin' which is what Yocto provides.
https://jira.digi.com/browse/DEL-3451
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This re-enables USB mass storage support that was unintentionally
removed in commit 6851ab23e4.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DUB-713
This updates the kernel configuration to the latest one
which disables unused drivers and options to optimize the
kernel size.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
The kernel recipe was modifying the device tree blobs in place within the
kernel build temporal directory. This can cause problems after several
compilations, only the deployed artifacts should be signed/encrypted.
The deployment of the DTBs is done by do_deploy_appends in other layers which
are appended after this recipe, so it is required to use a postfunc to do the
trustfence related process after the deployment of all the artifacts.
https://jira.digi.com/browse/DEL-3388
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
This patch introduces some parameters which allow to select the type of image
to be signed. Currently the supported types are:
* linux kernel (-l)
* DTB (-d)
* initramfs (-i)
This also moves the CONFIG_PLATFORM environment variable to a parameter, for
consistency.
https://jira.digi.com/browse/DUB-614https://jira.digi.com/browse/DUB-615
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@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>
* Check number of arguments
* Add platform argument
* Read user configuration from .config file
* Remove unused variable (dek_blob_size)
* Remove noise in output messages
https://jira.digi.com/browse/DEL-2688
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Add a recipe to include all signing and encryption tools for U-Boot and
kernel images to the SDK. Move existing trustfence kernel scripts to this
new recipe.
This allows to use these scripts not only from the Yocto build system but
also as standalone tools for image signing and encryption.
https://jira.digi.com/browse/DEL-2688
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Tweaked to maintain the u-boot and linux revisions to AUTOREV instead of
the fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
When changing any of the secure boot configurable macros the Linux kernel
should be re-deployed so that it can be signed/encrypted as needed.
https://jira.digi.com/browse/DEL-2750
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
TRUSTFENCE_SIGN can be defined to "0" to explicitly disable uImage sign and
encryption.
https://jira.digi.com/browse/DEL-2803
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
NXP Code signing Tool for the High Assurance Boot library is needed for
signing and encrypting different artifacts (U-Boot image, uImage, ...).
As the CST cannot be included in DEY, the user needs to download the
tarball and add it to the recipe folder.
https://jira.digi.com/browse/DUB-618
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Do not compile the kernel for supporting the static regulatory domain
but force the system to do that by using crda.
https://jira.digi.com/browse/DEL-2539
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
We compile those modules as built in to avoid a mismatch
between the current kernel version and the wlan.ko module.
https://jira.digi.com/browse/DEL-2653
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This enables the Cryptographic Accelerator and Assurance Module (CAAM).
https://jira.digi.com/browse/DEL-2502
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This enables the Cryptographic Accelerator and Assurance Module (CAAM).
https://jira.digi.com/browse/DEL-2502
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Used ccimx6ul_defconfig from v4.1/master repository.
The defconfig file will live under module folder and not specific platform
folder because it will be the same for other ccimx6ul platforms.
https://jira.digi.com/browse/DEL-2381https://jira.digi.com/browse/DEL-2529
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
COMPATIBLE_MACHINE is a regular expression, so we need to update the current
pattern for ccimx6 due to it will also match with ccimx6ul.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
As the plan is to use the same git objects (SHA1) in the internal and
github repos, also remove that internal/external SRCREV infrastructure.
https://jira.digi.com/browse/DEL-2205
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
For the moment, disable the built-in GPU kernel driver as there is a
mismatch between the driver version and the user-space GPU libraries.
Use the external module maintained by the community.
https://jira.digi.com/browse/DEL-1890https://jira.digi.com/browse/DEL-1926
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>
That commit disables CONFIG_FIRMWARE_IN_KERNEL which is needed by IMX
SDMA driver and maybe other drivers.
An example of functionality failing without that enabled is the audio
over HDMI.
While on it configure the atheros driver as module. Otherwise the kernel
tries to load the firmware from user-space before the rootfs being
mounted, giving error messages on boot:
ath6kl: No "atheros,board-id" property on wireless node.
ath6kl: Failed to get board file ath6k/AR6003/hw2.1.1/bdata.bin (-2), trying to find default board file.
ath6kl: Failed to get default board file ath6k/AR6003/hw2.1.1/bdata.SD31.bin: -2
ath6kl: Failed to init ath6kl core
ath6kl_sdio: probe of mmc3:0001:1 failed with error -2
https://jira.digi.com/browse/DEL-1858
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Disable firmware loading from user-space (udev) as the kernel is able to
load the firmware directly.
https://jira.digi.com/browse/DEL-1858
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
* Move kernel configuration fragments to 2.6.35 recipe (that's the only
kernel version using them)
* Move compile-time dependences to common include linux-dey.inc
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Platform defconfig corresponds to sha1 'e1506ff' in the kernel.
At this point linux-3.10 continues to be the default, some device-tree
files were renamed and the external atheros module does not compile with
linux-3.14, so to use this kernel with dey-1.8, following lines are
needed in the project's local.conf:
PREFERRED_VERSION_linux-dey = "3.14"
KERNEL_DEVICETREE = " \
imx6dl-ccimx6sbc-wb.dtb \
imx6dl-ccimx6sbc-w.dtb \
imx6q-ccimx6sbc.dtb \
imx6q-ccimx6sbc-wb.dtb \
imx6q-ccimx6sbc-wb-ldo-bypass.dtb \
imx6q-ccimx6sbc-w.dtb \
"
MACHINE_FEATURES_remove = "wifi"
https://jira.digi.com/browse/DEL-1748
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also remove kernel configuration fragments for kernel 3.10. This is not
needed for 3.10 as all the configuration is done via device-trees.
https://jira.digi.com/browse/DEL-1695
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit b0031915f1c7f3eeba680161827e78bbac9eebb4)
Also remove support for device tree variants as it's not needed. We will
only have different device tree for the different CPUs, but not for the
different variants of the same CPU.
https://jira.digi.com/browse/DEL-1569
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The way the kernel is built in yocto 1.8 has changed. Now the
build is done under ${WORKDIR}/build while the source code is at
STAGING_KERNEL_DIR, so we need to modify the '.config' in the build
directory instead of in the source directory.
This fixes:
kernel-source is not clean, please run 'make mrproper'
make[2]: *** [prepare3] Error 1
make[1]: *** [sub-make] Error 2
https://jira.digi.com/browse/DEL-1558
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This completes the support for ccimx6sbc variants:
* support device tree variants
* split variants '0x01,0x02,0x04' group in two different groups (with or
without kinetis)
https://jira.digi.com/browse/DEL-1359
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 3f20015411f4e270b2e2c8faf292678c75ff2aff)
Notes:
* This version of u-boot does not support comments in scripts
* Enabled EXT4 in kernel config (for the SDCARD rootfs)
https://jira.digi.com/browse/DEL-197
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
User-space has been updated in meta-fsl-arm for the general availability
(GA) FSL release, so use the kernel branch with the GA support.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The 'v3.10/master' master branch has been updated with the latest
general availability (GA) release from FSL, but the user-space is not
ready yet, so using the new kernel the build is broken:
imx-lib: error: 'PXP_IOC_GET_CHAN' undeclared
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Needing to set the branch where a specific SHA1 revision is contained is
a unnecessary constraint that can be bypassed setting 'nobranch=1' in
the SRC_URI.
We do that for all the external repos (GitHub) plus the internal ones
for the im-xbootlets and the atheros kernel module (as those two repos
are stable enough and we are not developing actively on them).
For U-Boot and Linux we keep the SRCBRANCH framework for internal repos
as this is needed for the AUTOREV yocto feature.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Starting with Yocto 1.6 there is a need to configure in which branch a
specific SHA1 revision is included. We need a framework to set such
branches both for internal git repos and for external ones (Github).
If the branch is not specified in the SRC_URI, the do_fetch task may
fail even though the SHA1 revision exists in the repository.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This workaround is not needed anymore as the git fetcher bug is fixed in
poky's master branch.
This reverts commit 982af63902.
https://jira.digi.com/browse/DEL-996
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
PR was based on meta-fsl-arm's 'linux-imx.inc' INC_PR, but this was
removed after Dora, so we need to remove PR from our kernel recipes to
avoid a bitbake parser error:
${INC_PR}.0/git')} exception SyntaxError: EOL while scanning string literal
https://jira.digi.com/browse/DEL-996
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
linux-dey.inc is a copy of meta-fsl-arm's linux-imx recipe file, so
instead of copying the whole recipe just use that (including the file)
and code the differences.
While on it, add RDEPENDS_kernel-base="" to remove the dependence of the
rootfs image recipes on the linux image. We don't need/use the kernel
image in the rootfs as we load it from a different partition. This makes
rootfs images a bit smaller.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
change the directory (cd) and make the symbolic link in a subshell to
preserve the current working directory for any subsequent command.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
bitbake git's fetcher uses 'ls-remote' to get the branch revision to
checkout. If the repository has two branches ending equally the 'git
ls-remote' just picks the first one regardless of that being the correct
one.
In our case we were bitten by this bug because our git repo has:
...sha1-revision... refs/heads/android/v3.10/master
...sha1-revision... refs/heads/v3.10/master
and the fetcher was using the android branch instead of linux's
v3.10/master.
A patch has been sent upstream but while that gets applied to Dora
maintenance branch the workaround here is to set the absolute path in
the kernel's bitbake recipe.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The do_update_dts function was hardcoded for ccardimx28js. We need to
make it mxs specific so the recipe can be used for other platforms that
do not share the same device tree configuration (for example the
upcoming ccimx6js)
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The Linux kernel revision was splitted from main bitbake recipe to its
own linux-dey-rev file so that file could be used for linux-headers
recipe to build the toolchain using custom kernel headers (from our
repository).
That is not the recommended way to build a toolchain:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=babbf7a46acaefd9b36031483cafce053f607e66
and we are not using our kernel headers to build the toolchain anymore,
so just melt the linux-dey-rev files into the linux-dey bitbake recipes
for cleanness and easier maintenance.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Committed a patch in linux-dey repo to fix perf build. At the same
time update linux-dey revision to get the perf fix.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
They conflict.
Warn the user about the problem and let they change the device tree
manually.
https://jira.digi.com/browse/DEL-840
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Those boolean helper variables can be used in different recipes so move
them to a common place.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Also change the default ccardimx28js variant to 'web1' (wireless, second
ethernet, bluetooth and 1-wire)
https://jira.digi.com/browse/DEL-819
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Most SRC_URI defaults to DIGI_LOG_GIT. This patch sets a more generic
name (DIGI_GIT) that defaults to DIGI_LOG_GIT, but is configurable by
someone who might want to tune it (DIGI_MTK_GIT, etc.).
Signed-off-by: Seth Bollinger <sethb@digi.com>
To get the latest changes: logo, mac-address, wireless...
Also synchronize the defconfig with the one in the kernel tree.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>