大多数(全部?)主要的 Linux 发行版不仅分发 linux 内核,而且还为其应用了许多补丁。从而提高稳定性并添加许多功能。 所以你会想要使用 Ubuntu 的软件包系统来获取 Ubuntu 的补丁内核源代码!
您可能不需要重建内核! 最有可能的是,您只需要当前内核的 kernel-headers 包来编译您的 USB 驱动程序。假设您将其构建为内核模块,然后您可以使用 modprobe 或 insmod 加载它。(lsmod 和 rmmod 也很有用。)
如果您确实需要重建内核,那很容易。(很简单,我使用内核构建来测试我的硬件。) 网络上有很多内核构建 HOWTO。尝试找出作为模块需要哪些选项、要编译的内容以及要省略的内容会很有趣。您可以使内核更小,但您可能会错过其中的一些内容。
修改为:
我记得做“sudo apt-get install linux-headers-eeepc”,我还需要更多吗?如果不是,那么这些标头在哪里,因为我的包含“linux/module.h”的测试代码无法编译
应该有一种方法可以列出该 linux-headers-eeepc 包中的所有文件。我来自 RedHat/RPM 世界。但我猜想dpkg --contents linux-headers-eeepc或dpkg --listfiles linux-headers-eeepc 之类的东西。你可能不得不玩一下。
或者,通过http://packages.ubuntu.com/判断,像 linux-headers-2.6.27-7 这样的包包含文件 /usr/src/linux-headers-2.6.27-7/include/linux/module。 H。所以你可能只想看看/usr/src/*/include/linux/module.h。
或者,尝试:
%定位 linux/module.h | grep 'linux/module.h$'
或者
% find / -path '*/linux/module.h'
(该发现可能需要一段时间才能完成......)