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.

[参考译文] Linux/processor-SDK-AM335X:在基本 Arago 文件系统上添加 SGX。

Guru**** 2578945 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/622353/linux-processor-sdk-am335x-adding-sgx-on-base-arago-file-system

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Linux

您好!

我正在使用 Processor SDK 3.4。

我需要一个小型系统、但它必须具有3D 加速器支持。

使用大文件系统时、它有太多我不需要的东西。

使用基本文件系统、我无法在 init 文件夹中找到 rc.pVR。 它看起来不是小型文件系统的一部分。

添加它的过程是什么?

是通过 Linux 的 menuconfig、然后构建。

或者、它是必须编译然后安装在目标上的单独软件包吗?

此致、

Ugnius

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ugmius、

    处理器 SDK Linux 提供文件系统映像、其中包含提取 SoC 中可用的各种硬件加速器的程序、脚本、Linux 用户空间组件。 文件系统可以通过 Yocto 完全汇编。

    processors.wiki.ti.com/.../Processor_SDK_Linux_Filesystem
    processors.wiki.ti.com/.../Processor_SDK_Building_The_SDK

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Pavel、

    感谢您的回答。 尝试使用构建 SDK 步骤如果我不进行修改就像基本 SDK 一样、其中包含了所有内容。

    然后、 使用 DISTR_FITS_REMOVE、我可以在获取之前从其中删除功能。

    是否有可为我提供裸底座的删除列表、我可以选择不使用哪些删除来保留所需的功能?

    或者、是否有一个选项可以将其转换为裸机版本、并且我可以使用命令添加功能?

    该示例具有:

    DISTR_FITS_REMOVE ="航迹"

    "wayland"看起来像是从 SDK 中删除此模块的关键字。

    是否有描述所有可能选项的文档?

    此致、

    Ugnius

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ugnius、

    我只能找到另外两个与文件系统定制相关的 Wiki:

    processors.wiki.ti.com/.../Customization
    processors.wiki.ti.com/.../Sitara_Linux_Training:_Getting_Started_with_Openembedded

    如需更多信息、请查看 Yocto 文档。

    还可以选择在裸机文件系统中添加图形、而不是从完整文件系统中删除未使用的功能:

    e2e.ti.com/.../594535


    此致、
    帕维尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Pavel、

    是的、理想情况下、我要向裸系统添加3D 支持。
    我将查看您提供的资源。

    此致、
    Ugnius
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来、SGX 驱动程序可从 SDK/board-support/extra drivers/获得

    我可以使用 make ti-SGX-DDK-km 从 SDK 的根目录构建它

    但是、当我尝试将其安装到文件系统时、它会抱怨不相关的符号:

    安装/home/tisdk_3304/board-support/extra-drivers/ti-sgx-ddk-km-1.14.3699939/eurasia_km/eurasiacon/binary2_omap_linux_release/target/kbuild/bc_example.ko
    安装/home/tisdk_3304/board-support/extra-drivers/ti-sgx-ddk-km-1.14.3699939/eurasia_km/eurasiacon/binary2_omap_linux_release/target/kbuild/pvrsrvkm.ko
    depmod 4.4.41-g968d071ce9
    depmod:警告:/home/tisdk_3304/targetNFS/lib/modules/4.4.41-g968d071ce9/kernel/fs/configfs/configfs.ko 需要未知符号 RT_DOWN_READ
    depmod:警告:/home/tisdk_3304/targetNFS/lib/modules/4.4.41-g968d071ce9/kernel/fs/configfs/configfs.ko 需要未知符号_mutex_lock
    depmod:警告:/home/tisdk_3304/targetNFS/lib/modules/4.4.41-g968d071ce9/kernel/fs/configfs/configfs.ko 需要未知符号 RT_SPIN_UNLOCK
    depmod:警告:/home/tisdk_3304/targetNFS/lib/modules/4.4.41-g968d071ce9/kernel/fs/configfs/configfs.ko 需要未知符号 RT_SPIN_LOCK

    它有很多这些警告。
    这是否意味着它实际上无法写入?

    我使用的 SDK 是 RT 版本。
    因此我的内核版本是4.4.41-rt50-g968d071ce9
    我必须从文件系统中删除 rt50名称位才能访问正确的位置。
    这些警告是否是由于我使用的是 RT Linux 版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ugnius、

    您是否使用同一 TI PSDK 中的 Linux 内核和 SGX 驱动程序? 您最终确切使用的是哪款 AM335x TI PSDK?

    确保模块(SGX 驱动程序)是根据当前加载的内核构建的。 另请参阅以下 e2e 线程是否将提供帮助:

    e2e.ti.com/.../562953
    e2e.ti.com/.../483575
    e2e.ti.com/.../480383

    此致、
    帕维尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我在一台机器上构建了它、然后使用我自己的 git repo 将它移到另一台机器上。
    看起来我的第一台计算机安装了正常版本、第二台计算机安装了 RT 版本。
    基本上、我已将正常的 SDK Linux 文件签出到 RT 版本 SDK 中。 这就是为什么安装 SGX 会触发版本不匹配错误的原因。

    仅使用 RT SDK、我就成功构建模块并将其安装到我的文件系统中。

    安装模块是自动设置驱动程序、还是在使用驱动程序之前必须在目标端执行任何操作?

    我尝试运行的应用程序找不到 libEGL.so。
    它是 SGX 驱动器的一部分吗?

    错误为:error:libEGL.so:cannot open shared object file:no such file or directory (错误:libEGL.so:无法打开共享目标文件:无此类文件或目录)。

    此致、
    Ugnius
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ugnius、

    [引用 user="Ugnius Subacius"]安装模块是否会自动设置驱动程序,或者我是否必须在目标端执行任何操作才能使用驱动程序?

    成功安装后,ti-SGX-DDK-km (pvrsrvkm.ko)驱动程序应该可以使用。 有关详细信息、请参阅以下 Wiki 页面:

    [引用 user="Ugnius Subacius"]我尝试运行的应用程序找不到 libEGL.so。
    它是 SGX 驱动程序的一部分吗?[/quot]

    我可以在 PSDK Linux-Devkit 中找到此类文件

    {PSDK}/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/lib

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、

    我尝试将应用程序所需的库文件从{PSDK}/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/lib 复制到我的目标/usr/lib 文件夹。

    但是、最终仍然无法正确加载它们:


    信息[0.398]:初始化[157.407413] PVR_K:(错误):BridgedDispatchKM:驱动程序初始化尚未完成。
    Lize 插件:[gerio (4.1.1.21580)][]

    PVR:(错误):无法加载 WS 模块 libpvrws_WAYLAND.so [0、]
    PVR:(错误):PVRSRVBridgeCall:无法访问设备。 函数 ID:3223086849 (strerror 不返回任何值。)。 [0、]
    PVR:(错误):PVRSRVEnumerateDevices:BridgeCall Failed [0、]
    PVR:(错误):PVRSRVConnect:无法枚举设备。 [0、]
    PVR:(错误):无法连接到服务[0、]
    警告[0.418]:eglInitialize:Failed (初始化:失败)。 eglGetError 返回3003

    我将尝试使用 bitbake 来编译缺少的软件包、然后进行安装

    我是针对 ti-SGX-DDK-um 做的。
    但它仍然需要:
    wayland、libdrm-omap1和 libgbm2

    将尝试使其免受 bitbake 的影响。