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.

PROCESSOR-SDK-AM335X: What's the recommended way to update kernel and/or entire SDK version in an existing project?

Part Number: PROCESSOR-SDK-AM335X


We have a project based on AM335X SDK version 06_03_00_106.

We were forced to update the hardware with a new PHY chip which has better support in a newer kernel. While I tried backporting the driver it quickly became a rabbit hole since a lot of changes were introduced in the networking subsystem.

Two questions

  1. Is it possible to just update the kernel (4.19.94 to 5.10.100) within the SDK. What are the steps?
  2. If #1 is not feasible, what are the steps to update a project made from an older SDK version? (06_03_00_106 to 08_02_00_24)

I could not find any notes in the SDK documents regarding this.

Thanks in advance.

  • Hi Slawek,

    Yes, it is possible to just update the kernel in your project, unless your user space application has used an kernel interface which has been removed in the new kernel, which case is very rare.

    The guideline of the kernel migration process would be taking whatever kernel changes you made on top of SDK 6.3 kernel (hopefully the changes are managed in git in your sw repo), then apply them to the SDK 8.2 kernel.

  • Hi Bin,

    Thanks for your reply. So, it sounds like the recommendation is to start with a virgin 8.2 SDK then and reintroduce all custom conf's and recipes.

    If I wanted to save time and just update 4.19.94 to 5.10.100 in my existing SDK, do you have any documentation/guides/patches on where and how to update the Yocto recipes to make that change?

    Thanks.

  • Hi Slawek,

    I support Linux but am not familiar with Yocto actually. I am routing your query to our Yocto expert for comments.

  • Hi Slawek,

    If I wanted to save time and just update 4.19.94 to 5.10.100 in my existing SDK, do you have any documentation/guides/patches on where and how to update the Yocto recipes to make that change?

    we don't have documentation specific to that but one straightforward way to do this is to setup the SDK build from Yocto sources as per current/latest AM335x Linux SDK documentation. Then, search that 'sources' tree for instances of "linux-ti-staging-*", inspect the appropriate files, and carry over changes to the recipes as needed. Some of that  depends really how you setup your own layers/distribution/etc. in terms of what is carried forward from the TI SDK or not, and any customizations you may have introduced. And watch out for any patches that need to be carried over, carried forward, or dropped.

    ~/tisdk/am335x-evm/sources
    $ find . -name 'linux-ti-staging*'
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-5.10
    ./meta-ti/recipes-kernel/linux/linux-ti-staging_5.10.bb
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-5.4
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-systest_5.10.bb
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-rt_5.10.bb
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-systest-5.10
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-rt_5.4.bb
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-systest-5.4
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-rt-5.4
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-systest_5.4.bb
    ./meta-ti/recipes-kernel/linux/linux-ti-staging_5.4.bb
    ./meta-ti/recipes-kernel/linux/linux-ti-staging-rt-5.10
    ./meta-arago/meta-arago-distro/recipes-kernel/linux/linux-ti-staging-rt_%.bbappend
    ./meta-arago/meta-arago-distro/recipes-kernel/linux/linux-ti-staging_%.bbappend
    ./meta-arago/meta-arago-distro/recipes-kernel/linux/linux-ti-staging
    ./meta-arago/meta-arago-distro/recipes-kernel/linux/linux-ti-staging-systest_%.bbappend
    ./meta-processor-sdk/recipes-kernel/linux/linux-ti-staging-rt_5.4.bbappend
    ./meta-processor-sdk/recipes-kernel/linux/linux-ti-staging_5.4.bbappend

    Regards, Andreas