嵌入式开发者社区

标题: 是否可以在开机自动运行程序systemd里设置开发板的IP地址? [打印本页]

作者: TL_user    时间: 2018-3-28 11:17
标题: 是否可以在开机自动运行程序systemd里设置开发板的IP地址?
开机自动运行的程序,需要首先开发板的IP地址才能成功运行,程序使用systemd方式运行。可以在.service文件中或者程序中设置IP地址吗?
谢谢

作者: lianghy    时间: 2018-3-30 12:15
可以的。根据您的描述,您应该是想给开发板设置一个静态IP吧?可以在开机自动运行的脚本中添加设置IP的指令,例如添加ifconfig eth0 192.168.1.10 netmask 255.255.254.0
或者您可以自己编写一个脚本,然后按照用户手册里《快速体验》介绍到的开机自动运行程序的方法来实现开机自动运行这个脚本。
您也可以在文件系统的/etc/network/interfaces下设置一个静态IP,如
#iface eth1 inet dhcp                //前面加一个符号"#",注释掉dhcp,限制自动获取IP
iface eth2 inet dhcp
iface eth3 inet dhcp
iface eth4 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.0.100                //设置的静态IP,设置和主机同一个网段,子网掩码也要相同,才能ping通
gateway 192.168.10.254
netmask 255.255.254.0

作者: TL_user    时间: 2018-4-1 10:36
lianghy 发表于 2018-3-30 12:15
可以的。根据您的描述,您应该是想给开发板设置一个静态IP吧?可以在开机自动运行的脚本中添加设置IP的指令 ...

谢谢您。我在/etc/rc5.d/中新建了一个S999ip的文件,在其中输入如下脚本:
#!/bin/sh
ifconfig eth0 169.254.143.226 netmask 255.255.0.0


然后使用chmod 755 /etc/rc5.d/S999ip
这样开机后eth0 的IP地址未自动设置,请问是哪里设置有问题?可能是什么原因?
谢谢您

作者: lianghy    时间: 2018-4-2 13:37
您好,开发板启动进入系统以后,输入ifconfig回车,有什么显示。
作者: TL_user    时间: 2018-4-4 12:25
本帖最后由 TL_user 于 2018-4-4 12:39 编辑
lianghy 发表于 2018-4-2 13:37
您好,开发板启动进入系统以后,输入ifconfig回车,有什么显示。

[attach]3141[/attach]

作者: lianghy    时间: 2018-4-12 11:13
您好,AM437x和AM5728是不一样的,在AM5728上,/etc/rc5.d/的文件是要软链接到/etc/init.d下的文件才能生效的。您应该在/etc/init.d下新建S999ip的文件,再用软链接使/etc/rc5.d/和/etc/init.d下的S999ip文件有软链接的功能。
[attach]3150[/attach]

作者: lianghy    时间: 2018-5-7 10:34
在AM5728上,文件系统已经更新过,以前未更新前的文件系统是可以/etc/rc5.d/用这种方法的。目前文件系统更新了,建议使用"system"方式来实现。




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4