aboutsummaryrefslogtreecommitdiffstats
path: root/classes
AgeCommit message (Collapse)Author
2022-03-22mfgtool-initramfs-image: Switch to zstd compressionTom Hochstein
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>
2022-03-07conf: machine: imx8m*: clean-up obsolete ATF load addressAndrey Zhizhikin
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>
2022-03-03Ensure we fail if old SoC overrides are in useOtavio Salvador
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>
2022-02-21Generalize overrides subsystem for NXP and Mainline supportOtavio Salvador
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>
2022-02-21classes/machine-overrides-extender: Postpone filter outOtavio Salvador
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>
2022-02-21classes/machine-overrides-extender: Allow filter out without an overrideOtavio Salvador
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>
2022-01-25fsl-vivante-kernel-driver-handler.bbclass: Fix multilib supportOtavio Salvador
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>
2022-01-19Merge pull request #954 from thochstein/recipes-bspOtavio Salvador
u-boot-imx and recipes-bsp for 5.10.72-2.2.0
2022-01-19imx-boot,u-boot-imx: Add bootloader image size to SD card imageTom Hochstein
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>
2022-01-18imx-boot-container: align with u-boot 2022.01Andrey Zhizhikin
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>
2022-01-07EULA,SCR: Update for NXP release 5.10.72-2.2.0Tom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2021-10-22Update EULA and SCR for NXP release 5.10.52-2.1.0Andrey Zhizhikin
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
2021-09-21Merge pull request #870 from Villemoes/imx-boot-configOtavio Salvador
imx-boot-container.bbclass: support having more than one UBOOT_CONFIG
2021-09-20imx-boot-container.bbclass: support having more than one UBOOT_CONFIGRasmus Villemoes
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>
2021-08-12image_types_fsl.bbclass: Remove overzelous override replacementsKhem Raj
Override conversion script got confused here perhaps Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-12machine-overrides-extender.bbclass: Adjust for new override characterTom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-12layer: More override fixesTom Hochstein
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>
2021-08-12layer: Convert to new override syntaxKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-07-02Update EULA and SCR for NXP release 5.10.35-2.0.0Tom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2021-05-21Drop overrides for i.MX 8DXL Phantom MEKTom Hochstein
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>
2021-05-04classes: imx-boot-container: adapt to new u-boot generationAndrey Zhizhikin
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>
2021-04-26fsl-eula-unpack: Update EULA to v22 for NXP release 5.4.70-2.3.2Tom Hochstein
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>
2021-04-17classes: fsl-kernel-localversion: Fix config fragments applyOtavio Salvador
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>
2021-04-10classes: fsl-kernel-localversion: Fix task dependencyOtavio Salvador
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
2021-03-17classes: imx-boot-container: add class to provide boot containerAndrey Zhizhikin
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>
2021-02-13use-imx-security-controller-firmware: Update DXL and Phantom DXL revsTom Hochstein
Bump to rev A1 for i.MX 8DXL and C0 for 8DXL Phantom. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2021-01-21fsl-eula-unpack: Document EULA v16 and v17Tom Hochstein
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>
2021-01-21imx8qxpmek: Update the i.MX 8QXP default build to rev C0Tom Hochstein
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>
2021-01-21fsl-eula-unpack: Add historic V13 EULA infoTom Hochstein
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>
2020-11-13EULA: Update to LA_OPT_NXP_Software_License v15 August 2020Tom Hochstein
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>
2020-11-10fsl-kernel-localversion.bbclass: add preconfigure after do_kernel_metadataMing Liu
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>
2020-10-27fsl-eula-unpack.bbclass: add v15 license md5sumAndrey Zhizhikin
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>
2020-09-23EULA: Update to LA_OPT_NXP_Software_License v11 February 2020Tom Hochstein
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>
2020-09-23imx-seco: upgrade to version 3.6.3Andrey Zhizhikin
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>
2020-08-13fsl-eula-unpack: exclude FSL_EULA_FILE from sstate signatureSamuli Piippo
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>
2020-05-25linux-imx-headers: fix imx headers missing in sdkAndrey Zhizhikin
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>
2020-04-16recipes-*: refine restrictions for NXP BSPAndrey Zhizhikin
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>
2020-04-16EULA: Update to v10Tom Hochstein
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2020-04-16fsl-eula-unpack.bbclass: add latest license md5sumMax Krummenacher
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>
2020-04-10fsl-eula-unpack.bbclass: Enhance EULA modelTom Hochstein
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>
2020-04-02dtc-145: Remove class and recipeMihai Lindner
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>
2020-03-27Revert "fsl-eula-unpack.bbclass: Enhance EULA model"Otavio Salvador
This reverts commit 9418435542ce76a2346f1a4aa2cbbb429a5d3543.
2020-03-27fsl-eula-unpack.bbclass: Enhance EULA modelTom Hochstein
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>
2020-03-27fsl-eula-unpack.bbclass: CleanupTom Hochstein
- Remove current working directory handling and use the equivalent runfetchcmd workdir parameter - Simplify the SRC_URI for loop Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2020-03-03fsl-eula-unpack.bbclass: Verify LICENSE contains ProprietaryTom Hochstein
All EULA packages are proprietary, so verify that the recipe LICENSE contains Proprietary before fetching the package. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2020-02-12fsl-vivante-kernel-driver-handler: Fix kernel name in variable assignmentTom Hochstein
If the graphics driver is built into the kernel, a warning is generated for each i.MX kernel recipe, like this: WARNING: /home/r60874/zeus/sources/meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.4.bb: Variable key RPROVIDES_${KERNEL_PACKAGE_NAME}-base ( ${KERNEL_PACKAGE_NAME}-${KERNEL_VERSION}) replaces original key RPROVIDES_kernel-base ( kernel-module-imx-gpu-viv). The problem is that the kernel name used in variables is no longer a constant 'kernel', but is now parameterized: https://github.com/openembedded/openembedded-core/commit/6c8c899849d101fd1b86aad0b8eed05c7c785924 Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2020-01-07Update mdsum in fsl-eula-unpack bbclassCristinel Panfir
-update license mdsum for firmware, codec, parser and vpu Signed-off-by: Cristinel Panfir <cristinel.panfir@nxp.com>
2019-12-18kernel-itbimage.bbclass: Align the usage to spaces for indentation, as ↵Darko Komljenovic
spaces raise the warning Signed-off-by: Darko Komljenovic <dkomljenovic@zoho.com>
2019-11-23recipes: Use features_check instead of distro_features_checkKhem Raj
distro_features_check is now deprecated Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-01-17remove True option to getVar callsAndré Draszik
getVar() has been defaulting to expanding by default for a long time (2016), thus remove the True option from getVar() calls with a regex search and replace. Search & replace made using the following command: sed -e 's|\(d\.getVar \?\)( \?\([^,()]*\), \?True)|\1(\2)|g' \ -i $(git grep -E 'getVar ?\( ?([^,()]*), ?True\)' \ | cut -d':' -f1 \ | sort -u) Signed-off-by: André Draszik <andre.draszik@jci.com>