场景说明:由于.config文件中如果定义了CONFIG_DEBUG_KERNEL选项将会编译代码的时候,将调试的信息携带在动态链接库中,导致编译的内核模块文件增大,删除调试信息的模块,体积减少好几倍。然而出现如下的问题:
执行指令:make bzImage
/x86/kernel/traps.c :In function "default_do_nmi':
/x86/kernel/traps.c:517:error:implicit declaratiob of function 'nmi_watchdog_tick'
/x86/kernel/traps.c:519:error:implicit declaration of funciton 'do_nmi_callback'
make[2]:*** [arch/x86/kernel/traps.o] Error 1
解决方案:
既然我们不能注释掉CONFIG_DEBUG_KERNEL,编译内核,我们尝试编译内核模块,尽量减少内核编译模块的体积。