PROCESSOR-SDK-AM64X: Removing and Adding Packages in Processor SDK Linux for AM64X

Part Number: PROCESSOR-SDK-AM64X

Tool/software:

"How can I remove specific packages and their dependencies in a minimal build for the Processor SDK Linux for AM64X according to my requirements? Additionally, how can I add packages if the Install: Append method is not working?"

  • Hi Jeevan,

    The SDK Linux filesystem is compiled using Yocto. I am routing your query to our Yocto expert for comments.

  • "How can I remove specific packages and their dependencies in a minimal build for the Processor SDK Linux for AM64X according to my requirements?

    Best is to start with a smaller image tatget, and add to it, piece by piece, like the tisdk-base-image. Also, try tounderstand and leverage the Yocto dependency graph feature (there's some online resources available to provide guidance, please do a quick Internet search).

    Additionally, how can I add packages if the Install: Append method is not working?"

    There's many ways of adding packages to a build; one common and simple method is by extending conf/local.conf as shown below (note the use of space, it is not optional!)

    IMAGE_INSTALL:append = " package_1 package_2 ..."

    If you have a specific issue, please provide steps to re-create and I will have a look.

    Regards, Andreas

  • How can I remove specific packages like git,  gcc, etc .., along with their dependencies, in a minimal build for the Processor SDK Linux for AM64X to reduce storage usage?

  • I have done this method but some packages are not working, I am trying to add packages, but the IMAGE_INSTALL:append = " package_1 package_2 ..." method is not working for some packages.

  • How can I remove specific packages like git,  gcc, etc .., along with their dependencies, in a minimal build for the Processor SDK Linux for AM64X to reduce storage usage?

    Have you looked and used the dependency graph feature? This should give you a good starting point. Note that some packages get included by way of package groups (packagegroup-*.bb) so you may need to update/modify those package groups to remove the packages from there, either through updating  conf/local.conf, or by amending (*.bbappend) the package group. And some packages are not included directly, but through runtime dependencies (like RDEPENDS).

    Also besides the dependency graph, recursively searching for package name references (using `grep -r`) or package file names themselves  (using `find . -iname <...>`) through Yocto's `sources/` directory will provide a detailed understanding of the hierarchies, but this is a bit of an advanced activity.

    I have done this method but some packages are not working, I am trying to add packages, but the IMAGE_INSTALL:append = " package_1 package_2 ..." method is not working for some packages.

    You'll need to provide one specific example so I can have a look.

    Also, in case you have flexibility as to which distro you use, I'd recommend you looking into our official Buildroot SDK offering. It is much simpler to use and configure, with a menu-driven configuration system, where you can very easily add/remove packages to tailor your generated distribution.

    Regards, Andreas

  • Thank you , However, could you please guide how to build a minimal image for Processor SDK Linux for am64xx-evm that allows me to remove unnecessary packages and dependencies? How can I create a build specifically for am64xx-evm? Typically, the minimal target build is between 70 and 120 GB; however, how can I create a build that is less than 5 GB so that I can push into GIT?, what should i change in local.conf or any files with commands.

  • However, could you please guide how to build a minimal image for Processor SDK Linux for am64xx-evm that allows me to remove unnecessary packages and dependencies?

    Start with one of the smaller images we have. If tisdk-base-image is too big, go with the tisdk-tiny-image. Add things you need, it's usually easier. Also this should only really be used for prototyping. For a production image one would usually create their own distribution layer, and not use our Arago reference distribution, which is targeted/intented to provide a comprehensive and easy to use device experience while maintaining good-enough performance.

    Typically, the minimal target build is between 70 and 120 GB; however, how can I create a build that is less than 5 GB so that I can push into GIT?, what should i change in local.conf or any files with commands.

    Perhaps I misunderstand what you are trying to do here but you are not suggesting here archiving the entire build/ folder into Git, do you?

    Regards, Andreas