[英]How to resolve this error while compiling linux kernel
我正在尝试在我的Ubuntu计算机上编译Linux内核源2.6.38.4,但是经过将近一个小时的处理后,出现以下给定错误
VDSOSYM arch/x86/vdso/vdso32-int80-syms.lds
VDSOSYM arch/x86/vdso/vdso32-sysenter-syms.lds
VDSOSYM arch/x86/vdso/vdso32-syms.lds
LD arch/x86/vdso/built-in.o
LD arch/x86/built-in.o
LD vmlinux.o
MODPOST vmlinux.o
WARNING: modpost: Found 7 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
arch/x86/built-in.o: In function `xen_hvm_post_suspend':
/home/amit/Linux_Kernel_Study/linux-2.6.38.4/arch/x86/xen/suspend.c:34: undefined reference to `xen_unplug_emulated_devices'
make: *** [.tmp_vmlinux1] Error 1
我试图在Google上查找它,但在那里找不到太多线索,有人可以让我知道我应该怎么做才能解决此问题。
一个小时的内核编译时间很奇怪(或者您是在旧硬件上编译的)。 尝试在编译时使用-j选项:
make -j8
它运行多个进程来编译您的源。
回到您的问题。 可能您的内核配置中缺少某些内容。 使用make xconfig并查找xen选项。 如果不需要Xen,只需从配置中删除所有xen-thing(这也可以节省编译时间)
这是一个链接器错误。 函数xen_hvm_post_suspend调用xen_unplug_emulated_devices,但是链接器在目标文件中找不到它。
尝试找出定义此功能的位置,也许您的配置未包含所有必需的选项。 如果可能,请使用2.6.38.8内核,该错误可能已在此处修复。 无论如何,为什么不使用更新的内核版本?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.