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
3
  • 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. Oct 13, 2018 at 11:33
  • Thanks for friendly comment. I compile kernel to add my system call functions. I already solved problem. thank you.
    – Geshe
    Oct 13, 2018 at 12:36
  • If you solve your problem, please add the solution as an answer. Thanks! Oct 14, 2018 at 12:46

1 Answer 1

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .