How to explicitely use u-boot recipes from latest BSP on earlier Yocto BSP?

Hello Toradex Team !

We use Linux BSP 2.7b2 on iMX6 Apalis modules. As we encountered some issues with booting USB sticks from the U-boot 2016.11 prompt (a lot of sticks are not/badly detected…), we have been testing the u-boot binaries from your latest BSP 3.0b2 (2019.07). This looks really better!

Now we would like to “import” this u-boot release in our old BSP yocto toolchain, replacing the original release.
But it seems to be more difficult than expected (as 2019.07 is not known by the old BSP), could you help me a bit on the proper way to follow ?

Thanks a lot !
Fred.

An additional interesting hint about these Yocto BSP would be to understand how the ‘virtual/bootloader’ placeholder becomes ‘u-boot-toradex’ and ‘2016.11’ is selected at compile time (and same question concerning virtual/kernel, toradex-linux, and 4.1-2.0.x-2.7.2).

Hi @fred.rol

Thanks for writing in the Toradex Community!

We use Linux BSP 2.7b2 on iMX6 Apalis modules

This is quite an old Bsp. You should update to Bsp 2.8 at yours earliest convenience.

As we encountered some issues with booting USB sticks from the U-boot 2016.11 prompt (a lot of sticks are not/badly detected…),

Are you using the U-Boot delivered with 2.7b2 or did you update U-Boot to the newest commit in this branch?

we have been testing the u-boot binaries from your latest BSP 3.0b2 (2019.07). This looks really better!

That’s good.

Now we would like to “import” this u-boot release in our old BSP yocto toolchain, replacing the original release.

First of all, it is not easy to mix up new U-Boot with Old kernel. There were lot of changes in U-Boot since the kernel 4.1.x used in Bsp 2.7. If you really want to do this, then I would suggest you take a Bsp 2.7 image and just then replace U-Boot and try to make the kernel run.

Once you have a running image with old kernel and new U-Boot, then you can try to integrate this in OpenEmbedded Build.

Best regards,
Jaski

Hello Jaski, thanks a lot for your answer.

I reply to yours :slight_smile:

It was hard to boot on USB sticks using BSP 2.7b2 with the U-boot release delivered as is :
“u-boot-toradex_2016.11-2.7.2-gitr60021a4”. The embedded image (uboot+bootfs+rootfs) was produced by our Yocto toolchain build.
We experienced errors like “EHCI timed out on TD” or “0 Storage Device(s) found” or “Bad device”. We even tried to fix USB_MAX_XFER_BLK in u-boot sources, but it was a no success.

When extracting u-boot binaries from prebuilt BSP 3.0b2 and updating nvram with, all the same sticks booted OK.

Yes, I do prefer to update to BSP 3.0, when do you plan to release the stable version?

At the moment we consider modify our Yocto toolchain to get a later release of U-boot, from 2.8 or 3.0, but I do not really understand if I should build BSP 3.0, extract u-boot from it and then write binaries back into the old 2.7 image, or if I have to overwrite some parts of meta-toradex-nxp by a recent release…
My last tries on this latter idea were not really successful :slight_smile:

By the way I’m not really confident on deploying something that will update u-boot nvram…

I’m glad to know that you’re always available for providing some good advices ! Thank you !

Best regards,
Fred.

Hi @fred.rol

Sorry for the delayed answer.

Yes, I do prefer to update to BSP 3.0, when do you plan to release the stable version?

I need to check this internally and I will come soon back to you.

At the moment we consider modify our Yocto toolchain to get a later release of U-boot, from 2.8 or 3.0, but I do not really understand if I should build BSP 3.0, extract u-boot from it and then write binaries back into the old 2.7 image, or if I have to overwrite some parts of meta-toradex-nxp by a recent release… My last tries on this latter idea were not really successful :slight_smile:

I would stick to one stable version as Bsp 2.8 and there you can try to some parts of the new U-Boot.

By the way I’m not really confident on deploying something that will update u-boot nvram…

Why?

Best regards,
Jaski