我最近接手了一个项目,其中使用yocto构建了一个linux映像。我更新了Dunfall中最新版本的层引用(它们在2020年11月被卡住(,并实现了必要的更改。从那以后,我在设置静态IP时遇到了问题。当我在执行以下命令后重新启动设备时,我突然有2个IP地址与我的接口相关:
connmanctl config eth_<mac_address>_cable --ipv4 manual 10.78.113.71 255.255.252.0 10.78.112.1
reboot
ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel qlen 1000
link/ether 00:14:2d:a5:ce:26 brd ff:ff:ff:ff:ff:ff
inet 10.78.113.57/22 brd 10.78.115.255 scope global dynamic eth0
valid_lft 3516sec preferred_lft 3516sec
inet 10.78.113.71/22 brd 10.78.115.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::214:2dff:fea5:ce26/64 scope link
valid_lft forever preferred_lft forever
Connman仍然显示IP I设置,但ifconfig
显示10.78.113.57
,这是DHCP服务器接收的地址。
我不知道是什么原因导致dhcp请求。我看到了这个问题,但我没有/etc/network/interfaces
文件,ip addr del 10.78.113.57 dev eth0
只在下次重新启动之前提供帮助。
有问题的DHCP配置来自这里的systemd(oe-core(安装的/lib/systemd/network/80-wire.network
。以前,层meta-toradexbsp公共具有禁用此设置的配置。
在这次提交中,他们阻止了这些更改始终被应用。我们的解决方案是从Toradex复制配置并自己应用。