Package File System Unpacking - UG1630

Kria SOM App Store Applications Developer Deployment Guide for Ubuntu (UG1630)

Document ID
UG1630
Release Date
2023-08-11
Revision
1.0 English

The Linux community defines best practices on managing the Linux file system for dynamically deployed applications (https://refspecs.linuxfoundation.org/FHS_3.0/ fhs-3.0.html#optAddonApplicationSoftwarePackages). Many open-source libraries also make assumptions around the file system structure, including the AMD on-target management utilities (e.g., dfx-mgrd). Application developers must ensure that they create package definitions that install the packaged files using the following file system structures:

  • Load the application into /opt/<company_name>/<application>/bin
  • Load libraries into /opt/<company_name>/<application>/lib
  • Load firmware into /lib/firmware/xilinx/<application>
  • Supporting media:
    • /opt/<company_name>/<application>/share/movies
    • /opt/<company_name>/<application>/share/notebooks
    • /opt/<company_name>/<application>/share/images

In all instances, developers should verify names to eliminate any conflicts with existing packages in the Docker registry.

The following example shows how the package must be unpacked to the file system for the xmutil and dfx-mgrd to run in the file structure for an AMD accelerated application.

  • Application location: /opt/uncanny/uncanny-kv260-smartcamera-alpr
  • Contains executable application
  • Contains associated application helper scripts
  • Application bitstream: /lib/firmware/xilinx/uncanny-kv260-smartcamera-alpr
  • Contains *.bit.bin or *.bit
  • Contains *.dtbo
  • Contains *.xclbin (optional, only required for XRT-based designs)
  • Contains shell.json