编译内核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。

其中一个内核程序包脚本无法正常工作,所以它试图复制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