这个问题困扰了我将近一个星期。本来如果请高人可能几分钟就可以搞定.无奈本人水平有限,对网络驱动,网络连接这块的知识不够了解。导致我的问题一直滞留下来。



所以 对linux相关的配置文件有足够的理解,才能将问题看透看明白。



找不到eth0 设备。



运行 ifconfig -a



会有 eth1 和lo  网络设备的信息。



其中lo 是回环设备。这是必然的设备,只要linux开启了对网络的支持,就会有此设备。






那么运行 ifconfig






只会得到 lo 设备。






我把/etc/sysconfig/network-scripts/ifcfg-eth0文件已配






置好,按正常方法,应该显示的是eth0设备的信息。






而且我运行了setup ---Network  configuration----etho (eth0)。 里面的ip 和 gateway设置也正确。






经过上面的配置,以太网设备eth0应该显示出来,运行 service network restart 命令后,发现 提示的信息还是






bring up eth0 failed, eth0 seems not be presernt.还是不存在????









很疑惑?这里需要对linux 的网络配置文件有所了解。






1    Linux是用/etc/network/interfaces这个配置文件来载入网卡的。默认配置中,它指示Linux会自动寻找eth0网卡,并自动分配IP。但是,当虚拟网卡的MAC地址更改后,网卡在Linux中不是eth0了,而是eth1或其它值。因此才会找不到。而现有系统中,有哪些网卡是可用的,可以通过下面的命令查看:



ifconfig -a。




2  在Linux中,还有一个配置文件:/etc/udev/rules.d/70-persistent-net.rules,打开这个配置文件后,会发现里面列出了所有Linux找到的网卡,包括历史的。





所以我们明白一个问题的解决思路:修改配置文件。




1  修改interfaces 下的文件。替换成eth0设备。



2   删除rules文件。




采用方案2  简单容易。然后再重启系统,此时运行ifconfig .会发现 eth0 和lo  两个网络设备。




 当然我们大可不必删除rules文件,只需要修改里面关于eth1的文件即可。将其替换成eth0.




这里用删除的方法,是为了看看能否行通。




问题解决了,ping了下我的开发板,成功!!!






kinghannah