2015-10-26 123 views
0

我在我的VirtualMachine的buildroot中遇到網絡問題。當我輸入的ifconfig我得到的答案:BUILDROOT ip:找不到設備eth0

爲eth0:錯誤獲取接口信息:設備沒有找到

在加載buildroot的控制檯上,我看到:

IP:找不到eth0設備

ip:SI0CGIFFALGS:沒有這樣的設備

我找不到解決這個問題的方法。

+0

Buildroot是一個生成工具鏈,內核和根文件系統的工具。你的第一句話*,「我在buildroot中遇到了網絡問題」*,沒有任何意義。您是否使用Buildroot來製作在虛擬機中運行的內核和rootfs?你是如何配置內核的?什麼是'dmesg'輸出? – sawdust

回答

3
# make linux-menuconfig 

Device drivers —> 
Network device support —> 
Ethernet driver support—> 

選擇:

<*>  Intel(R) PRO/100+ support         
<*>  Intel(R) PRO/1000 Gigabit Ethernet support    
<*>  Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support  
<*>  Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support 
[*]  Intel(R) PCI-Express Gigabit adapters HWMON support 
<*>  Intel(R) 82576 Virtual Function Ethernet support  

,並且現在應與虛擬機上工作。

+0

我改變了VB中的適配器類型,它已經解決了一個問題。 VB - >網絡 - >高級 - >英特爾PRO/1000 MT桌面(EM) Thx fo答案。 – Darek

+0

在字母版本的VB中,這是默認選擇的。不用謝! – TadejP

1

您的問題不是Buildroot問題,而是內核配置問題。

0

關於如何找到虛擬機真正需要的NIC驅動程序的更有用的解釋。

首先,使用lspci查找您的網卡的關鍵字。

lspci | grep的-i以太網

00:03.0以太網控制器:英特爾公司82540EM千兆 以太網控制器(修訂版03)

然後,用grep關鍵字在內核驅動程序源代碼目錄:

grep的-nr '82540EM' drivers/net中/以太網/

drivers/net中/以太網/英特爾/ E1000/e1000_hw.h:417:#定義 E1000_DEV_ID_82540EM 0x100E drivers/net中/以太網/英特爾/ E1000/e1000_hw.h:418:#定義 E1000_DEV_ID_82540EM_LOM 0x1015 drivers/net中/以太網/英特爾/ E1000/e1000_main.c:780:情況下 E1000_DEV_ID_82540EM: drivers/net中/ethernet/intel/e1000/e1000_main.c:781:殼體 E1000_DEV_ID_82540EM_LOM: 驅動/淨/以太網/英特爾/ E1000/e1000_hw.c:276:殼體 E1000_DEV_ID_82540EM: 驅動/淨/以太網/英特爾/ E1000/e1000_hw .c:277:case E1000_DEV_ID_82540EM_LOM:

最後,找到您的NIC的內核配置: 在相同的目錄路徑下打開相應的Makefile。

VIM drivers/net中/以太網/英特爾/ E1000/Makefile中 而且你會發現:

OBJ - $(CONFIG_E1000)+ = e1000.o

E1000-OBJ文件:= e1000_main.o e1000_hw。o e1000_ethtool.o e1000_param.o

結論: CONFIG_E1000是您的NIC所需要的。