Arm-Linux根文件系统网络配置小结
本文分三点来记录嵌入式Linux根文件的一些网络配置技巧:
1、对开发板配置静态IP:
将根文件系统/etc/network/interface文件中
auto eth0
iface eth0 inet dhcp
pre-up /bin/grep -v -e "ip=[0-9]+.[0-9]+.[0-9]+.[0-9]+" /proc/cmdline > /dev/null
将eth0的DHCP配置修改为static ip方式:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
即可以静态方式IP启动。
2、复制文件系统网卡名eth0变化的解决方法:(同样适合虚拟机文件拷贝)
根文件系统每复制一次,网卡名字后缀就要加1,比如复制两次根文件系统eth0就会变成eth2。其原因是Linux为防止网络内有相同的MAC地址而采用一种自动探测机制,同时也会改为网卡名字。其解决方法:
修改/etc/udev/rules.d/70-persisten-net.rules文件
#PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth0"
#PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth1"
#PCI device 0x1022:0x2000 (vmxnet)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth2"
将SUBSYSTEM开头的所有3行都注释掉即可。
#PCI device 0x1022:0x2000 (pcnet32)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth0"
#PCI device 0x1022:0x2000 (vmxnet)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth1"
#PCI device 0x1022:0x2000 (vmxnet)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="……", ……, KERNEL=="eth*", NAME="eth2"
重新启动系统网卡名又会变成eth0了。
3、为根文件系统设置DNS服务器:
只需要在/etc/resolv.conf文件中加入一行(原来默认为空)
nameserver DNS服务器地址
举例:
nameserver 202.106.196.115
启动/重启/停止网络命令:
/net/init.d/networking start | restart | stop
重启网络即可从开发板通过telnet或
浏览器上网了。