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

来源:互联网 发布:淘宝号查询 编辑:程序博客网 时间:2024/04/23 23:14

        原文出处:http://blog.csdn.net/qq174181597/article/details/8178596

        内容为:

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 allOK,大功告成,谢谢原作者,很热心啊。

原创粉丝点击