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.

[参考译文] PROCESSOR-SDK-AM57X:在 TMDSIDK572 (am572x.idk)上引导"tisdk-default-image"

Guru**** 2553450 points
Other Parts Discussed in Thread: TMDSIDK572

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1193883/processor-sdk-am57x-booting-tisdk-default-image-on-tmdsidk572-am572x-idk

器件型号:PROCESSOR-SDK-AM57X
主题中讨论的其他器件:TMDSIDK572

大家好!

我的开发使用电路板"TMDSIDK572"(AM572x 工业开发)和"TI Processor SDK Linux for AM57X"。

经过许多尝试和一些更正后、我设法在 Yocto 的帮助下构建了映像"tisdk-default-image"(另请参阅此处的线程 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1189145/processor-sdk-am57x-version-08_02_01_00-sdk-build-error/4486582)

目标配置为从 TFTP 服务器引导 Linux 内核、并从 NSF 服务器引导根文件系统。
我将构建的映像存档"tsdk-default-image-am57xx-evm.tar.xz"解压到 NSF 服务器的目录中。

TMDSIDK572引导成功、并在连接的 HDMI 监视器上向我显示登录提示。

TMDSSDK572随附两个 mini SD 卡:"Linux SDK"和"工业 SDK"。
如果 TMDSIDK572是从 SD 卡"Linux SDK"引导的、则启动包含一些演示应用程序的图形用户界面。

现在、我预计、从 NSF 服务器引导映像"tisdk-default-image"时、还会启动带有演示应用程序的图形用户界面。

SD 卡上的映像与使用 Yocto 构建的映像之间有何差异?

如何才能使用 Yocto 创建的图像也自动启动图形用户界面和演示应用程序?

"am572x-evm"和"am572x-idk"之间是否有任何重要差异?

