Arm-Linux根文件系统网络配置小结

2019-07-12 17:13发布

原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8802184,作者:gqb666    本文分三点来记录嵌入式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 启动/重启/停止网络命令:
/etc/init.d/networking start | restart | stop
重启网络即可从开发板通过telnet或浏览器上网了。