我在一台旧电脑上安装了 ubuntu 12.04 LTS 服务器。这台电脑有无线网卡(Netgear wg311v3)。这台电脑现在无法访问互联网,所以无论我做什么,我都会从另一台电脑上转移它。我尝试在 ndiswrapper 的帮助下安装适用于 Windows 的驱动程序,但没有成功。
因此我运行命令make
(从目录内/usr/src/ndiswrapeer-1.57
),输出如下:
make -C utils
make[1]:Entering directory '/usr/src/ndiswrapper-1.57/utils'
make[1]:Nothing to be done for 'all'
…
Makefile:36: *** Cannot find kernel version in /lib/modules/3.2.0-29-generic-pae/build, is it configured?. Stop.
make: *** [driver] Error 2
有谁知道它为什么会引发错误?
答案1
此消息通常表示您缺少内核头文件。编译第三方内核模块时,您需要一些来自内核的源文件和一些依赖于内核编译时配置并在编译内核时生成的其他文件。这些文件称为“内核头文件”,大多数 Linux 发行版(包括 Ubuntu)都将它们放在单独的软件包中。您需要正确的内核头文件针对您的内核版本;给出错误消息,那将是Linux 标头-3.2.0-29-通用-pae 。
请注意,Ubuntu 中已经有一个 ndiswrapper 包,您可能不需要手动编译它。它由几个部分组成: ndiswrapper-dkms (模块源,打包以便在您的系统上自动编译), ndiswrapper 实用程序 (用户空间实用程序), ndisgtk (可选:GUI 前端), ndiswrapper 通用 (其他软件包的依赖性)。确保获取所有依赖项。