Hi community,
I am in the process of upgrading our build machine for our own imx8mm board. We are still using version 5.4.47 as our BSP base and ran our builds on an Ubuntu 18.04
# Used repo
repo init -u https://github.com/nxp-imx/imx-manifest.git -b imx-linux-zeus -m imx-5.4.47-2.2.0.xml
Since ubuntu 18.04 is no longer really up-to-date, I set up a new machine with ubuntu 24.04. After a few stumbling blocks I was able to build the yocto package for the SDK+BSP version 6.6.52.
# Used repo for newes BSP
repo init -u https://github.com/nxp-imx/imx-manifest.git -b imx-linux-scarthgap -m imx-6.6.52-2.2.0.xml
However, since our already sold products use version 5.4.47, we need to build our new binaries with SDK 5.4.47.
In the first step, I tried to use the SDK from ubuntu 18.04, but that ends up in build errors with missing libraries on ubuntu 24.04, so it seems like the SDK has a hard dependency on the build system itself.
As a next step, I tried to build the Yocto package for 5.4.47 on Ubuntu 24.04, which didn't really work. The first issue are the Python versions. You definitely need to use version 2.7 and 3.9, which are not directly available. By using pyenv, the Python issues can be solved.
Now I end up in a build error of the package m4-native, which I have to date.
ERROR: Task (/home/starke/imx-yocto-bsp-5.4.47/sources/poky/meta/recipes-devtools/m4/m4-native_1.4.18.bb:do_compile) failed with exit code '1'
The question is: Is it right to try the build of SDK version 5.4.47 on the new Ubuntu 24.04, or should the SDK from the old Ubuntu machine also work and I just need to figure out how to install the missing libraries?
Also, if anyone knows how to get version 5.4.47 running on Ubuntu 24.04, I'm very interested in how that might work.
Any help would be appreciated.
Solved! Go to Solution.
Just a quick summary for anyone having the same or similar problem.
The build of the zeus YOCTO BSP on ubuntu 24.04 seems to be an endless story. The python version doesn't fit, the gcc is too new and many other issues. For this reason I stopped following this path.
I focused on why the kernel and uboot build fails after installing the SDK of ubuntu 18.04. In the end, the only problem was the gcc version of the host. Ubuntu 24.04 uses the gcc-13 or gcc-14, but the kernel and uboot build requires the gcc-7 version on the host side. To handle the different gcc versions, I use build-essential. With this tool and gcc-7 it is possible to build kernel version 5.4.47 on Ubuntu 24.04 with the YOCTO SDK I built on Ubuntu 18.04.
So if you “only” need to build the kernel and uboot, this works, but the whole YOCTO build of zeus is not possible, on Ubuntu 24.04, from my point of view.
Just a quick summary for anyone having the same or similar problem.
The build of the zeus YOCTO BSP on ubuntu 24.04 seems to be an endless story. The python version doesn't fit, the gcc is too new and many other issues. For this reason I stopped following this path.
I focused on why the kernel and uboot build fails after installing the SDK of ubuntu 18.04. In the end, the only problem was the gcc version of the host. Ubuntu 24.04 uses the gcc-13 or gcc-14, but the kernel and uboot build requires the gcc-7 version on the host side. To handle the different gcc versions, I use build-essential. With this tool and gcc-7 it is possible to build kernel version 5.4.47 on Ubuntu 24.04 with the YOCTO SDK I built on Ubuntu 18.04.
So if you “only” need to build the kernel and uboot, this works, but the whole YOCTO build of zeus is not possible, on Ubuntu 24.04, from my point of view.
Hello,
Sorry there is no ubuntu 24.04 currently running on MX8
Regards
Hi @Bio_TICFSL
I was afraid of just such an answer, but can you please tell me if it should work to transfer a created SDK from my Ubuntu 18.04 to another supported Ubuntu version, like 20.04 or 22.04?
Or do I also need to create the SDK on the operating system I want to use?
Regards