![Linode 内核头文件](https://linux22.com/image/632258/Linode%20%E5%86%85%E6%A0%B8%E5%A4%B4%E6%96%87%E4%BB%B6.png)
我正在尝试在运行 Ubuntu 12.04LTS 的 Linode 上安装 Idera (R1soft) Linux 代理。代理需要驱动程序,而驱动程序又需要内核头文件。但是 Linode 使用自定义内核,所以我想要的内核头文件不在 ubuntu 的 apt-get 存储库中。
据我所知,linode 跟踪主线,因此我登录 linode 并将我的内核从“最新”更改为静态版本,这样它就不会在将来重新启动时发生变化。然后我从 kernel.org 下载了该版本的 linux 源代码并将其放入 /lib/modules 中。我将代理安装过程指向该目录,但它仍然抱怨找不到标题。
我是否应该下载仅包含头文件的其他软件包?头文件是 Linux 源代码的子文件夹吗?我在这里尝试做的事情是否完全偏离了基础?
root@li372-176:~# serverbackup-setup --get-module --kernel-dir /lib/modules/linux-3.13.7
Checking if module needs updated
Checking for binary module
Waiting |
No binary module found
Gathering kernel information
Gathering kernel information complete.
Creating kernel headers package
Checking '/lib/modules/linux-3.13.7' for kernel headers
Unable to find a '.config'. This file is required to build a kernel module
Unable to find a valid source directory.
Please install the kernel headers for your operating system.
To install kernel headers execute:
apt-get install linux-headers-`uname -r`
答案1
这个问题很老了,很久以前就解决了,但我刚刚很长时间以来第一次登录,发现它没有答案,所以我提供了一个答案来添加结尾。
为了在 linode 上安装 r1soft 内核模块或任何内核模块,您需要从其自己的发行版提供的内核而不是共享(默认)pv 内核启动 linode。即使您有正确的标头,您也无法加载模块,因为这是一个位于 linode 之外的共享内核。
简而言之,使用您的包管理器安装分发内核,重新配置 grub 以指向内核,配置您的 linode 的配置文件以使用 pv-grub(xen)或 GRUB2(kvm)启动,然后重新启动。
以下两篇文章详细介绍了如何在 xen 和 kvm linode 上详细执行此操作。