Как решить эту ошибку при компиляции ядра Linux

Я пытаюсь скомпилировать исходный код ядра Linux 2.6.38.4 на моем компьютере с Ubuntu, но после почти часа процесса ошибка ниже указанной

    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, но не смог найти там много подсказок. Может ли кто-нибудь сообщить мне, что мне делать, чтобы решить эту проблему.


person Amit Singh Tomar    schedule 19.03.2013    source источник


Ответы (2)


Один час на компиляцию ядра - это странно (Или вы компилируете на старом железе). Попробуйте использовать параметр -j при компиляции:

make -j8

Он запускает несколько процессов для компиляции ваших источников.

Вернемся к вашему вопросу. Возможно, вы что-то упустили в конфигурации вашего ядра. Используйте make xconfig и найдите параметры xen. Если вам не нужен Xen, просто удалите все xen-штуки из конфигурации (это также сэкономит время при компиляции)

person Federico    schedule 19.03.2013
comment
Спасибо, Федерико, попробую. - person Amit Singh Tomar; 19.03.2013

Это ошибка компоновщика. Функция xen_hvm_post_suspend вызывает xen_unplug_emulated_devices, но компоновщик не находит ее в объектном файле.

Попробуйте выяснить, где определены эти функции, возможно, ваш конфиг не включает все необходимые параметры. Если возможно, используйте ядро ​​2.6.38.8, возможно, там ошибка исправлена. В любом случае, почему бы вам не использовать более новую версию ядра?

person matthias.bgg    schedule 20.03.2013