[U-Boot] efi: Error building as EFI payload (both 32bit and 64 bit)

Bin Meng bmeng.cn at gmail.com
Thu Aug 13 14:37:16 CEST 2015


Hi Igor,

On Thu, Aug 13, 2015 at 8:11 PM, Stoppa, Igor <igor.stoppa at intel.com> wrote:
> Hello,
> I'm using the HEAD of the master branch from git://git.denx.de/u-boot-x86.git
> I want to build U-Boot as 64bit EFI payload.
>
> According to docs/README.efi, I've done the following:
>
> u-boot-x86> make qemu-x86_defconfig
> u-boot-x86> make menuconfig
>
> x86 architecture  ---> Mainboard vendor  --->  efi
> x86 architecture  ---> Mainboard model  --->  efi

These two should not be changed for EFI payload. What you selected is
for EFI application.

> Library routines  ---> [*] Support running U-Boot from EFI
> Library routines  --->  Select EFI mode to use ---> Support running as
> an EFI payload
> Library routines  --->  EFI 32/64-bit selection ---> Produce a stub
> for running with 64-bit EFI
>
> Save as .config and Exit
>
> u-boot-x86> make
>
> Here it builds for a while, but eventually fails when reaching:
>
>   CC      lib/efi/efi_stub.o
> lib/efi/efi_stub.c: In function ‘get_codeseg32’:
> lib/efi/efi_stub.c:188:30: error: ‘CONFIG_SYS_MONITOR_LEN’ undeclared
> (first use in this function)
>       CONFIG_SYS_TEXT_BASE + CONFIG_SYS_MONITOR_LEN < limit
>                              ^
> lib/efi/efi_stub.c:188:30: note: each undeclared identifier is
> reported only once for each function it appears in
> scripts/Makefile.build:277: recipe for target 'lib/efi/efi_stub.o' failed
> make[2]: *** [lib/efi/efi_stub.o] Error 1
> scripts/Makefile.build:422: recipe for target 'lib/efi' failed
> make[1]: *** [lib/efi] Error 2
> Makefile:1206: recipe for target 'lib' failed
> make: *** [lib] Error 2
>
> I tried also with the 32bit stub and I get a different (linker) error:
> arch/x86/cpu/start.o: In function `_start':
> /home/igor/dev/tmp/bbb/u-boot-x86/arch/x86/cpu/start.S:87: undefined
> reference to `early_board_init'
> arch/x86/cpu/built-in.o: In function `pci_init_board':
> /home/igor/dev/tmp/bbb/u-boot-x86/arch/x86/cpu/pci.c:58: undefined
> reference to `board_pci_setup_hose'
> drivers/serial/built-in.o: In function `x86_serial_ofdata_to_platdata':
> /home/igor/dev/tmp/bbb/u-boot-x86/drivers/serial/serial_x86.c:25:
> undefined reference to `ns16550_serial_ofdata_to_platdata'
> drivers/serial/built-in.o:(.u_boot_list_2_driver_2_serial_ns16550+0x10):
> undefined reference to `ns16550_serial_probe'
> drivers/serial/built-in.o:(.u_boot_list_2_driver_2_serial_ns16550+0x3c):
> undefined reference to `ns16550_serial_ops'
> Makefile:1188: recipe for target 'u-boot' failed
> make: *** [u-boot] Error 1
>
>
> Any idea of what mistakes I am making?
>

Regards,
Bin


More information about the U-Boot mailing list