This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] AM335x/AM437x/AM6x: Can I use Processor SDK Linux v8.x with Ubuntu 20.04 or Ubuntu 22.04?

Part Number: AM335x, AM437x, AM62x, AM62Ax, AM64x, AM65x

Hi,

I got a question for Linux SDK supported Ubuntu version for AM62x.
According to below document, current version is Ubuntu 18.04.
https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/08_03_00_19/exports/docs/devices/AM62X/linux/Release_Specific_Supported_Platforms_and_Versions.html?highlight=ubuntu
But it seems the support for that version will be terminated in 2023.
What will be future Ubuntu version plan and schedule?

Thanks and regards,
Koichiro Tashiro

  • Tashiro-san,

    I've reached out to our SDK team to get some guidance on that and will report back. I'd expect us to officially support Ubuntu 22.04 sometime in the next quarter(s).

    On a related note, I've been using our SDKs / Yocto builds on a Ubuntu 22.04 machine without much trouble really. However this doesn't mean I'd recommend a customer to use this in production, as it is not officially tested/supported yet.

    Regards, Andreas

  • Tashiro-san,

    turns out both our current SDKs which are based on "Yocto Dunfell" as well as our upcoming SDKs which will be based on "Yocto Kirkstone" both only officially support Ubuntu 20.04, see...

    ...so unless something changes on the Yocto side our future official support for our next SDKs may only be for Ubuntu 20.04, not 22.04 as I had hoped.

    While I don't expect/see any real issues using Ubuntu 22.04 myself even at this time, again that is not officially supported. The safest would be to stick to Ubuntu 18.04. You could use a VM or a Docker container if you need to build on a machine running an OS newer/different than that. Note that we also plan to roll out some container-based build system ourselves eventually (there's an internal initiative in the works - timeline TBD). This should also help with any host OS concerns, and the challenges that sometimes occur during Yocto builds or working with our SDKs.

    Regards, Andreas

  • Hi Andreas,

    Thanks for your reply.
    It is not clear for me why you recommend to stick to Ubuntu 18.04?
    Do you have any concerns to migrate Ubuntu 20.04?

    Thanks and regards,
    Koichiro Tashiro 

  • It is not clear for me why you recommend to stick to Ubuntu 18.04?

    This is what is recommended in our SDK documentation. And that is what we develop/test on. So this is our "official" story. I think while from a Yocto POV moving to Ubuntu 20.04 should not be an issue as (unlike 22.04) it is officially supported by Yocto Dunfell, the real reason is that within TI we are at the moment still using Ubuntu 18.04 as our IT-standardized Linux distribution, so we are somewhat tied to this. This will change in future however.

    Using something other than Ubuntu 18.04 there may or may not be some simple errors you may encounter installing prerequisites (via apt install) or using some of the setup scripts but those are usually pretty easy to resolve. However please expect that when requesting support from TI with certain non-obvious SDK-related issues to be asked to try to re-create those issues on Ubuntu 18.04 first.

    Regards, Andreas

  • Some more comments running our SDKs / Yocto builds on Ubuntu 22.04 (which again is not officially supported!). Posting it here as it may help somebody.

    When using the 'linux-devkit' (cross toolchain & sysroot) contained in the SDK (either directly from the SDK, or when you built your own using Yocto) on Ubuntu 22.04, the setting up of the environment may fail with an error as follows:

    $ cd ~/ti-processor-sdk-linux-am62xx-evm-08.03.00.19/linux-devkit
    $ source environment-setup
    qmake: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
    qmake: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
    qmake: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
    qmake: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

    This specific error is caused by 'qmake' which is invoked as part of the env setup script and can be traced down to the 'ld-2.31.so' library that is part of the host sysroot within the devkit that has gotten missed to get patched by the linux-devkit.sh installer script. This means, the devkit installer wasn't able to successfully relocate the devkit, and hence it is partially non-functional. Note that the issue is not caused by _building_ the SDK installer on Ubuntu 22.04, but rather _running_ it in Ubuntu 22.04. The installer script under the hood uses the Linux 'file' command which now returns a different link type ('static-pie linked') for this file than the 'file' command on earlier versions of Ubuntu ('dynamically linked'), causing the installer script to miss patching the file.

    Luckily we can pretty easily patch the devkit installer script/package to make sure it also relocates the 'ld-2.31.so' library by extending the search pattern accordingly. Below steps can be used to patch/repair an installed SDK on Ubuntu 22.04 so that the devkit becomes usable.

    # Enter the installed SDK's root directory (example, adjust as needed for other
    # SDK versions and architectures as needed)
    $ cd ~/ti-processor-sdk-linux-am62xx-evm-08.03.00.19
    
    # Patch the devkit installer script for Ubuntu 22.04 compatibility
    $ sed -e 's/\\(executable\\|dynamically linked\\)/\\(executable\\|dynamically linked\\|static-pie linked\\)/' linux-devkit.sh > linux-devkit-patched.sh
    
    # Make the patched devkit installer executable
    $ chmod +x linux-devkit-patched.sh
    
    # Remove the devkit installed during SDK installation
    $ rm -rf linux-devkit
    
    # Re-install the patched devkit to where the original devkit was installed
    $ ./linux-devkit-patched.sh -d linux-devkit
    Enter target directory for SDK (default: /usr/local/arago-2021.09): linux-devkit
    You are about to install the SDK to "/home/a0797059/ti-processor-sdk-linux-am62xx-evm-08.03.00.19/linux-devkit". Proceed[Y/n]?
    Extracting SDK...done
    Setting it up...done
    SDK has been successfully set up and is ready to be used.
    
    # Activate the devkit for testing purposes
    # Note how this no longer shows errors, and how the qmake command can be
    # used without any issues
    $ cd linux-devkit
    $ source environment-setup
    
    [linux-devkit]:~/ti-processor-sdk-linux-am62xx-evm-08.03.00.19/linux-devkit> qmake -v
    QMake version 3.1
    Using Qt version 5.14.2 in /home/a0797059/ti-processor-sdk-linux-am62xx-evm-08.03.00.19/linux-devkit/sysroots/aarch64-linux/usr/lib

    Regards, Andreas

  • This particular fix has been incorporated as of our Processor SDK Linux v8.5. With this, the linux-devkit seems to install/work correctly under Ubuntu 22.04 right out of the box.

    Also, our upcoming Processor SDK Linux v9.x series (based on Yocto Kirkstone) will officially support Ubuntu 22.04.