Clarification on Yocto Integration for hailo-apps-infra on Offline Embedded Systems

Continuing the discussion from Hailo8 Integration with Zynq Ultrascale+ MPSoC using PetaLinux (Yocto Langdale, Kernel 6.1):

Hello @omria,

Thank you for the valuable information regarding the deprecation of TAPPAS applications and the shift to hailo-apps. We are also working with an embedded system (TI J784S4 EVM, Yocto-based Linux) where internet access on the target device is not available, and all components must be cross-compiled and installed via Yocto.

We noted your comment “For the hailo-apps-infra we have tested it on embedded system and it has worked!”. This is great news! However, we are currently facing challenges integrating hailo-apps into our Yocto build system in an offline environment.

Could you please provide more detailed guidance on how to properly integrate hailo-apps into a Yocto build for an offline embedded target? Specifically, we have the following questions:

  1. Yocto Layer for hailo-apps

    • Is there a dedicated meta-hailo branch or a new Yocto layer (e.g., meta-hailo-apps-infra) that provides recipes for hailo-apps-infra and its dependencies (including tappas-core plugins and Python bindings for both HailoRT and tappas-core)?

    • If not, what is the recommended approach for creating such recipes, especially for fetching sources in an offline Yocto build?

  2. tappas-core Integration

    • Given that hailo-apps uses tappas-core, are there existing Yocto recipes within meta-hailo for tappas-core plugins (like libgsthailotools.so, hailo-post-processes) that are compatible with hailo-apps?

    • We currently have meta-hailo-tappas (version 5.1.0) installed which provides libgsthailotools.so and various libyolo_post.so files. Is this meta-hailo-tappas layer effectively providing tappas-core for hailo-apps, or should we be looking for something else?

  3. Python Bindings in Yocto:

    • You mentioned needing “Python bindings for both HailoRT and tappas-core.” Are there existing bitbake recipes (e.g., pyhailort) within meta-hailo that will install these bindings into the Yocto rootfs, or do we need to create custom recipes for them?

    • How do we ensure these Python bindings are installed in a way that hailo-apps can locate them on the target?

  4. Recommended Workflow for Offline Builds:

    • What is the officially recommended workflow for building and deploying hailo-apps applications onto an embedded device that cannot access the internet? Should we add the hailo-apps repository itself as a Yocto recipe, or treat it as a collection of Python scripts to be manually deployed after dependencies are met via Yocto?

Any insights or pointers to specific meta-hailo branches, recipes, or documentation would be immensely helpful for our team to properly transition to hailo-apps within our Yocto environment.

Thank you in advance for your continued support!

Hi @ZEQING_YU,

Unfortunately we don’t have a Yocto layer for hailo-apps. That said, a number of the stand-alone application should be able to be integrated into a Yocto based system.

We have this subset that you use as reference:
hailocs/meta-hailo-imx: Meta Hailo for IMX-based platforms

1 Like