我在我的VirtualMachine的buildroot中遇到網絡問題。當我輸入的ifconfig我得到的答案:BUILDROOT ip:找不到設備eth0
爲eth0:錯誤獲取接口信息:設備沒有找到
在加載buildroot的控制檯上,我看到:
IP:找不到eth0設備
ip:SI0CGIFFALGS:沒有這樣的設備
我找不到解決這個問題的方法。
我在我的VirtualMachine的buildroot中遇到網絡問題。當我輸入的ifconfig我得到的答案:BUILDROOT ip:找不到設備eth0
爲eth0:錯誤獲取接口信息:設備沒有找到
在加載buildroot的控制檯上,我看到:
IP:找不到eth0設備
ip:SI0CGIFFALGS:沒有這樣的設備
我找不到解決這個問題的方法。
# 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
,並且現在應與虛擬機上工作。
您的問題不是Buildroot問題,而是內核配置問題。
關於如何找到虛擬機真正需要的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所需要的。
Buildroot是一個生成工具鏈,內核和根文件系統的工具。你的第一句話*,「我在buildroot中遇到了網絡問題」*,沒有任何意義。您是否使用Buildroot來製作在虛擬機中運行的內核和rootfs?你是如何配置內核的?什麼是'dmesg'輸出? – sawdust