0

I have tried compile kernel with no changes and it returned error:

arch/x86/boot/compressed/head_32.o: In function `efi32_config':
(.data+0x58): undefined reference to `efi_call_phys'
make[3]: *** [arch/x86/boot/compressed/vmlinux] Error 1
make[2]: *** [arch/x86/boot/compressed/vmlinux] Error 2
make[1]: *** [bzImage] Error 2
  • Hi kira! Welcome to AskUbuntu! Can you please include in your question the commands you used to get and compile the kernel? What kernel version are you attempting to compile and why? Ubuntu comes with a patched kernel different from mainline, and there's information on compiling mainline kernels if that's what you need. – tudor Oct 13 '18 at 11:33
  • Thanks for friendly comment. I compile kernel to add my system call functions. I already solved problem. thank you. – kira Oct 13 '18 at 12:36
  • If you solve your problem, please add the solution as an answer. Thanks! – tudor Oct 14 '18 at 12:46
0

Answer: Modify linux-source-3.13.0/arch/x86/boot/compressed/head_32.S file content:

    .data
efi32_config:
    .fill 11,8,0
    .long efi_call_phys
    .long 0
    .byte 0

As below:

#ifdef CONFIG_EFI_STUB
    .data
efi32_config:
    .fill 11,8,0
    .long efi_call_phys
    .long 0
    .byte 0
#endif

you can also find solution on: https://kernel.opensuse.org/cgit/kernel/commit/?h=stable&id=3db4cafdfd05717dc939780134e53023a3c1f15f

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.