编译内核 2.6.35-25.44 时遇到错误

编译内核 2.6.35-25.44 时遇到错误

我下载了 linux-source-2.6.35 包,并尝试在“make menuconfig”之后使用命令“fakeroot make-kpkg --append-to-version=.dbg kernel_image kernel_source kernel_headers --initrd”对其进行编译。

图像 .deb 文件已生成并安装正常,但是在尝试制作源包时出现错误停止了构建过程:


scripts/Makefile.clean:17: /home/ade/linux-source-2.6.35/debian/linux-source-2.6.35.10.dbg/usr/src/linux-source-2.6.35.10.dbg/crypto/Makefile: No such file or directory
make[1]: *** No rule to make target `/home/ade/linux-source-2.6.35/debian/linux-source-2.6.35.10.dbg/usr/src/linux-source-2.6.35.10.dbg/crypto/Makefile'.  Stop.
make: *** [_clean_crypto] Error 2
果然,文件夹 linux-source-2.6.35/debian/linux-source-2.6.35.10.dbg/usr/src/linux-source-2.6.35.10.dbg/crypto 不存在(尽管所有其他内核源文件夹似乎都在那里)。

我甚至无法确定应该将文件夹复制到哪里,或者应该调用什么来清理。我在这里做错了吗?应该注意的是,我正在运行 10.04。

答案1

其中一个内核包脚本无法正常工作,因此它尝试复制 crypto.master 并失败。下面是我为修复它而制作的补丁,尽管源包仍然不包含 tar 存档之外的 debian 和 debian.master 文件夹,就像官方的 Ubuntu 内核源包一样。


--- /usr/share/kernel-package/ruleset/targets/source.mk 2009-08-21 09:47:53.000000000 -0400
+++ /usr/share/kernel-package/ruleset/targets/source.mkmod  2011-02-28 14:42:22.000000000 -0500
@@ -64,12 +64,10 @@ debian/stamp/install/$(s_package):
 ####
 ######################################################################
 ifneq ($(strip $(int_follow_symlinks_in_src)),)
-   -tar cfh - $$(echo * | sed -e 's/ debian//g' -e 's/\.deb//g' ) |       \
-   (cd $(SRCDIR); umask 000; tar xpsf -)
+   -(umask 000; find . -mindepth 1 -maxdepth 1 -not -name '*.deb' -not -name 'debian*' -exec cp -Lr {} $(SRCDIR) \;; )
    (cd $(SRCDIR)/include; rm -rf asm ; )
 else
-   -tar cf - $$(echo * | sed -e 's/ debian//g' -e 's/\.deb//g' ) |         \
-   (cd $(SRCDIR); umask 000; tar xspf -)
+   -(umask 000; find . -mindepth 1 -maxdepth 1 -not -name '*.deb' -not -name 'debian*' -exec cp -r {} $(SRCDIR) \;; )
    (cd $(SRCDIR)/include; rm -f asm ; )
 endif
    $(install_file) debian/changelog      $(SRCDIR)/Debian.src.changelog

相关内容