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/TMDSEVM572X:NFS 装载问题

Guru**** 2594590 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/640139/linux-tmdsevm572x-nfs-mount-issue

器件型号:TMDSEVM572X
主题中讨论的其他器件:DRA752、PMP

工具/软件:Linux

显然、我未能将驻留在主机上的目标 NFS 装载到目标本身。

我已成功安装并构建封装在 ti-processor-sdk-linux-am57xx-evm-04.01.00.06-linux-x86-Install.bin 中的 SDK。

我已将 USB 转串行端口连接器连接到运行 Ubuntu 16.04的主机。

我已成功打开 minicom。 在主机中、~μ C/ti 有一个 targetNFS。 目标本身已 加载 EVM 随附的 SD 卡。

这是确切的启动记录。

_________________________________

[1243.373533] IPv6:ADDRCONF (NETDEV_CHANGE):eth0:链路就绪

U-Boot SPL 2015.07 (2016年1月28日- 14:19:33)
DRA752 ES2.0
读取 args
SPL_load_image_fat_os:读取图像参数时出错、错误--1
正在读取 u-boot.img
正在读取 u-boot.img


U-Boot 2015.07 (2016年1月28日- 14:19:33 -0500)

CPU :DRA752 ES2.0
BoaI2C:  就绪
DRAM: 2GiB
MMC:  OMAP SD/MMC:0、OMAP SD/MMC:1.
正在读取 uboot.env

**无法从 mmc0:1读取"uboot.env"**
使用默认环境

SATA link 0超时。
AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
SCSI: SATA link 0 timeout。
AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式
标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst
正在扫描设备总线...
找到0个器件。
网络:   未设置。 验证第一个电子保险丝 MAC
CPsw
按任意键停止自动引导: 0
_________________________________________

这里有许多活动部件。

1)除跳线(全部3个已连接 |->|  )之外、u-boot 还会参考什么来选择 FS 安装策略。

2) 2) MMC 仍然是正确的器件、正如其所说的那样

切换到分区#0,确定
mmc0是当前器件
在器件0上找到 SD/MMC
正在读取 BOOT.SCR
**无法读取文件 boot.scr **
正在阅读 uEnv.txt
在4ms 内读取574字节(139.6 KiB/s)
从 uEnv.txt 加载了 env
正在从 mmc0导入环境...
切换到分区#0,确定
mmc0是当前器件
在器件0上找到 SD/MMC
3395008字节在203ms (15.9MiB/s)内读取
在33ms (2.8 MIB/s)内读取96185字节
正在从 mmc0引导...

 这意味着主机 targetNFS 未正确连接。 (是这样的正确)、而是使用 SD。

