发布编译内核模块的问题

时间:2013-03-18 04:40:55

标签: linux linux-kernel linux-device-driver ubuntu-12.10

我买了一台新的东芝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命令。

非常感谢。

2 个答案:

答案 0 :(得分:1)

我设法自己解决这个问题并且发现我发布了我的解决方案:

在我最初的问题中,我说我必须mkdir构建目录。我没有意识到这应该是内核源目录的符号链接。一旦我这样做,一切(包括我的以太网,wifi仍然有点不确定)突然起作用。

答案 1 :(得分:0)

我会建议你停止在目标PC上编译它的努力。 你缺少编译内核的所有基本工具,并且在没有Internet连接的情况下获取它们是一项繁琐的工作,处理所有依赖项,这是一场噩梦。

您有两种选择:

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