0

I'm running an embedded Linux build on the TI Sitara AM335x module, and using their Processor SDK to build a custom u-boot, kernel, and root filesystem.

Their latest version of the SDK is 06.03 and is pinned against Yocto Thud distributions (which are a bit old now). I've got everything I need setup, have my new BSP, can build everything I need to, but there is exactly one thing I need that I can't get working. The SDK comes with Python 3.5, and I need Python 3.6+ to run a certain tool.

Strictly as an experiment, I've built Docker into the system, and I can run newer containers in there - but that comes with a non-trivial size and performance impact, as well as some additional deployment and upgrade considerations.

I'm trying to figure out if there is a way for me to upgrade only the Python distribution, but I can't seem to find much information about that. There are some notes around about sequentially applying all the patches from later distributions, and trying to compile, debug, etc, but there are a lot of patches and it would be easy to miss something.

I do know one option is to throw away the SDK and go straight Yocto Dunfell, but the Processor SDK comes with a lot of kernel and u-boot tweaks baked in - so I'd like to stick with that in the short term (long, long term plan is to move to straight Yocto and get the latest/greatest).

TLDR; Is there any simple/streamlined mechanism to upgrade Yocto Thud to Python3.6+ without too much risk in finding and applying kernel and rfs patches, or using Docker inside of the rootfs, or moving away from the Processor SDK?

SJoshi
  • 1,866
  • 24
  • 47
  • 1
    You could use dunfell for you product and create a layer out of the Sitara SDK only cherry-picking the actual recipes and conf files you need (e.g. machine configuration file, kernel, u-boot, optee, atf, etc... recipes). You could also try to build on dunfell with the SDK supporting thud only and see how far you can go with it. – qschulz Nov 15 '20 at 09:02
  • Oh, those are interesting idea! How would I do the second one? Are you proposing to use the SDK, and upgrade everything to point at dunfell? – SJoshi Nov 15 '20 at 16:17
  • Just include the SDK layer and upgrade all others to dunfell release and see what happens. You might have to add dunfell to LAYERSERIES_COMPAT of the SDK layer to make it parse but at least that's a start. Honestly, you'd be better off going for the first suggestion but you might try the second for quick progress and go back to first suggestion when you have more time. – qschulz Nov 15 '20 at 19:35
  • Great, I'll try those out and report back. I'm kinda strapped for time, which is why the long-term solution is going to be correct. Just need something I can get running in a few days or so. – SJoshi Nov 15 '20 at 19:46
  • So, it turns out that the Processor SDK is a bit of a mess to update, so what I'm trying instead is just updating all the deps to Dunfell and hoping for the best. It looks like I'm ending up doing your option 1 :) – SJoshi Nov 19 '20 at 01:57

0 Answers0