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.

TDA4VM: Some questions about bitbake

Part Number: TDA4VM

Hi,

In yocto-build/build/conf/bblayers.conf, I removed the following two lines.

yocto-build/sources/meta-browser
yocto-build/sources/meta-qt5

After compiling with the following instructions, the following dependency error appears.

TOOLCHAIN_BASE=<PATH_TO_TOOLCHAIN> MACHINE=j7-evm bitbake -k tisdk-rootfs-image

ERROR: Layer 'meta-arago-distro' depends on layer 'browser-layer', but this layer is not enabled in your configuration
ERROR: Layer 'meta-arago-distro' depends on layer 'qt5-layer', but this layer is not enabled in your configuration
ERROR: Layer 'meta-arago-extras' depends on layer 'qt5-layer', but this layer is not enabled in your configuration

There are several questions here.

1. Are there ready-made tools that can find which packages depend on the layer of browser-layer in meta-arago-distro?
2. If we get the result from above, how to remove the dependencies in the meta-arago-distro layer first ?
3. Can you give an example? For example, I want to remove chromium-related data ?

  • Hi,

    Removing it from the bblayers.conf is not the correct way to achieve what you are trying to final realize.

    The first step in removing any package is to determine how this package is getting included and how many recipes are dependent on this package. In many cases, it could be more than one dependency, one way to figure out the dependency is to use taskexp option of bitbake, I found this article to be useful for this type of activity. Please check this link: https://stackoverflow.com/questions/34303946/how-to-determine-dependencies-of-recipes-in-yocto

    After you identify the dependency it is about analyzing the same and taking action, the simplest type of dependency is an inclusion from packagegroup, and it is just deleting a line. But sometimes, it could mean removing the base dependency in a chain.

    Would you be able to try this method and then try to remove the package that you want?

    Regards

    Karthik

  • Hi,

    Our compilation environment is server-side, so there is no user interface.

    So we can only use the following command to generate dependent files, recipe-depends.dot and task-depends.dot.

    command: bitbake -g recipe-name

    The following is my actual operation process, I want to remove i2c-tools in the rootfs.

    First, I use the following command to get all the recipes, and make sure there is the recipe i2c-tools.

    command: bitbake-layers show-recipes

    Then I use the following command to generate a dependent file, but I don’t know how to analyze the generated files (recipe-depends.dot).

    command: bitbake -g i2c-tools

    bitbake say: NOTE: Flattened recipe dependencies saved to 'recipe-depends.dot'

    When I put the following command into the arago-core-psdkla-bundle.bb,
    the results of tisdk-rootfs-image-j7-evm-20200227035414.rootfs.tar.xz have not changed.

    command: IMAGE_INSTALL_remove += "i2c-tools"

    yocto-build/sources/meta-psdkla/recipes-core/images/arago-core-psdkla-bundle.bb

    Can you help me check which step maybe have the problem?

  • Hi Allen,

    My sincere apologies on the delay to reply to this thread.

    Could you please let me know if you are still looking for a solution for this one? 

    Regards

    Karthik

  • Hi Karthik,
    Thanks for your reply.

    For reducing the size of the file system, it is an important task for us.
    The most basic rootfs can support the demo provided by TI, as follows
    /opt/vision_apps/run_app_tidl_avp2.sh
    Currently we have two research directions to reduce the file system.
    1. Study the Yocto system and then reducing the file system as much as possible,
    but we encountered too many dependencies and we wanted to give up.
    2. From the tiny-rootfs provided by TI, manually add the libraries required by the demo
    (/opt/vision_apps/run_app_tidl_avp2.sh).
    Can give us advice, which one is better?
    If it is possible, will TI help us to make a profile in Yocto to meet our needs directly (Minimize rootfs as much as possible and complete the demo)?
  • Hi Allen,

    I would suggest that you go with the approach #1.

    Can you please reach out to your TI Field Contact and get some advice/help on this? Your customization and optimization is really dependent on your system. Hence it is difficult to provide a generic answer to your question.

    We made a very similar documentation update in the Vision SDK 3.7 which is referenced from this E2E post: https://e2e.ti.com/support/processors/f/791/p/756204/2812548#2812548

    Please try to follow the instructions and ofcourse, it is better to discuss with your TI Field Contact for more detailed discussions.

    Regards

    Karthik