Hi,
Summary of what I'm trying to do:
I have an evaluation board (i.MX 8M mini LPD4), I'm trying to create an image for it that has openssh instead of dropbear that comes in L5.4.70-2.3.0 distribution. Eventually it would have a UI app running on the i.mx8 with Linux OS.
Changes I have made:
in local.conf (/poky/build/conf/):
1. EXTRA_IMAGE_FEATURE ?= "debug-tweaks ssh-server-openssh"
2. MACHINE ??= "imx8mm-lpddr4-evk"
Issues:
When I'm trying to bitbake the image (bitbake core-image-minimal-dev) I'm getting the following error:
ERROR:Nothing PROVIDES 'imx-boot' (but /workdir/poky/meta/recipes-core/images/core-image-minimal-dev.bb DEPENDS on or otherwise requires it)
imx-boot was skipped: This Soc requires 'SECO_FIRMWARE_NAME', define it in 'use-imx-security-controller-firmware' bbclas
ERROR: Required build target 'core-image-minimal-dev' has no buildable providers. Missing or unbuildable dependency chain was: ['core-image-minimal-dev', 'imx-boot']
Questions:
1. Are my changes correct to what I need the image to do?
2. Is my bitbake command correct? do I need to add anything else to it? pokyuser:/workdir/poky/build$ bitbake core-image-minimal-dev
3. In the use-imx-security-controller-firmware.bbclass (poky/meta-freescale/classes/), it indicates: [Currently, only 'mx8m' family does not require SECO FW to be provided in the
# target image, therefore as a first step - the machine override is verified
# if it matches, and then derivative is taken].
-In imx8mm-evk-inc, MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:". Is there another place where I need to change this? I'm guessing somewhere I have to fix the file to tell it it's an 8m mini so it does not complain about SECO is needed. I have tried putting AHAB and HAB instead of empty strings for SECO_FIRMWARE_NAME, but I get incompatibility errors instead.
I'm new to this whole NXP/bitbake world, so any help would be appreciated!
ND
Hi Noel
-----------------------
I have successfully built the core-image with openssh in i.mx8mm-lpddr4-evk. Belows is my change in local.conf file (build/conf). The test yocto is L5.4.70_2.3.0.
MACHINE ??= 'imx8mmevk'
EXTRA_IMAGE_FEATURE ?= "ssh-server-openssh"
IMAGE_INSTALL_append += " packagegroup-core-ssh-openssh openssh-sftp-server"
INHERIT += "extrausers"
EXTRA_USERS_PARAMS = "usermod -P password root"
As you can see, I can run ssh well in the imx8mm lpddr4 evk with the built core-image.
Questions:
1. Are my changes correct to what I need the image to do?
A: You may check with my change in the local.conf and see the result.
2. Is my bitbake command correct? do I need to add anything else to it? pokyuser:/workdir/poky/build$ bitbake core-image-minimal-dev
A:Yes. Your bitbake command is right. Y
3.In the use-imx-security-controller-firmware.bbclass (poky/meta-freescale/classes/), it indicates: [Currently, only 'mx8m' family does not require SECO FW to be provided in the
# target image, therefore as a first step - the machine override is verified
# if it matches, and then derivative is taken].
-In imx8mm-evk-inc, MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:". Is there another place where I need to change this? I'm guessing somewhere I have to fix the file to tell it it's an 8m mini so it does not complain about SECO is needed. I have tried putting AHAB and HAB instead of empty strings for SECO_FIRMWARE_NAME, but I get incompatibility errors instead.
A: I'm not sure how the SECO error occurs, since i.MX8MM system boots without SECO.
-----------------------
Best regards
igor
Hi Igor,
Thank you for your speedy response. I'm still not able to built the image. When I change the machine to imx8mmevk and the local file to the parameters that you recommended, I get that the machine is invalid.
If I keep your local file parameters and change the machine to imx8-lpddr4-evk, then I original errors.
The screenshot below shows both error mentioned above.
(screenshot from Docker terminal showing errors)
The screenshot below shows my folder structure within the docker image, am I missing any other meta folder?
(screenshot from VS Code)
Thanks,
ND
------------------------------
I can't see the pictures clearly, could you attach the screenshot pictures? And what did the customer use to build the image? The structures seem to be different with Yocto. I built the image successfully with Yocto L5.4.70_2.3.0, please follow the Yocto user guide to setup the environment and change the local.conf file in your the build path. ( for example, my path : imx-yocto-bsp/build_845/conf/).
i.MX Yocto Project User’s Guide
------------------------------
Best regards
igor
Igor,
I have attached the screenshots as requested. I have been through the Yocto Project user guide in order to set up my environment but I will go through the steps again to see if I missed anything. If you notice anything not correct with my screenshots, please let me know.
Thank you,
ND
------------------------------
As you can see, my yocto structure is different with the customer's.
-------------------------------
Best regards
igor
Hi Igor,
So I was able to get passed the SECO issue and I'm able to bitbake with core-image-minimal, thanks for you help.
I do have a related question, in the image that you provided of your structure, I see that you have meta-imx layer. I can't find that on github or the yocto project. Where can I clone it from? The reason I'm asking, in the 5.4.70 docs, it shows in order to do imx-image-full I would need the meta-imx/meta-sdk layer.
Thanks,
ND
-----------------------
For meta-imx layer, you may check here.
https://source.codeaurora.org/external/imx/meta-imx
But the layer should be in the structure when you follow the right steps of Yocto User Guide.
-----------------------
Best regards
igor
Thanks Igor.
Yocto User Guide shows to use repo commands which I don't have access to in Docker Station and it won't let me install it. So I have been using git clone command instead, so I'm doing it one layer at a time. Thanks once again.
ND