2013-03-18 97 views
1

我买了一台新的东芝Satellite C855,并在其上安装了Ubuntu 12.10,结果发现预装的wifi和以太网驱动程序不工作。因此,这台新电脑绝对没有互联网接入。我下载了正确的驱动程序的源代码,我目前正在安装它们。当我建立了我的模块出现以下错误问题编译内核模块

make -C /lib/modules/3.5.0-17-generic/build M=/home/<user>/Desktop/rtl_92ce_92se_8723ae_88ee_linux_mac80211_0012.0207.2013 modules 
make[1]: Entering directory `/lib/modules/3.5.0-17-generic/build` 
make[1]: *** No rule to make target `modules'. Stop. 
make[1]: Leaving directory `/lib/modules/3.5.0-17-generic/build` 
make: *** [all] Error 2 

我不得不做出的/lib/modules/3.5.0-17-generic/build目录。我已经安装了标题(在/usr/src/linux-headers-3.5.0-17/)。在发布这个问题之前,我还做了很多关于这个主题的搜索,但是我发现的一切都是死的或者没有答案。

注:我宁愿避免显示输出。由于我发布的这台电脑不是东芝机器,而且新机器也没有互联网接入,所以我必须手动输入输出或用闪存驱动器轻松操作。另外,如果我需要安装任何软件包,我还需要链接到.deb软件包,而不是apt-get install命令。

提前感谢。

+0

您是否拥有build-essential包? – stdcall 2013-03-18 04:56:52

+0

做模块 - 准备 – stdcall 2013-03-18 04:58:29

+0

'make modules-prepare'只是说对目标没有规则。 Build-essential没有安装,但现在和现在都没有改变。仍然说没有规则。 – 2013-03-18 05:52:54

回答

0

我建议你停止在目标PC上编译它的工作。 你错过了编译内核所需的所有基本工具,并且在没有Internet连接的情况下获取它们是一件繁琐的工作,处理所有的依赖关系,这是一场噩梦。

你有两个选择:

  1. 搜索二进制模块,这是预编译了你的目标PC。
  2. 编译它自己,在另一台机器上,我会建议在virtualbox/vmware下做这个,所以你可以安装确切版本的Ubuntu,你正在尝试编译。然后将.ko复制到您的目标,insmod,然后您就可以开始了。
+0

'insmod'是否必须手动运行才能加载模块,或者是否存在可以'drop'.ko的地方,以便它在启动时自动加载? – 2013-03-18 06:17:21

+0

insmod必须手动启动,当然还有其他方法可以实现你想要的,谷歌它。 – stdcall 2013-03-18 06:18:24

+0

这不是一个回应,而是其他人阅读此问题的答案,试图找到答案: '/ etc/modules'或'/ etc/modules.conf':将模块添加到列表,它将在引导序列中加载。 – 2013-03-18 06:25:52

1

我设法解决它在我自己的,想出去后我的解决方案:

在我原来的问题,我说,我不得不mkdir此build目录。我没有意识到的是这应该是内核源代码目录的符号链接。一旦我做到了,所有的东西(包括我的以太网,wifi都会有点不稳定)突然生效。