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:引导时无 DNS

Guru**** 2589280 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/640808/linux-am3358-no-dns-at-boot-time

器件型号:AM3358

工具/软件:Linux

ProC SDK Linux 4.01
BeagleBone Black

我正在使用二进制文件、我的 BBB 已连接到网络。  第一次引导时、我会获得一个 IP 地址:

根目录@AM335x-EVM:~# ifconfig
eth0 Link encap:以太网 HWaddr C8:A0:30:AC:B5:16
iNet addr:158.218.156.86 Bcast:158.218.156.255 Mask:255.255.255.0
inet6 addr:fe80::caa0:30ff:feac:b516%763860/64范围:链接
运行多播 MTU:1500公制:1的上广播
RX 数据包:3582错误:0丢弃:0超限:0帧:0
TX 数据包:218错误:0丢弃:0溢出:0载波:0
冲突:0 txqueuelen:1000
RX 字节:244239 (238.5 KiB) TX 字节:31324 (30.5 KiB)
中断:173

我可以通过 SSH 登录到我的计算机并 ping 其他计算机(通过 IP 地址)、但名称不起作用。  我可以运行"udhcpc"、并看到以下情况:

root@AM335x-EVM:~# udhcpc
udhcpc (v1.24.1)已启动
正在发送发现...
正在为158.218.156.187发送选择...
已获得158.218.156.187份租约,租期3600份
/etc/udhcpc.d/50default:添加 DNS 192.0.2.2
/etc/udhcpc.d/50default:添加 DNS 192.0.2.3

现在、我可以按名称 Ping 其他计算机。  奇怪的是、我发现 IP 地址在这个过程中发生了变化、例如、如果我通过 SSH 执行此操作、连接会突然中断。  以下是新的 IP 地址:

根目录@AM335x-EVM:~# ifconfig
eth0 Link encap:以太网 HWaddr C8:A0:30:AC:B5:16
iNet addr:158.218.156.187 Bcast:158.218.156.255 Mask:255.255.255.0
运行多播 MTU:1500公制:1的上广播
RX 数据包:3633错误:0丢弃:0超限:0帧:0
TX 数据包:246错误:0丢弃:0溢出:0载波:0
冲突:0 txqueuelen:1000
RX 字节:248983 (243.1 KiB) TX 字节:35411 (34.5 KiB)
中断:173

为什么需要这样做、即电路板为什么不通过 DHCP 获取 DNS 作为正常启动过程的一部分?  为什么我需要显式运行此命令、然后更改我的 IP 地址?

谢谢!

Brad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到在/etc/resolv.conf.中运行 udhcpc 会配置我的 DNS 是否有办法使这种情况自动发生? 我通常希望在 DHCP 之后配置 DNS。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来这在功能上可以通过 systemd-resolved.service 来实现。 我们是否了解过默认情况下启用该功能? 或者、当前没有使用它的原因是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在相关的注释中、我尝试使用不同配置的类似测试:

    AM571x IDK
    Linux RT
    PSDKL-RT 4.01

    这种组合的问题甚至更令人烦恼。 运行 udhcpc 似乎没有帮助。 它只是发送一整组"发送发现..." 消息而不会结束。 在这里,我唯一可以使 DNS 工作的方法是*手动*创建/etc/resolv.conf 文件,使用来自 BBB 的相同值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Brad、您好!

    目前、我只能说这是内核和驱动程序之上的问题、是一个用户相关的环境问题。 我同意您发现默认情况下未启用 DNS 解析的结果。 我将进一步探讨这一点。

    此致、
    Schuyler