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

Stoppa, Igor igor.stoppa at intel.com
Thu Aug 13 14:11:00 CEST 2015


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
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?

-- 
thanks, igor


More information about the U-Boot mailing list