本实操仅限于基于 Yocto 项目构建的 Linux 系统是如何给开发板设置ip地址的!!!使用的方法是:systemd-networkd (如果不支持systemd网络管理,按此方法不行的哦)


一、按照老方法来尝试(前篇设置静态ip地址方法)

创建或编辑网络配置文件:(跟设置静态ip地址一样,之前文章说过)

sudo vi /etc/systemd/network/10-eth0.network
  • 1.


在打开的文件中输入

[Match]  #不要修改

Name=eth0   #不要修改

[Network]

Address=172.17.144.18   #不要跟别人冲突哦 这是我另外一块开发板

Gateway=172.17.144.1    #对应网关    
DNS=114.114.114.114    #不用修改

mtu 4000     #新加的
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

运行结果:ip设置成功,mtu未成功。

给开发板设置永久mtu的操作方法(试错过程,最终成功)_开发板

可能原因:mtu修改失败,可能是有地方设置了mtu(比如其他网络管理器或者厂家),其优先级更高,把它给掩盖了。(你手动设置下,看能不能设置成功mtu)

手动暂时设置:

ip link set dev eth0 mtu 1400
  • 1.


查看设置:

ip link show eth0
  • 1.

给开发板设置永久mtu的操作方法(试错过程,最终成功)_开发板_02

继续推导:我的网络管理没有其他的,所以可能是其他原因,一般开发板也只会装一个网络管理器。

思考:想想是不是开发板有默认的mtu设置文件呢? Link文件,输入下面指令查看下eth0的设置:

networkctl status eth0
  • 1.


给开发板设置永久mtu的操作方法(试错过程,最终成功)_ip地址_03

其实也不应该,它优先级比你设置的link文件低,

尝试2:你直接在里面加上mtu 要修改的值。发现也没效果。

尝试3:还有就是把它删除,保留自己写的(上面不推荐,ubuntu下很难恢复吧,若是没效果。)


一、按照新学的方法来尝试(写service文件,将执行命令后改为你写的设置mtu的脚本)

具体的细节我就不再陈述了,大家按照这个博客来写即可

 【Linux】使用systemd设置开机自启动命令_systemd restart-CSDN博客