First time I am trying to create SD-Card Linux image for imx7d sabre with OP-TEE using Yocto. I followed this document https://www.nxp.com/docs/en/user-guide/i.MX_Yocto_Project_User's_Guide_Linux.pdf for building the image. I was able to build the image with OP-TEE and successfully run the OP-TEE Xtest. But now I do not know how to run OP-TEE examples in the image. These binaries are not present in the bin folder
Questions
How to include OP-TEE examples to Yocto
In future how to add my own trusted applications to Yocto.
Thanks
How to include OP-TEE examples to Yocto
Add to your local.conf:
IMAGE_INSTALL_append = " optee-examples"
In future how to add my own trusted applications to Yocto.
Create a recipe based on recipes-security/optee/optee-examples.bb and add it to the image as stated above.
Related
While building a Yocto image, BitBake fetches the files specified in layer recipes. When running bitbake, the process identifies missing files and tries to find them from mirrors.
Aside from searching the whole project for the missing file, is there a bitbake tool to identify a layer or recipe, given a broken package/file link?
One current example is:
expat-native-2.2.8-r0
tried, invalid: https://downloads.sourceforge.net/expat/expat-2.2.8.tar.bz2
use: https://github.com/libexpat/libexpat/releases/download/R_2_2_8/expat-2.2.8.tar.bz2
This question may be similar, but is out of date.
How do I find which layer is using the expat-native package?
I have a project that is mostly complete for a custom third party SoM which requires custom bootstrap/bootloaders, currently the recipe is in a meta-bsp layer which works alright however they are built in the aarch64-poky-linux build directory. We have multiple SoM models from this manufacturer that each require different bootloader configs and I'd like them to be built in a machine specific non-linux directory if possible like aarch64-<machine>-none or something. Is this possible?
We are using dunfell release.
Recipes are in meta-mfg/recipes-bsp/mfg-/mfg-_version.bb
Fairly standard recipe setup including:
SECTION = "bootloaders"
SRC_URI..
DEPENDS (native packages only)
do_configure()
do_compile()
do_install()
Current build directory: tmp/work/aarch64-poky-linux/mfg-bootloader/1.x.x-rx/
Preferred build directory: tmp/work/aarch64-<machine>-none/mfg-bootloader/1.x.x-rx/
When building for different machines/soms it uses the same directory and uses the previous build which may be incorrect. We do have a workaround where we don't stamp the configure/build/install tasks so they always rebuild however we'd like a cleaner more appropriate implementation.
Is there any way to accomplish this?
I haven't been able to find any information so far.
I have been pointed to the solution from the IRC channel for anyone with the same question:
Add PACKAGE_ARCH = "${MACHINE_ARCH}" to the recipe to build in machine specific folders.
I have custom recipes in my project which I include in the build process using IMAGE_INSTALL_append. This builds & adds all the recipes to the image.
What I need is that only certain recipes get added to the image and others are just built but not added to the image, so That I can install these manually using the rpms.
Is there a way to do this?
Thanks in advance
you can build every package independently using bitbake without including it in the final image:
bitbake <recipe name>
This will build the recipe and put the rpm in the build/deploy/rpm directory.
I use Yocto image to development some product.
And I need to add or delete recipe in my Yocto image.
I try to using toaster and success to analysis my Yocto image.
But I can't delete already including recipes.
This image is customized and already using in developing.
When starting the toaster, it doesn't have any UI for delete package or recipe.
Only can analysis build image.
Someone has any ideas??
Open toaster and find the bitbake variable at bottom side. then you will find the Add variable.
To remove recipe use IMAGE_INSTALL_remove
To add recipe use IMAGE_INSTALL_append
Yocto generates a rootfs.manifest in the image folder. Would it be possible to also ship it in the roofts easily?
I tried using ROOTFS_POSTPROCESS_COMMAND_append but this cannot work because the manifest is shipped after.
You need to use IMAGE_PREPROCESS_COMMAND. Do refer to the manual on the same.