过去几周我一直在尝试构建 Ubuntu 内核。(实际上,我不需要内核,我只需要 snd-aloop.ko,Ubuntu 14 服务器发行版中缺少该模块,它在 12 中有,但我找不到在我正在运行的最新发布的 Ubuntu 上构建此模块的方法(Ubunty/trusty Linux vagrant-ubuntu-trusty-64 3.13.0-30-generic #55-Ubuntu SMP Fri Jul 4 21:40:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux)
我按照 Ubuntu 官方网站上的说明进行操作,但出现了此错误
Using /home/vagrant/linux-3.13.0 as source for kernel
/home/vagrant/linux-3.13.0 is not clean, please run 'make mrproper'
in the '/home/vagrant/linux-3.13.0' directory.
mrproper 所做的事情之一是删除“debian”目录!
CLEAN /home/vagrant/linux-3.13.0/debian/
CLEAN .config
如何在没有 debian 目录的情况下进行构建,因为官方 Ubuntu 文档告诉我使用 debian 目录中的“规则”脚本来构建内核
fakeroot debian/rules clean
DEB_BUILD_OPTIONS=parallel=3 AUTOBUILD=1 fakeroot debian/rules binary-generic
请注意,我在构建之前运行了 debian/rules clean,但对于 Mr. Proper 来说还不够干净!我会收到以下消息:
/home/vagrant/linux-3.13.0 is not clean, please run 'make mrproper'
除了设置 .config 文件以匹配我所运行的系统之外,我没有对源代码树做任何事。我真正想要的是一个可以加载到我的系统上的 snd-aloop.ko。为什么 Ubuntu 这么糟糕?
答案1
我一次又一次地遇到同样的错误,这让我很恼火。事实证明,如果你将内核配置 .config 复制到根目录,这就是导致问题的原因。源根目录中不应该有 .config 文件。
您必须运行fakeroot debian/rules editconfigs
并编辑适合正确架构的配置文件。