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/AM3358:NFS 引导错误

Guru**** 2614265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/658304/linux-am3358-nfs-boot-error

器件型号:AM3358

工具/软件:Linux

我一直在谷歌搜索、但我对 Linux 的了解有限、找不到任何关于此问题的信息(即使在 TI 论坛上)。 我从 uboot 和 UART0控制台输出连接环境变量。  

这只是我所做的一些小的概述步骤。

  • 我的开发套件是 BBBW。
  • 我在 VirtualBox 下设置虚拟机(Ubuntu 12.04)、我要在其中设置开发所需的所有工具。
  • 我关注了有关构建 U-boot 和 Linux 的 TI 官方 wiki 页面。
  • 所有服务器(DHCP、TFTP、NFS)都在运行,我可以安装 rootpath 并从中读取和写入数据。
  • UFW 未激活。
  • /etc/exports
  • /export/rootfs /*(rw、noohide、unsecure、no_subtree_check、async、no_root_squash)
  • U-boot 具有静态 IP 192.168.2.3、该 IP 也会传递到内核。
  • 我必须将 USB-Ether 小工具驱动程序添加到内核中、以便它可以安装 NSF FS。
  • 由于通过 NFS 装载 FS、我没有将 initramfs 添加到内核中。
  • 作为文件系统、我使用 SDK 中的原始 tarball (tisdk-rootfs-image-am335x-evm.tar.xz)。 如果我使用此文件系统创建 SD、它将正确引导!
  • 我安装了从内核到文件系统的模块。
  • BBBW 通过 TFTP 成功加载 u-boot、zImage 和 DTB。 它还通过 NFS (首先)装载文件系统。

这些是我的结果和观察结果。

  • 它会在启动过程中冻结,并显示以下消息:[25.922728]  nf: Server 192.168.2.1 not responding,still tying (NFS:服务器192.168.2.1未响应,仍在尝试)
  • 消息[ OK ] started Network Service ([确定]启动网络服务)后内核卡在正确位置。
  • 目标心跳 LED 指示灯闪烁速度提高大约2倍。
  • BBBW over NFS 所需的某些文件和文件夹不会放置在 rootpath 中。 (例如:/etc/ld.so.preload、/etc/inird-release、/proc/self、/proc/vz、/etc/adjtime、 /systemd/system.conf.d,...)
  • 如果我尝试使用 initramfs 作为 NFS 文件系统、则目标已正确引导。

这可能是由于将虚拟机用作主机而导致的? 我非常感谢您提供任何帮助、其中包括如何深入了解嵌入式 Linux 开发的教程。

thankse2e.ti.com/.../console_2D00_output.txte2e.ti.com/.../uboot_2D00_printenv.txt

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

    在主机上安装 AM335x TI PSDK 4.02后、在主机上运行 setup.sh 脚本以指导您完成其余的开发环境配置。

    注释
    如果将虚拟机用作 Linux 主机,则可能需要将目标板作为大容量存储设备导入到虚拟机中。

    另请检查:

    processors.wiki.ti.com/.../Processor_SDK_Linux_Training:_Hands_on_with_the_Linux_SDK

    processors.wiki.ti.com/.../Processor_SDK_Linux_Setup_Script

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

    尊敬的 Pavel:

    感谢您的快速响应。 我已运行 setup.sh。 它无法识别 BBB、它卡在微通信中。 但是! 请注意、根据 TI wiki 页面、我能够通过 TFTP 引导 uboot 和内核。 我还可以在 Wirewshark 中看到 NFS 通信(检查我之前附加的 console-output.txt 文件)。

    主要问题是、为什么内核需要一些文件系统中不存在的文件? 这些文件也列在我的原始帖子中( /etc/ld.so.preload、/etc/inird-release、/proc/self、/proc/vz、/etc/adjtime、 /systemd/system.conf.d,... )。

    如果我从 sdcard 引导 BBB、它将引导正常。 从那时起、我可以从 BBB 检查主机 PC 上运行的所有服务(DHCP、TFTP、NFS)、并尽可能告知所有服务都正常工作。

     

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

    [引述 user="Filip Kotoucek">感谢您的快速响应。 我已运行 setup.sh。 它不能识别 BBB、它卡在微通信中。

    这很奇怪。 请附上 setup.sh 脚本执行的完整控制台日志。 我正在连接我的手机作为参考、我使用的是 AM335x SK (Starterkit)。

    e2e.ti.com/.../setup_5F00_script_5F00_log

    [引用 user="Filip Kotoucek">主要问题是为什么内核需要一些文件系统中不存在的文件? 这些文件也列在我的原始帖子中( /etc/ld.so.preload、/etc/inird-release、/proc/self、/proc/vz、/etc/adjtime、 /systemd/system.conf.d、。  )。[/报价]

    您正使用哪种内核? 默认情况下随 AM335x TI PSDK 4.02或自定义版本一起提供的预构建版本?

    我正在使用预构建的文件进行测试、它从 NFS 成功引导、我的文件系统(targetNFS)中也没有这些文件。

    TI-PROCESSOR-SDK-LINUX-AM335x-EVM-04.02.00.09/board-support/prebuilt-images/zImage-am335x-evm.bin

    此致、
    帕维尔

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

    这是来自 setup.sh e2e.ti.com/.../setup_2D00_log.txt 的日志

    由于在内核中添加了 USB 以太网驱动程序、我正在使用定制内核。 版本为4.9.59。 随 SDK 04.02.00下载

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

    [引用 user="Filip Kotoucek">由于在内核中添加了 USB 以太网驱动程序,我正在使用自定义内核。 版本为4.9.59。 随 SDK 04.02.00[/quot]一起下载

    请尝试使用预构建内核并报告结果。

    此致、
    帕维尔