如果我从未解决过这个棘手的小问题、是否有权变措施。 我可以在主机上开发、重建和写入新的 SD 卡吗?

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

    您好 Richard、

    要从 NFS 引导、您需要具有 /bin/setupBoard.minicom 设置内容保存在 U-Boot 环境中。
    为此、请使用 minicom -S bin/setupBoard.minicom 命令自动传输这些设置或在 U-Boot 控制台中逐个手动输入设置。
    请检查 帖子和 wiki 页面。

    此致、
    Kemal

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

    似乎每次启动时都会写入 uboot.env、但不会被擦除。 谁知道在第二次启动时读取的内容。 因此、如果您第一次没有启动、请尝试它会变得拥挤并停止工作。 取出 SD 卡并从引导扇区中删除文件、将使其再次运行。

    问题已解决。 不幸的是,这不是唯一的问题。

    下一个问题:我在公司网络上有这个项目和我的 Linux Box。 您的脚本使用它称为 DHCP 的东西来查找自己的名称、在公司网络上、它会立即查找 DNS 服务器、 并尝试从公司 DNS 安装远程文件结构、这是一种模型化云、失败了。

    这是因为远程文件结构位于我的 Ubuntu 框上,它有一个完全不同的地址--环境知道但 DHCP 忽略了这个地址。

    这是相关的打印输出

    欢迎使用 Minicom 2.7

    选项:I18N

    端口/dev/ttyUSB0、18:29:40

    U-Boot SPL 2017.01-g590c7d7fe1 (2017年9月26日- 20:05:42)

    DRA752-GP ES2.0

    尝试从 MMC1引导

    正在读取 u-boot.img

    U-Boot 2017.01-g590c7d7fe1 (2017年9月26日- 20:05:42 -0400)

    CPU:DRA752-GP ES2.0

    型号:TI AM572x EVM 修订版 A3

    电路板:AM572x EVM 修订版 A.3A

    DRAM:2GiB

    MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.

    正在读取 uboot.env

    SCSI:SATA link 0 timeout。

    AHCI 0001.0300 32插槽1端口3 Gbps 0x1不支持 SATA 模式

    标志:64位 NCQ stag pm led clo only pmp pio 贫民窟 part ccc apst

    正在扫描设备总线...

    找到0个器件。

    NET:CPsw

    按任意键停止自动引导:0

    切换到分区#0,确定

    mmc0是当前器件

    正在阅读 uEnv.txt

    在4ms 内读取574字节(139.6 KiB/s)

    正在从 mmc0导入环境...

    正在等待 PHY 自动协商完成................... 完成

    端口0、速度100、全双工上的链路

    BOOTP 广播1

    BOOTP 广播2.

    DHCP 客户端绑定到地址172.27.96.18 (257 ms)

    端口0、速度100、全双工上的链路

    使用 cpsw 器件

    来自服务器172.27.41.43的 TFTP;我们的 IP 地址为172.27.96.18;通过网关4发送

    文件名'zImage-am57xx-evm.bin'。

    加载地址:0x82000000

    正在加载:*

    TFTP 错误:“访问冲突”。 (4)

    =>印刷版

    arch = ARM

    args_mmc=run finduid;setenv bootargs console=${console}${optargets}root=PARTUUUID=${UUI}

    自动载入=否

    波特率=115200

    电路板= am57xx

    Board_name=am57xx_evm_reva3.

    bootargs=console=ttyO2,115200n8 root=/dev/nfs nfsroot=172.27.41.43:/home/richardbreyer/p

    bootcmd=run findfdt;运行 getuenv;setenv autoload no;dhcp;tftp ${loadaddr}zImage-am57}

    BOOTDELAY=2

    bootdir=/boot

    bootenvfile=uEnv.txt

    CPU=armv7

    dnsip=172.27.41.5

    sipdn2=172.27.41.78

    envboot=MMC dev ${mmcdev};如果 MMC 重新扫描;然后回显在器件${mmcdev}上找到的 SD/MMC;if;

    eth1addr=fc:0f:4b:7a:4F:B3

    ethact=cpsw

    ethaddr=fc:0f:4b:7a:4F:B2

    gatewayip=172.27.96.254

    getuenv=MMC dev ${mmcdev};如果 MMC 重新扫描;如果运行 loadbootenv;然后运行 importboote;

    ip_method=dhcp

    ipaddr=172.27.96.18

    网络掩码=255.255.255.0

    nfsopts=nolock、v3、tcp、rsize=4096、wsize=4096

    rootpath=/home/richardbreyer/ti/targetNFS

    static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off

    环境大小:6586/65532字节

    =>?????????????????????????????????????

    如何使此设备从静态地址引导而不要求网络提供分配的地址?

    如何使它与非 DNS 服务器通信。


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

    如果反复写入 uboot.env、请从 minicom 命令行中删除"-S bin/setupBoard.minicom"部分。

    要使用静态 IP 进行 Linux 引导、请输入这些设置、我假设您之前运行了 minicom -S bin/setupBoard.minicom 脚本。

    => setenv bootcmd 'run findfdt;运行 getuenv;setenv autoload no;tftp ${loadaddr}zImage-am57xx-evm.bin;tftp ${fdtaddr}${fdtfile}; 运行 netargs;bootz ${loadaddr}-${fdtaddr}'
    => setenv netargs 'setenv bootargs console=${console}${optargets}root=/dev/nfs nfsroot=${serverip}:${rootpath}、${nfsopts}rw IP=${ipaddr}:${serverip}:${gatewayip}:${rootpath}:${nfsnetmask}:${hostname${netmask}:${hostname$:off}:
    => setenv ipaddr XXX.XXX.XXX.XXX
    => setenv gatewayip XXX.XXX.XXX.XXX
    => setenv 网络掩码 XXX.XXX.XXX.XXX
    => setenv 主机名 am57xx-evm
    => setenv net_interface eth0
    => saveenv
    =>引导

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

    我很确定这是可行的!

    这是验证输出;

    =>引导
    切换到分区#0,确定
    mmc0是当前器件
    正在阅读 uEnv.txt
    在4ms 内读取574字节(139.6 KiB/s)
    正在从 mmc0导入环境...
    端口0、速度100、全双工上的链路
    使用 cpsw 器件
    来自服务器192.168.32.1;我们的 IP 地址为192.168.32.2
    文件名'zImage-am57xx-evm.bin'。
    加载地址:0x82000000
    正在加载:############################################################################
            ########
            625 KiB/s
    完成
    传输的字节= 3703368 (388248十六进制)
    端口0、速度100、全双工上的链路
    使用 cpsw 器件
    来自服务器192.168.32.1;我们的 IP 地址为192.168.32.2
    文件名"am57xx-EVM-reva3.dtb"。
    加载地址:0x88000000
    正在加载:##################
            3.9 MIB/s
    完成
    传输的字节= 106832 (1a150十六进制)
    ###展开的设备树 blob、88000000
      使用0x88000000处的 FDT blob 进行引导
      正在将设备树加载到8ffe2000,结束8ff14f... 好的

    正在启动内核...


     我确实将 IP_method 环境变量 从 DHCP 更改为静态。 否则,我听从了你的意见。

    我注意到未下载整个 targetNFS 结构。 例如、/www/logs 中有许多日志未通过。

    此外,我的斗争还在继续。 我收到了这些消息

    [ 确定 ]已开始重新装载根和内核文件系统。
    [失败]启动加载内核模块失败。
    有关详细信息、请参阅'stemctl status systemd-modules-load.service'。

    [ 确定 ]已启动网络服务。
    [失败]无法启动 TI 多核工具守护程序。
    有关详细信息、请参阅'stemctl status ti-mct-demon.service'。

    [ 确定 ]已开始启用和配置 wl18xx 蓝牙堆栈。
    [失败]无法启动同步系统和硬件时钟。
    有关详细信息、请参阅'stemctl status sync-clocks.service'。

    这些显然是一些主要的蛇。 系统未启动。 您能不能给我介绍一些材料、这些材料可能会让我了解到我的远程安装的缺点。

    以下是建议的 systemctl 命令的反馈

    发出 systemctl 状态 systemd-modules-load.service 后

    我收到了

    [[0;1;31m●[0m systemd-modules-load.service -加载内核模块
      Loaded (已加载):Loaded (/lib/systemd/system/systemd-modules-load.service;static;vendor preset:enabled)(已加
      活动:[0;1;31m 失败[0m (结果:退出代码)、自 Tue 2017-09-2621:42:50 UTC;5分钟前
        文档:MAN:systemd-modules-load.service(8)
              MAN:module-load.d (5)
     进程:162 ExecStart=/lib/systemd/systemd-modules-load [[0;1;31m (代码=退出、状态= 1/失败)[[0m
     主 PID:162 (代码=退出、状态= 1/故障)

    警告:自装置启动以来已旋转过日志。 日志输出不完整或不可用。

    发出 systemctl 状态 ti-mct-demon.service 后,我收到了该消息

    0;1;31m●[[0m ti-mct-demon.service - TI 多核工具守护程序
    [[0;1;31m●[0m ti-mct-demon.service - TI 多核工具守护程序
      已加载:已加载(/lib/systemd/system/ti-mct-demon.service;已启用;供应商预设:已启用)
      活动:[[0;1;31m 失败[0m (结果:退出代码)自2017年9月26日21:42:54 UTC;25分钟前
     进程:268 ExecStart=/usr/bin/ti-mctd [[0;1;31m (代码=退出、状态= 1/失败)[[0m

    9月26日21:42:52 am57xx-EVM systemd[1]:正在启动 TI 多核工具守护程序...
    9月26日21:42:53 am57xx-EVM ti-mctd[268]:创建的共享存储器堆、大小为131072字节
    9月26日21:42:53 am57xx-evm ti-mctd[268]:CMEM 错误:init:无法打开/dev/cmem:'无此类文件或目录'
    9月26日21:42:53 am57xx-EVM ti-mctd[268]:TIOCL 致命:未安装 cmemk 内核模块。 请参阅 http://software-dl.ti.co 上的 OpenCL 用户指南
    m/mctools/ESD/docs/OpenCL/index.html
    9月26日21:42:54 am57xx-EVM systemd[1]:[[0;1;39mti-mct-demon.service:控制进程退出,代码=退出状态=1[0m
    9月26日21:42:54 am57xx-EVM systemd[1]:[[0;1;31m 启动 TI 多核工具守护程序。[[0m
    9月26日21:42:54 am57xx-EVM systemd[1]:[[0;1;39mti-mct-demon.service:单位进入失败状态。[[0m
    9月26日21:42:54 am57xx-EVM systemd[1]:[0;1;39mti-mct-demon.service:失败、结果为'exit-code'。[[0m

    进行了比较
    systemctl 状态 sync-clocks.service、我收到了:

    [[0;1;31m●[0m sync-clocks.service -同步系统和硬件时钟
      已加载:已加载(/etc/systemd/system/sync-clocks.service;已启用;供应商预设:已启用)
      活动:[0;1;31m 失败[0m (结果:退出代码)、自2017年9月26日21:42:57 UTC;28分钟之前
     进程:614 ExecStart=/sbin/hwclock --systohc [[0;1;31m (代码=退出、状态= 1/失败)[[0m
     主 PID:614 (代码=退出、状态= 1/故障)

    9月26日21:42:56 am57xx-EVM systemd[1]:正在开始同步系统和硬件时钟...
    9月26日21:42:56 am57xx-EVM hwclock[614]:hwclock:无法打开'/dev/misc/rtc:没有这样的文件或目录
    9月26日21:42:57 am57xx-EVM systemd[1]:[[0;1;39msync-clocks.service:主进程退出、代码=退出、状态= 1/failure[0m
    9月26日21:42:57 am57xx-EVM systemd[1]:[[0;1;31m 开始同步系统和硬件时钟。[[0m
    9月26日21:42:57 am57xx-EVM systemd[1]:[[0;1;39msync-clocks.service:单位进入失败状态。[[0m
    9月26日21:42:57 am57xx-EVM systemd[1]:[0;1;39msync-clocks.service:失败、结果为'exit-code'。[[0m



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

    故障服务与 NFS 装载问题无关、也与使用静态 IP 引导 Linux 无关。 请创建有关您的新问题的新主题。