大家好,感谢您的阅读
我最近安装了 Ubuntu MATE 16.0.4 并尝试安装 Intel I219-V 以太网驱动程序,可以找到https://downloadcenter.intel.com/product/82186/Intel-Ethernet-Connection-I219-V。
我一直在关注自述文件,直到我无法使用里面的 Makefile 进行制作,并收到一条错误消息,指出 Makefile:3: *** 缺少分隔符。停止。
我尝试将空格更改为制表符等等,但我似乎无法弄清楚以我对 Linux 的短暂了解到底出了什么问题。谁能帮我?下面是 make 文件,目前来自第 3 行。
#$FreeBSD$
.include <bsd.own.mk>
.PATH: ${.CURDIR}
KMOD = if_em
SRCS = device_if.h bus_if.h pci_if.h
SRCS += $(CORE_SRC) $(COMMON_SHARED) $(LEGACY_SHARED) $(PCIE_SHARED)
CORE_SRC = if_em.c if_lem.c e1000_osdep.c em_compat.c
# Shared
COMMON_SHARED = e1000_api.c e1000_phy.c e1000_nvm.c e1000_mac.c e1000_manage.c
PCIE_SHARED = e1000_80003es2lan.c e1000_ich8lan.c e1000_82571.c
LEGACY_SHARED = e1000_82540.c e1000_82542.c e1000_82541.c e1000_82543.c
# These flags are only used when in a standalone tarball build
CFLAGS += -DINET -DINET6 -DEM_STANDALONE_BUILD
# Uncomment this to disable Fast interrupt handling.
#CFLAGS += -DEM_LEGACY_IRQ
# DEVICE_POLLING for a non-interrupt-driven method
#CFLAGS += -DDEVICE_POLLING
# Uncomment this to enable the stack multiqueue routines
# with this driver you do not get multiple tx queues,
# but it does provide input queuing. Testing has shown
# some stability issues so its off by default.
# NOTE: it has been found that UDP intensive traffic
# actually does better with the old stack interface
# and so it seems better to have this off by default.
# however it works fine, and some workloads may benefit
# having it on.
#CFLAGS += -DEM_MULTIQUEUE
clean:
rm -f opt_bdg.h device_if.h bus_if.h pci_if.h setdef*
rm -f *.o *.kld *.ko
rm -f @ machine export_syms x86
rm -f ${CLEANFILES}
.include <bsd.kmod.mk>
答案1
无论英特尔网站在“操作系统”栏中如何规定,您下载的驱动程序都是 FreeBSD 驱动程序(如网站上的名称所示,“适用于 FreeBSD 的英特尔® 网络适配器千兆位基本驱动程序”)。它在 Linux 上不起作用。
在 Linux 上,您不需要安装任何东西;e1000e
内核中的驱动程序支持 i219 芯片组,至少从版本 4.1 开始。
答案2
这是一个 FreeBSD 驱动程序和一个 BSD Makefile。
GNUmake
不会理解 Makefile,并且驱动程序将无法在您的 Ubuntu 系统上编译(即使您重写了 Makefile),因为驱动程序必然严重依赖于它们所编写的内核。
下载 Linux 版本的驱动程序。