您的位置:首页 > 运维架构 > Linux

使用centos linux-2.6.32-220.23.1.el6源码编译时出现的问题及其解决方法

2012-12-14 22:39 696 查看
原文出处:/article/11709032.html

内容为:

scripts/kconfig/conf -s arch/x86/Kconfig
CHK include/linux/version.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC crypto/signature/ksign-publickey.o
crypto/signature/ksign-publickey.c:2:17: error: key.h: No such file or directory
crypto/signature/ksign-publickey.c: In function ‘ksign_init’:
crypto/signature/ksign-publickey.c:10: error: ‘ksign_def_public_key’ undeclared (first use in this function)
crypto/signature/ksign-publickey.c:10: error: (Each undeclared identifier is reported only once
crypto/signature/ksign-publickey.c:10: error: for each function it appears in.)
crypto/signature/ksign-publickey.c:11: error: ‘ksign_def_public_key_size’ undeclared (first use in this function)
make[2]: *** [crypto/signature/ksign-publickey.o] Error 1
make[1]: *** [crypto/signature] Error 2
make: *** [crypto] Error 2

1) Select “Enable loadable module support”, then “Module signature verification (EXPERIMENTAL)”. Disable it.

2) Then go back to the main menu, select “Cryptographic API” then “In-kernel signature checker (EXPERIMENTAL)” and disable that one too.

但是自己初学Linux内核,看不懂到底该怎么做,于是请教了这篇博文的作者,加了他QQ,问清楚怎么做了,真的谢谢他!那么具体怎么做呢?是这样地:

make menuconfig

make all

make modules_install

make install

reboot

手动编译内核时,需要五个步骤,如上所示,上述问题出现在第二步(make all),但需要在第一步(make menuconfig)解决。在make menuconfig时会出现下图所示的界面,就是在这里进行设置啦。



首先使用上下键把光标移动到“Enable loadable module support”栏,回车进入,再把光标移到“Module signature verification (EXPERIMENTAL)”,把它关掉(Disable
it),也就是字母n键(相反y键是开)。



左右键选择Exit回到刚才的界面,再次移动光标到“Cryptographic API”,进入,移动光标到“In-kernel signature checker (EXPERIMENTAL)”,同样的方法,关掉(Disable
it)。退出,在退出。然后进行手工编译内核的第二步make all。OK,大功告成,谢谢原作者,很热心啊。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