1月

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

    有关 Yocto 构建的注意事项:
    我指定了机器=am57xx-EVM。
    我在"meta-ti/conf/machine/"目录中找不到"am57xx-idk"或类似的定义。
    只剩下一个配置"am57xx-hs-evm"。

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

    我将根文件系统从 SD 卡(分区2 "rootfs")复制到 NFS 服务器的目录"targetNFS/"中:

    rsync -av --progress /media/stranzjm/rootfs /home/stranzjm/Projekte/ti-am57x/PROCESSOR-SDK-LINUX-AM57X/ti-psdk-08_02_01_00/targetNFS

    目标"TMDSIDK572"配置为从 TFTP 服务器加载 Linux 内核、并从 NFS 服务器加载根文件系统。

    我使用"minicom"连接跟踪启动过程。
    一段时间后、连接的 HDMI 显示器仅显示"请稍候..."、但在选择演示应用时不会显示预期的图形界面。

    引导消息包含以下错误消息:

    ...
    [失败]启动加载内核模块失败。
    ...
    [失败]启动 TI 多核工具守护程序失败。
    有关详细信息、请参阅"systemctl status ti-mct-demon.service'。
    ...
    [失败]无法开始同步系统和硬件时钟。
    ...

    下面是完整的引导日志:

    e2e.ti.com/.../Boot-sdcard-image-from-NFS-server.txt

    如何从 NFS 服务器引导 SD 卡映像?

    如何从 NFS 服务器引导 SD 卡映像、以便结果与从 SD 卡引导时相同?

    提前感谢您的帮助!

    1月

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

    尊敬的团队:

    提醒回答。

    但以理

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

    您好、Jan、

    感谢您的耐心。

    从引导日志看来,您从 TFTP 引导并成功地从 NFS 加载 rootfs。

    我没有看到您在启动日志中提到的错误。

    它是否在工作、是否不再工作?

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

    您好,Josue!

    我尽量准确地解释了我的问题。

    该板从 TFTP/NFS 服务器引导。

    但是、连接的 HDMI 监视器上的显示与从具有完全相同图像的 SD 卡引导电路板时的显示不同:
    -从 SD 卡引导:矩阵 GUI 已启动。
    -从 TFTP/NFS 服务器引导: Matrix GUI 未启动

    我想知道为什么会出现这种情况、因为我预期在两种情况下会得到相同的结果。

    请再次仔细查看启动日志:

    第385行:
    [失败]启动加载内核模块失败。
    有关详细信息、请参阅"systemctl status systemd-modules-load.service'。

    第446行:
    [失败]启动 TI 多核工具守护程序失败。
    有关详细信息、请参阅"systemctl status ti-mct-demon.service'。

    第551行:
    [失败]无法开始同步系统和硬件时钟。
    有关详细信息、请参阅"systemctl status sync-clocks.service'。

    从 SD 卡引导时、这些消息不会出现、即使我使用的是 Yocto 构建中的完全相同的映像!

    1月

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

    您好、Josue!

    我又做了一次尝试。

    我将所有文件从 SD 卡的分区"boot"复制到目录"tftpboot/"、并更改了要从 TFTP/NFS 服务器引导的必要 U-Boot 变量。

    以下是启动过程中的消息:


    e2e.ti.com/.../3583.Boot-sdcard-image-from-NFS-server.txt

    此时还有更多消息"[失败]无法启动..." (参见第474、487、492、502、512、 ..)。


    在连接的 HDMI 显示器上、我只能看到带有登录提示的文本控制台、而不能看到 Matrix GUI。


    1月

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

    您好、Jan、  

    仍在研究矩阵 GUI 为何在启动时无法工作、但我可以告诉您如何手动使其运行:

    从串行提示符处运行以下两行代码:

    #/etc/init.d/weston start

    #/etc/init.d/matrix-gui-2.0 start

    请告诉我这是否有效。

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

    您好、Josue!

    我现在还尝试了解为什么在通过网络引导时"matrix-gui"("matrix-browser")无法启动。

    到目前为止、我一直在生成的脚本"setupBoard.minicom"的帮助下更改引导加载程序"u-boot"中的变量、以便它通过网络引导。

    首先、我发现在引导加载程序"u-boot"中有一个变量"netboot"。

    在设置变量"serverip"和"rootpath"后、我将"run fdt;"添加到"netboot":

    netboot=echo 从网络引导...; setenv 自动加载否; dhcp;运行 netloadimage ;运行 finddt; 运行 netloadfdt;运行 netargs;bootz ${loadaddr}-${fdtaddr}

    现在、我可以使用"运行 netboot"通过网络启动。
    第一个观察是,现在在消息中条目"[失败] Faliled to start .." 不再出现!

    运行"netboot"后、不显示矩阵 GUI。

    检查后发现"lighttpd"运行、"Weston"和"matrix-GUI-2.0"不运行:

    root@am57xx-evm:~# ps ax | grep lightttpd
     1014?        SS    0:00 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

    root@am57xx-evm:~# systemctl status lightttpd
    * lighttpd.service - Lightttpd Daemon
        已加载:已加载(/lib/systemd/system/lighttpd.service;已启用;供应商预设:已启用)
        活动:活动(运行)自2023-03-03周五07:32:17 UTC;4分钟11秒前
       过程:997 ExecStartPre=/usr/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf (code=extrusted、status=0/Success)
      主 PID:1014 (lighttpd)
         任务数:1 (数量:4223)
        内存:1.5米
        cgroup:/system.slice/lighttpd.service
                `-1014 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

    Mar 03 07:32:16 am57xx-evm systemd[1]:正在启动 Lighttpd Daemon……
    Mar 03 07:32:17 am57xx-evm systemd[1]:启动 Lighttpd Daemon。
    Mar 03 07:32:17 am57xx-evm lighttpd[1014]:2023-03-03 07:32:17:(../../lighttpd-1.4.55/src/server.c.1488)服务器已启动(lighttpd/1.4.55)

    root@am57xx-evm:~# systemctl status Weston
    * weston.service
        已加载:已加载(/etc/init.d/weston;已生成)
        活动:活动(已退出)自2023-03-03周五07:32:19 UTC;4分钟38秒前
          docs:man:systemd-sysv-generator (8)
       过程:979 ExecStart=/etc/init.d/weston start (代码=已退出、状态= 0/Success)

    Mar 03 07:32:16 am57xx-EVM systemd[1]:正在启动 weston.service……
    Mar 03 07:32:16 am57xx-EVM Weston[979]:启动 Weston
    Mar 03 07:32:16 am57xx-EVM Weston[979]:正在等待输入设备...
    Mar 03 07:32:19 am57xx-EVM systemd[1]:started weston.service。

    root@am57xx-evm:~# systemctl status matrix-GUI-2.0
    * matrix-gui-2.0.service -矩阵图形用户界面
        已加载:已加载(/lib/systemd/system/matrix-gui-2.0.service;已启用;供应商预设:已启用)
        活动:活动(已退出)自2023-03-03周五07:32:19 UTC;5分钟前
       过程:1256 ExecStart=/etc/init.d/matrix-gui-2.0 start (CODE=已退出、STATUS=0/SUCCESS)

    Mar 03 07:32:19 am57xx-EVM systemd[1]:正在启动矩阵 GUI...
    Mar 03 07:32:19 am57xx-evm matrix-GUI-2.0[1256]:/
    Mar 03 07:32:19 am57xx-evm matrix-GUI-2.0[1256]:启动矩阵 GUI 应用。
    Mar 03 07:32:19 am57xx-EVM systemd[1]:started Matrix GUI。

    由于"Weston"不会启动、因此"matrix-GUI-2.0"也无法启动。

    同时尝试使用"/etc/init.d/weston start"手动启动"Weston"失败:"Weston"未启动!

    此致、

    1月

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

    您好、Jan、

    我很高兴 NFS 和 TFTP 不是问题。 关于 matirx-GUI-2.0我没有什么好消息:从 SDK 8.2中取消了对它在引导时启动的支持。 矩阵 GUI 演示 应该能够通过手动运行来工作。

    我将尝试在本周结束前重现您的问题、并将与您联系。

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

    一月、

    我发现使 Weston 无法在引导时启动的问题是 Weston 保留日志的目录未设置/损坏。

    为了解决这个问题、我进行了以下操作:

    sudo rm log

    sudo mkdir log

    并重新启动。

    板从 Weston 灰色空白屏幕开始。

    然后就可以 输入 /etc/init.d/matrix-gui-2.0 start命令了。

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

    您好、Josue:

    感谢您解决此问题!

    不幸的是,当我查询"韦斯顿"的状态
    systemctl 状态 Weston
    未说明终止进程的原因。

    我们现在知道问题是什么。
    我已将链接更正如下:
    /var/log ->/run/log /

    启动"Weston"后、即已创建文件/run/log/weston.log、我可以成功启动"matrix-gui"。

    我想知道的是、为什么从 SD 卡引导时一切正常、"Weston"和"matrix-GUI"会自动启动、但从 NFS 引导时并非如此?

    目录"/run/"和"/var/volatile /"都位于 RAM ("tmpfs")中;在 targetNFS 中、该目录为空。

    哪个进程或脚本负责创建子目录(即"/var/volatile/log /"目录)?

    1月

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

    您好、Jan、  

    你能在这两种情况之间做一个 dmesg diff 吗? 我没有可使用 Matrix-GUI 引导的可正常工作 SD 卡。 我已使用 SDK 8.02和6.03试用过它、但没有效果。 设置 rootfs 的脚本对于这两者是相同的。 据我所知、bash 脚本只是将文件系统解压缩到目录中。