| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The fix to allow the user to override the IMAGE_FSTYPES setting for
mfgtool-initramfs-image [1] does break the default behavior by turning
the setting into a no-op:
```
# $IMAGE_FSTYPES [6 operations]
# set? /.../sources/meta-freescale/conf/machine/include/imx-base.inc:463
# "${SOC_DEFAULT_IMAGE_FSTYPES}"
# set /.../sources/poky/meta/conf/documentation.conf:214
# [doc] "Formats of root filesystem images that you want to have created."
# set? /.../sources/poky/meta/conf/bitbake.conf:832
# "tar.gz"
# set? /.../sources/meta-freescale/classes/mfgtool-initramfs-image.bbclass:16
# "cpio.zst.u-boot"
# override[mxs-generic-bsp]:set? /.../sources/meta-freescale/classes/mfgtool-initramfs-image.bbclass:17
# "cpio.gz.u-boot"
# pre-expansion value:
# "${SOC_DEFAULT_IMAGE_FSTYPES}"
IMAGE_FSTYPES="wic.bmap wic.gz"
```
The layer uses an extra variable SOC_DEFAULT_IMAGE_FSTYPES to override
IMAGE_FSTYPES [2], so use it here.
[1] 0a29050 classes: IMAGE_FSTYPES as weak variable in mfgtool-initramfs-image
[2] 541b8b8 imx-base.inc: Move IMAGE_FSTYPES override to a SoC variable
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
(cherry picked from commit cca3a8a7a603d7dbf91fb3ceaa67168725888136)
|
|
|
|
|
|
|
|
|
| |
With `IMAGE_FSTYPES` weak variable, we are able to use `cpio.gz` and
generate fsl-image-mfgtool-initramfs as KERNEL_IMAGETYPES = "fitImage".
This weak variable allows use to choose a suitable values for IMAGE_FSTYPES.
(see from poky: image_types.bbclass)
(cherry picked from commit 0a29050d8b9fbe895bb4ca98ff8b5daab27441d9)
|
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
(cherry picked from commit 923b963a17a0855a5f8f278b96d49d58d89a0a84)
|
|
|
|
|
|
|
|
| |
Having a symlink named 'imx-boot' allows to have the consumers
of the boot container, e.g. wic to be oblivious on who created
the bootcontainer.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
|
|
|
|
|
|
|
|
| |
Choosing if the boot container FIT image is built with imx-mkimage/
imx-boot or the U-Boot provided binman can be done with the
imx-boot-container MACHINEOVERRIDES.
Change the used overrides from *nxp-bsp to *generic-bsp.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NXP EULA archive-based builds like imx-gpu-viv fail because the unpacked
folder is empty:
```
ERROR: imx-gpu-viv-1_6.4.3.p2.4-aarch64-r0 do_populate_lic: QA Issue: imx-gpu-viv: LIC_FILES_CHKSUM points to an invalid file: /opt/work/upstream/fsl-xwayland/tmp/work/cortexa53-crypto-mx8m-fsl-linux/imx-gpu-viv/1_6.4.3.p2.4-aarch64-r0/imx-gpu-viv-6.4.3.p2.4-aarch64/COPYING [license-checksum]
```
This is traced to a change in bitbake:
```
b074f4a ast: Improve function flags handling for EXPORT_FUNCTIONS
```
That change includes a fix for cleandirs, so now the call to base_unpack,
done after the NXP EULA archive unpack, does now remove the folder(s)
created by the NXP EULA archive unpack.
Fix the problem by simply unpacking the NXP EULA archives last.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The imx8dx-mek machine is similar to imx8qxp-mek and so the mx8qxp override
was included in the MACHINEOVERRIDES hierarchy. This is non-standard, and
the rework of the SOC overrides didn't handle it properly, leading to a
build break:
```
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: 8QX boot binary build
| cp: failed to access '/home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/git/iMX8DX/scfw_tcm.bin': Not a directory
| WARNING: /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636:179 exit 1 from 'cp /home/aquino/src/ossystems/oel-platform/build/tmp/deploy/images/imx8dx-mek/imx-boot$
tools/scfw_tcm.bin /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/git/iMX8DX/scfw_tcm.bin'
| WARNING: Backtrace (BB generated script):
| #1: compile_mx8x, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 179
| #2: do_compile, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 151
| #3: main, /home/aquino/src/ossystems/oel-platform/build/tmp/work/imx8dx_mek-oel-linux/imx-boot/1.0-r0/temp/run.do_compile.1809636, line 189
ERROR: Task (/home/aquino/src/ossystems/oel-platform/sources/meta-freescale/recipes-bsp/imx-mkimage/imx-boot_1.0.bb:do_compile) failed with exit code '1'
```
Fix the problem by removing mx8qxp from the mx8dx hierarchy and adapting
existing mx8qxp overrides appropriately.
Fixes: #1027
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
| |
The initramfs memory size is limited, so use zstd compression level 10
to cut the cpio archive size by some 30%.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Upstream U-Boot commit d9a6f0eed66a ("tree: imx: remove old fit
generator script") dropped the FIT generator script, which was using
environment variable setting the ATF load address into the FIT ITS file.
This has been replaced by binman node description, where ATF address is
defined, hence the enviroment variable is not required anymore.
Clean-up the layer's class and machine description to remove the
variable, which is not used anymore.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
|
|
|
|
|
|
|
|
|
| |
To assist existing layers to convert to the new BSP-specific
overrides. Besides failing the parsing of the recipes where it is in
use, we provide a script to automate most of it.
Fixes: #990.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Essentially, we extend the overrides to a generic-bsp, nxp-bsp, and
mainline-bsp.
So, for example, the mx8mq override is split into:
- imx-generic-bsp: compatible with every i.MX SoC and both BSP variants
- imx-nxp-bsp: compatible with every i.MX SoC but specific to NXP BSP
- imx-mainline-bsp: compatible with every i.MX SoC but specific to Mainline BSP
- mx8-generic-bsp: compatible with every i.MX8 SoC and both BSP variants
- mx8-nxp-bsp: compatible with every i.MX8 SoC but specific to NXP BSP
- mx8-mainline-bsp: compatible with every i.MX8 SoC but specific to Mainline BSP
- mx8m-generic-bsp: compatible with every i.MX8M SoC and both BSP variants
- mx8m-nxp-bsp: compatible with every i.MX8M SoC but specific to NXP BSP
- mx8m-mainline-bsp: compatible with every i.MX8M SoC but specific to Mainline BSP
- mx8mq-generic-bsp: compatible with every i.MX8MQ SoC and both BSP variants
- mx8mq-nxp-bsp: compatible with every i.MX8MQ SoC8 but specific to NXP BSP
- mx8mq-mainline-bsp: compatible with every i.MX8MQ SoC but specific to Mainline BSP
The extender mechanism is responsible for extending the override list to
include the generic overrides. We can then use the three different
variants to handle the metadata correctly.
Generically speaking, the conversion mainly was automated (with a lot of
back and forth until getting it right).
To convert an existing layer, the following script can be used:
```sh
git ls-files classes recipes-* \
| xargs sed -i \
-e 's,:\(mx[6-8]\w*\),:\1-nxp-bsp,g' \
-e 's,(\(mx[6-8]\w*\)),(\1-nxp-bsp),g' \
-e 's,\(mx[6-8]\w*\)|,\1-nxp-bsp|,g' \
-e 's,|\(mx[6-8]\w*\)),|\1-nxp-bsp),g' \
\
-e 's,:\(mx[5s]\w*\),:\1-generic-bsp,g' \
-e 's,(\(mx[5s]\w*\)),(\1-generic-bsp),g' \
-e 's,\(mx[5s]\w*\)|,\1-generic-bsp|,g' \
-e 's,|\(mx[5s]\w*\)),|\1-generic-bsp),g' \
\
-e 's,:\(vf\w*\),:\1-generic-bsp,g' \
-e 's,:\(vf[56]0\w*\),:\1-generic-bsp,g' \
-e 's,\(vf\w*\)|,\1-generic-bsp|,g' \
-e 's,|\(vf\w*\)),|\1-generic-bsp),g' \
-e 's,\(vf[56]0\w*\)|,\1-generic-bsp|,g' \
-e 's,|\(vf[56]0\w*\)),|\1-generic-bsp),g' \
\
-e 's,:\(imx\) ,:\1-nxp-bsp ,g' \
-e 's,(\(imx\)),(\1-nxp-bsp),g' \
-e 's,\(imx\)|,\1-nxp-bsp|,g' \
-e 's,|\(imx\)),|\1-nxp-bsp),g'
for d in $(find -type d | egrep '/mx[6-8]w*'); do
git mv $d $d-nxp-bsp
done
for d in $(find -type d | egrep '/imx$'); do
git mv $d $d-nxp-bsp
done
for d in $(find -type d | egrep '/mx[5s]w*'); do
git mv $d $d-generic-bsp
done
```
Fixes: #791.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
|
|
|
|
|
| |
The overrides ought to allow the filter out execution even for overrides
included during the extension, for this to work we need to postpone it.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
|
|
|
|
|
| |
We should be able to use a single MACHINEOVERRIDES_EXTENDER_FILTER_OUT
definition, without an override, to reduce code duplication.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building core-image-weston with multilib support and builtin graphics
fails:
```
ERROR: Nothing PROVIDES 'virtual/arm-oelmllib32-linux-gnueabi-binutils'. Close matches:
virtual/lib32-arm-oelmllib32-linux-gnueabi-binutils
virtual/lib32-arm-oelmllib32-linux-gnueabi-go-runtime
virtual/lib32-arm-oelmllib32-linux-gnueabi-rust
ERROR: Nothing PROVIDES 'virtual/arm-oelmllib32-linux-gnueabi-gcc'. Close matches:
virtual/lib32-arm-oelmllib32-linux-gnueabi-g++
virtual/lib32-arm-oelmllib32-linux-gnueabi-gcc
virtual/lib32-arm-oelmllib32-linux-gnueabi-rust
```
This is the configuration added in local.conf:
```
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 = "armv7athf-neon"
IMAGE_INSTALL:append = " lib32-glibc lib32-libgcc lib32-libstdc++"
MACHINE_USES_VIVANTE_KERNEL_DRIVER_MODULE = "0"
```
This commit fixes the provides so BitBake can properly handle the
dependencies.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|\
| |
| | |
u-boot-imx and recipes-bsp for 5.10.72-2.2.0
|
| |
| |
| |
| |
| |
| |
| |
| | |
Append a tag to the bootloader image used in the SD card image. The tag
contains the size of the bootloader image so UUU can easily find the end of
the bootloader in the SD card image.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recent version of U-Boot v2022.01 reverted boot container generation
mechanism to provide single boot container isntead of separate binaries
for SPL+DDR and U-Boot FIT. New approach provides packing of those
separate components inside the U-Boot binman, and is delivered as a
single 'flash.bin' file, which resembles the original behavior before
binman image packing was introduced.
Adapt our boot container class and WIC file to pick up this consolidated
binary instead of two separate pieces.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
| |
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
|
|\
| |
| | |
imx-boot-container.bbclass: support having more than one UBOOT_CONFIG
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The whole purpose of the UBOOT_CONFIG machinery is to allow one to
build multiple versions of U-Boot within the same recipe, e.g. one for
writing to an eMMC boot partition, and one for use with an SD card for
bootstrapping/recovery. But the current code here assumes UBOOT_CONFIG
consists of just a single word (and normally leading whitespace in that
variable would be harmless).
So use the variable ${type} which gets set in turn to each individual
word in UBOOT_CONFIG, which was probably the original intention
anyway. Add a comment about what the u-boot.itb and flash.bin symlinks
will end up pointing at.
When UBOOT_CONFIG does indeed consist of a single word only, this
changes nothing. But this unbreaks the build and makes the different
artifacts available for the UBOOT_CONFIG = "sd emmc ..." case that may
be used by custom boards.
Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
|
| |
| |
| |
| |
| |
| | |
Override conversion script got confused here perhaps
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds fixes for _imx, _imxdpu, _imxdrm, _imxgpu, _imxgpu3d,
virtual PREFERRED_PROVIDER versions
Fix other places for imx/imxdpu/imxdrm overrides
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|/
|
|
| |
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
| |
The i.MX 8DXL Phantom MEK will never be released, so drop the overrides
that have crept into the meta-data.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recent U-Boot versions switched from using customized image generation
mechanisms to binman. This requires that in addition to the flash.bin
boot container, the ITB is built and populated onto the raw boot
partition.
In addition, DDR firmware deployed together with SPL is now using fully
qualified file names (including version suffix), hence there is no need
to sanitize those binaries anymore when DDR firmware is packed.
Drop the specialized build target from UBOOT_MAKE_TARGET, as building of
flash.bin is now covered by default build.
Drop the pre-build step proceedure which was sanitizing version suffix
from the DDR firmware name.
Deploy additional u-boot.itb file that is required to be packed into the
raw boot partition.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
|
|
|
|
|
|
|
| |
NXP release 5.4.70-2.3.2 uses EULA version 22. Also add entries for
versions 18 and 19.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
We have to ensure the task run do_kernel_metadata so the config
fragments can be applied properly.
Refs: #707.
Fixes: #733.
Fixes: 49299998 ("classes: fsl-kernel-localversion: Fix task dependency")
Fixes: c7e23876 ("linux-imx.inc: inherit kernel-yocto class")
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
|
|
|
|
|
|
|
|
|
|
| |
We need to do any change to the generated `.config` file after it is
finished to be modified. In the case of `kernel-yocto` class being in use,
we need to do it after `kernel_configme` task.
Fixes: c7e23876 ("linux-imx.inc: inherit kernel-yocto class")
Fixes: #707.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Change-Id: I7d32b47595dff269defdc5b3f98aa0b9d89b603a
|
|
|
|
|
|
|
|
|
|
|
| |
Add a class which extends the u-boot build mechanism with providing a
separate "flash.bin" binary that replaces the imx-boot in the WIC file.
This class is inherited in u-boot-fslc recipe and extends it only to
those machines that have a corresponding "imx-boot-container" machine
override set.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
|
|
|
|
|
|
| |
Bump to rev A1 for i.MX 8DXL and C0 for 8DXL Phantom.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
| |
Add entries for EULA versions 16 and 17. The next NXP release
5.4.70-2.3.0 uses version 17.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
The current machine configuration support for 8QXP MEK is for rev B0 silicon.
Support for rev C0 is implemented using a machine override `mx8qxpc0`.
Update the default build to rev C0 silicon. Support for rev B0 is provided
with a new machine feature `soc-revb0`. The machine override is removed.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
| |
This missing license version is not causing any known problem, but
adding it shouldn't cause a problem and could be useful if a V13
archive should surface.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
| |
Update the EULA file in the layer and the corresponding variable
in fsl-eula-unpack.bbclass.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
| |
do_preconfigure task should run after do_kernel_metadata, or else there
might be no ${WORKDIR}/defconfig present when KBUILD_DEFCONFIG is being
set rather than defconfig added in SRC_URI.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Latest NXP release 5.4.47-2.2.0 includes components which has license
files updated to version 15 of LA_OPT_NXP_Software_License.
Record the checksum of the new file version in the class in order to
allow those components to be used.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
|
|
|
|
|
|
|
| |
Update the EULA file in the layer and the corresponding variable
in fsl-eula-unpack.bbclass.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
| |
Upstream version has been bumped up, update the recipe to match it.
SECO FW name is picked up from the machine definition, as it is now
defined in a separate bbclass which allows FW names to be set based on
machine's SoC.
Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
|
|
|
|
|
|
|
| |
Use vardepsexclude for FSL_EULA_FILE variable to to make sstate cache
usable from different build directories.
Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
i.MX-specific headers are missing in SDK once generated via image
do_populate_sdk task.
This was caused by dropped ALLOW_EMPTY package-controlling variable
which is required for this recipe in order to indicate that package can
have RDEPENDS.
Additional RDEPENDS are also required by packages using new mechanisms
to include linux-imx-headers, this allows headers to be propagated to
the SDK when dependent package is included.
Introduce ALLOW_EMPTY in recipe and RDEPENDS in use-imx-headers bbclass
to have imx headers to be populated in the SDK.
Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Certain packages are using linux-imx-headers, which enforces them to use
NXP BSP since headers are provided from the NXP kernel tree.
Those recipes, which requires NXP kernel headers, are now including the
use-imx-headers class to make sure the correct headers package is used.
Since the introduction of separation between NXP and Mainline BSP for
certain machines, recipes which are NXP-dependent are getting their
COMPATIBLE_HOST to be marked as (null) effectively making them
incompatible with mainline BSP which is expected behavior.
By extending this restriction into the use-imx-headers class, all
recipes which inherits is (because it is required) are getting
automatically restricted to NXP BSP, hence making package NXP-dependent
much easier.
linux-imx-headers is marked as "NXP-only" but it is done explicitly
inside the recipe in order to avoid confusion of inheriting the class.
Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
|
|
|
|
| |
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The 4.14.98-2.3.0 BSP targeting latest SoC silicon revisions uses an even
newer license text 'LA_OPT_NXP_Software_License v10 December 2019'.
And the upcomming 5.4.3-2.0.0 BSP uses yet another one:
'LA_OPT_NXP_Software_License v11 February 2020'.
Add their md5sums additionally.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Each new version of the EULA is meant to be a click
through that includes any existing packages with an
older EULA. The latest EULA is also copied in the
layer.
Capture this model in the class by listing the
known EULAs and checking that any package
has a known EULA. The new model also allows
extensibility, so new EULAs can be introduced
separately.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
|
|
|
|
|
|
|
| |
These were used as workaround for issues with building u-boot 2017.03
and older, after dtc upgrade to 1.4.6 and newer.
We can drop them after upgrading all providers of u-boot.
Signed-off-by: Mihai Lindner <mihai.lindner@nxp.com>
|
|
|
|
| |
This reverts commit 9418435542ce76a2346f1a4aa2cbbb429a5d3543.
|