在 Ubuntu Eee 上编译内核需要啥?

Posted

技术标签:

【中文标题】在 Ubuntu Eee 上编译内核需要啥?【英文标题】:What do I need to compile the kernel on Ubuntu Eee?在 Ubuntu Eee 上编译内核需要什么? 【发布时间】:2009-01-29 20:11:23 【问题描述】:

我正在尝试按照教程在 Linux 中创建自定义 USB 驱动程序,我希望使用 g++ 在我的 Eee PC 上使用 Ubuntu Eee 开发这个东西。不幸的是,要遵循本教程,我需要 linux/module.h 头文件。据我了解,我需要编译内核才能使其正常工作。我以前从未编译过内核,我找到的所有说明都是针对桌面 Ubuntu 的。

我在我的 Eee 上这样做,因为如果我能做到这一点并在课堂项目中使用它,我将在课堂上获得额外的学分。

我正在关注的教程在这里:http://www.linuxjournal.com/article/7353 和这里:http://www.linuxjournal.com/article/4786

【问题讨论】:

“GUYZ!!请帮我获得额外的学分!!” 这应该被标记为“Linux” 是的,我知道试图获得额外的信用有点无耻,但它不是硬件,这只是一项大任务中的一小步。毕竟我仍然以某种方式将这一切连接到 HSC12。另外,我的教授也是其中之一。 【参考方案1】:

大多数(全部?)主要的 Linux 发行版不仅分发 linux 内核,而且还为其应用了许多补丁。从而提高稳定性并添加许多功能。 所以你会想要使用 Ubuntu 的软件包系统来获取 Ubuntu 的补丁内核源代码!

您可能确实需要重建内核!很可能,您只需要当前内核的 kernel-headers 包来编译您的 USB 驱动程序。假设您将其构建为内核模块,然后您可以使用 modprobe 或 insmod 加载它。 (lsmod 和 rmmod 也很有用。)

如果您确实需要重建内核,那很容易。 (So easy, I use kernel builds to test my hardware.) 网上有很多Kernel Building HOWTO's。试图找出作为模块的选项、要编译的内容以及要省略的内容,您会很开心。您可以使内核更小,但您可能会错过其中的一些内容。



修改为:

我记得做“sudo apt-get install linux-headers-eeepc”,我还需要更多吗?如果不是,那么这些标头在哪里,因为我的包含“linux/module.h”的测试代码无法编译

在那个 linux-headers-eeepc 包中有should be a way to list all the files。我来自 RedHat/RPM 世界。但我猜想dpkg --contents linux-headers-eeepcdpkg --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'

查找可能需要一段时间才能完成...)

【讨论】:

我记得执行“sudo apt-get install linux-headers-eeepc”,我还需要更多吗?如果不是,那么这些标头在哪里,因为我的包含“kernel/module.h”的测试代码无法编译。 回复已修改为发布。 (需要 300 多个字符才能响应。) 我找到了头文件,我需要做更多的工作来编译它,但这至少意味着我不必编译内核。感谢您的帮助。【参考方案2】:

从这里:Ubuntu Kernel/Compile 开始: sudo apt-get install linux-kernel-devel fakeroot build-essential makedumpfile

可能只是读到link。

More in depth details here

【讨论】:

以上是关于在 Ubuntu Eee 上编译内核需要啥?的主要内容,如果未能解决你的问题,请参考以下文章

怎么在ubuntu上编译android源码

怎么在ubuntu系统上编译定制openwrt固件

我想在ubuntu系统下编译linux内核代码,那我要怎么进行环境的配置,要安装啥呢?

在 Debian 9 上编译内核模块

在Ubuntu Server14.04上编译Android6.0源码

如何在windows上编译Tesseract OCR