I would like to compile my own image using Yocto, is there a guide for this?
I would like to compile my own image using Yocto, is there a guide for this?
I'm hunting down the same trail Bryant. I can confirm that no distro or image variation built for imx8mqevk.conf will boot on the MAAXBOARD. I'm running a build for imx8_all now and will report back if I have any luck. It appears to me that there isn't a machine conf specifically supported just yet.
Joshua,
Great to hear someone is in the same boat. I appreciate you letting me know that EVK conf didn’t work, as that was something I wanted to try. Please do let me know if you have any success with the imx8_all build!
First build utilizing imx8_all failed with errors relating to optee. It initially looked like there was a typo somewhere down the layer conf. It reports "Unsupported PLATFORM_FLAVOR "mx8_all" - Notice the "i" missing in imx8_all. That doesn't seem intentional, so I did a sweeping grep against that variable name...
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:B = "${WORKDIR}/build.${PLATFORM_FLAVOR}"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6qpdlsolox = "mx6qsabresd"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6ul7d = "mx6ulevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6ull14x14evk = "mx6ullevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6ull9x9evk = "mx6ullevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6ulz14x14evk = "mx6ullevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_mx8mm = "mx8mmevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx8qmqxp = "mx8qmmek"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:EXTRA_OEMAKE = "PLATFORM=imx PLATFORM_FLAVOR=${PLATFORM_FLAVOR} \
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb: ${TARGET_PREFIX}objcopy -O binary ${B}/core/tee.elf ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb: -d ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT}
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb: ln -sf tee.${PLATFORM_FLAVOR}.bin tee.bin
I see no static assignments, but you can see on the second line that the value is being set by parsing the MACHINE name. Since we can't add an appending space to a machine name in local.conf, I edited this line of the .bb changing the 1 to 0 so it would not cut off the "i" in the MACHINE name. Making this change resolved the parsing issue, but still received....
*** Unsupported PLATFORM_FLAVOR "imx8_all". Stop.
This tells me that optee doesn't know what to do with the MACHINE imx8_all, so I edited the optee-os-imx_git.bb by commenting out the line assigning the PLATFORM_FLAVOR variable by parsing the MACHINE name and added a new line statically setting it to "imx-imx8mqevk" per the docs here>https://github.com/OP-TEE/optee_docs/blob/master//general/platforms.rst
This will fail under SUMO (the same version the MAAXBOARD ships with), because the optee version under the BSP did not yet inherit 8mq support. So this leaves me with going BACK to warrior if I want to test imx8_all build.... just to test, I did set the PLATFORM_FLAVOR to "mx8qmmek" just to get a successful build, but same result once the image is flashed... nada.
At this point it looks like we will either have to prep our own machine conf with the data we have, or wait on an office conf that supports this machine. I also need to be on warrior due to dependencies I need, so I'll likely go back to warrior and tinker some more. If I have any luck I'll be sure to keep you posted.
First build utilizing imx8_all failed with errors relating to optee. It initially looked like there was a typo somewhere down the layer conf. It reports "Unsupported PLATFORM_FLAVOR "mx8_all" - Notice the "i" missing in imx8_all. That doesn't seem intentional, so I did a sweeping grep against that variable name...
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:B = "${WORKDIR}/build.${PLATFORM_FLAVOR}"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR = "${@d.getVar('MACHINE')[1:]}"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6qpdlsolox = "mx6qsabresd"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6ul7d = "mx6ulevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6ull14x14evk = "mx6ullevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6ull9x9evk = "mx6ullevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx6ulz14x14evk = "mx6ullevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_mx8mm = "mx8mmevk"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:PLATFORM_FLAVOR_imx8qmqxp = "mx8qmmek"
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb:EXTRA_OEMAKE = "PLATFORM=imx PLATFORM_FLAVOR=${PLATFORM_FLAVOR} \
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb: ${TARGET_PREFIX}objcopy -O binary ${B}/core/tee.elf ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb: -d ${DEPLOYDIR}/tee.${PLATFORM_FLAVOR}.bin ${DEPLOYDIR}/uTee-${OPTEE_BIN_EXT}
../sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-security/optee-imx/optee-os-imx_git.bb: ln -sf tee.${PLATFORM_FLAVOR}.bin tee.bin
I see no static assignments, but you can see on the second line that the value is being set by parsing the MACHINE name. Since we can't add an appending space to a machine name in local.conf, I edited this line of the .bb changing the 1 to 0 so it would not cut off the "i" in the MACHINE name. Making this change resolved the parsing issue, but still received....
*** Unsupported PLATFORM_FLAVOR "imx8_all". Stop.
This tells me that optee doesn't know what to do with the MACHINE imx8_all, so I edited the optee-os-imx_git.bb by commenting out the line assigning the PLATFORM_FLAVOR variable by parsing the MACHINE name and added a new line statically setting it to "imx-imx8mqevk" per the docs here>https://github.com/OP-TEE/optee_docs/blob/master//general/platforms.rst
This will fail under SUMO (the same version the MAAXBOARD ships with), because the optee version under the BSP did not yet inherit 8mq support. So this leaves me with going BACK to warrior if I want to test imx8_all build.... just to test, I did set the PLATFORM_FLAVOR to "mx8qmmek" just to get a successful build, but same result once the image is flashed... nada.
At this point it looks like we will either have to prep our own machine conf with the data we have, or wait on an office conf that supports this machine. I also need to be on warrior due to dependencies I need, so I'll likely go back to warrior and tinker some more. If I have any luck I'll be sure to keep you posted.