Re: building image for Realtek RTS3916N mips SoC using vendor provided prebuilt external uClibc toolchain


Khem Raj
 

On 12/28/21 2:53 PM, davis roman wrote:
Hi all,
I'm working on a project utilizing a Realtek RTS3916N mips SoC and as
part of Realtek's bsp offering, they provide their own fork of
buildroot packaged with their prebuilt binary toolchain.
I would much rather use yocto instead however Realtek made it clear
that no yocto support is available from their end and they have no
plans to provide it in the future.
In theory, I have Realtek's u-boot and kernel source so it should be
possible to build an image so long as poky is instructed to use an
external toolchain. This is where I hit my first road block because
Realtek only supports uClibc and I know the yocto community moved way
from uClibc, in favor of musl, since the Morty release. As a result, I
decided to use Krogoth-15.0.0 (knowing it's EOL) only because it
supports uClibc.
Now that I had picked a specific version of poky, I continued forward
with the EXTERNAL_TOOLCHAIN feature. The documentation references the
meta-sourcery layer as the typical use case. Using a sourcery
toolchain tarball ( 2014.05) I was able to build qemuarm/glibc
therefore as far as I can tell the EXTERNAL_TOOLCHAIN feature works as
documented.
Unfortunately, the issue I have now arises when I use the Realtek
toolchain. meta-sourcery informs me that building against uClibc is
not allowed as it has been blacklisted. Only glibc appears to be
supported.
I have looked around to see what other projects are similar and the
closest I can find is the creator CI20 however due to the Realtek
toolchain being based on uClibc, I haven't been able to find anything
suitable for my usecase.
I would greatly appreciate any suggestions regarding how to proceed
forward with yocto integration, using a mips uClibc based toolchain.
We have dropped uclibc support long time ago so any effort to support uClibc based system will be a bit of work and we have also dropped stale patches from metadata so even if you are able to get external toolchain bolted in, you will unfurl next set of problems for yourself So I don't have a better answer for you here, other than drop the idea of using uclibc if you want to use modern yocto baseline. We did support it long time ago so if you like you can use thise EOLed releases but there wont be much support for it here on community mailing lists.

Is there any other course of action that I can try?
Since you have bootloader and kernel available to you, it might be less work to put together a BSP layer and machine definition for this SOC easily and it could be forward looking but there could be some portability issues w.r.t. toolchain etc. which are manageable
here you will use internal mips toolchain to build your system and you can use musl instead of uclibc to build the system or glibc is other supported option.

Thank you,
Davis

Join yocto@lists.yoctoproject.org to automatically receive all group messages.