[U-Boot] Compile minnowboard max error

Simon Glass sjg at chromium.org
Fri Apr 17 16:41:14 CEST 2015


Hi,

On 13 April 2015 at 22:39, li yuqian <liyuqian08 at outlook.com> wrote:
> Hi Simon
>
>> Can you please put your response below my reply? This thread is all
>> over the place....
>>
>> This looks right to me. Can you post the entire build output
>> somewhere, built with V=1 so I can see everything? There must be
>> something different.
>>
>> Regards,
>> Simon
>>
>
> Thank you, here is output i enabled the ifdtool.c debug
>
> make -f ./scripts/Makefile.build obj=lib/rsa
>
>   gcc -Wp,-MD,lib/.display_options.o.d  -nostdinc -isystem
> /usr/lib/gcc/i686-linux-gnu/4.9/include -Iinclude  -I./arch/x86/include
> -include ./include/linux/kconfig.h -D__KERNEL__ -D__UBOOT__
> -DCONFIG_SYS_TEXT_BASE=0xfff00000 -Wall -Wstrict-prototypes
> -Wno-format-security -fno-builtin -ffreestanding -Os -fno-stack-protector -g
> -fstack-usage -Wno-format-nonliteral -Werror=date-time -fno-strict-aliasing
> -mregparm=3 -fomit-frame-pointer -fno-toplevel-reorder
> -mpreferred-stack-boundary=2 -fno-dwarf2-cfi-asm -march=i386 -m32 -D__I386__
> -Werror -ffunction-sections -fvisibility=hidden -pipe
> -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(display_options)"
> -D"KBUILD_MODNAME=KBUILD_STR(display_options)" -c -o lib/display_options.o
> lib/display_options.c
>
>    ld.bfd   --emit-relocs -Bsymbolic -Bsymbolic-functions -m elf_i386   -r
> -o lib/built-in.o lib/rsa/built-in.o lib/lzo/built-in.o
> lib/libfdt/built-in.o lib/crc7.o lib/crc8.o lib/crc16.o lib/fdtdec_common.o
> lib/fdtdec.o lib/initcall.o lib/lmb.o lib/ldiv.o lib/md5.o lib/net_utils.o
> lib/physmem.o lib/qsort.o lib/sha1.o lib/sha256.o lib/strmhz.o lib/tpm.o
> lib/list_sort.o lib/hashtable.o lib/errno.o lib/display_options.o
> lib/crc32.o lib/ctype.o lib/div64.o lib/hang.o lib/linux_compat.o
> lib/linux_string.o lib/string.o lib/time.o lib/uuid.o lib/vsprintf.o
>
> make -f ./scripts/Makefile.build obj=net
>
> make -f ./scripts/Makefile.build obj=test
>
> make -f ./scripts/Makefile.build obj=test/dm
>
> make -f ./scripts/Makefile.build obj=examples
>
> make -f ./scripts/Makefile.build obj=examples/standalone
>
>   ld.bfd   --emit-relocs -Bsymbolic -Bsymbolic-functions -m elf_i386
> --gc-sections -pie --wrap=__divdi3 --wrap=__udivdi3 --wrap=__moddi3
> --wrap=__umoddi3 -Bstatic -Ttext 0xfff00000 -o u-boot -T u-boot.lds
> arch/x86/cpu/start.o --start-group  arch/x86/cpu/built-in.o
> arch/x86/lib/built-in.o  board/intel/minnowmax/built-in.o  common/built-in.o
> disk/built-in.o  drivers/built-in.o  drivers/dma/built-in.o
> drivers/gpio/built-in.o  drivers/i2c/built-in.o  drivers/mmc/built-in.o
> drivers/mtd/built-in.o  drivers/mtd/onenand/built-in.o
> drivers/mtd/spi/built-in.o  drivers/net/built-in.o
> drivers/net/phy/built-in.o  drivers/pci/built-in.o  drivers/power/built-in.o
> drivers/power/battery/built-in.o  drivers/power/fuel_gauge/built-in.o
> drivers/power/mfd/built-in.o  drivers/power/pmic/built-in.o
> drivers/serial/built-in.o  drivers/spi/built-in.o
> drivers/usb/eth/built-in.o  drivers/usb/gadget/built-in.o
> drivers/usb/host/built-in.o  drivers/usb/musb-new/built-in.o
> drivers/usb/musb/built-in.o  drivers/usb/phy/built-in.o
> drivers/usb/ulpi/built-in.o  fs/built-in.o  lib/built-in.o  net/built-in.o
> test/built-in.o  test/dm/built-in.o --end-group arch/x86/lib/lib.a -Map
> u-boot.map
>
>   objcopy  --gap-fill=0xff -O srec u-boot u-boot.srec
>
>   objcopy  --gap-fill=0xff -O binary -R .start16 -R .resetvec u-boot
> u-boot.bin
>
> make -f ./scripts/Makefile.build obj=dts dtbs
>
> make -f ./scripts/Makefile.build obj=arch/x86/dts dtbs
>
> test -e arch/x86/dts/minnowmax.dtb || ( \
>
> echo >&2; \
>
> echo >&2 "Device Tree Source is not correctly specified."; \
>
> echo >&2 "Please define 'CONFIG_DEFAULT_DEVICE_TREE'"; \
>
> echo >&2 "or build with 'DEVICE_TREE=<device_tree>' argument"; \
>
> echo >&2; \
>
> /bin/false)
>
>   cat u-boot.bin dts/dt.dtb > u-boot-dtb.bin
>
>   objcopy  --gap-fill=0xff -O binary -j .start16 -j .resetvec u-boot
> u-boot-x86-16bit.bin
>
>   ./tools/ifdtool -c -r 0x800000 u-boot.tmp; ./tools/ifdtool -D
> ./board/intel/minnowmax/descriptor.bin -i ME:./board/intel/minnowmax/me.bin
> u-boot.tmp; ./tools/ifdtool -f 0:./u-boot.dtb -m 0xfff016d4 -U
> 0xfff00000:./u-boot.bin -w 0xfffff800:./u-boot-x86-16bit.bin -w
> 0xfffc0000:./board/intel/minnowmax/"fsp.bin" -w
> 0xfff90000:./board/intel/minnowmax/"vga.bin" u-boot.tmp; mv u-boot.tmp
> u-boot.rom
>
> ROM size 8388608
>
> File u-boot.tmp is 0 bytes
>
> ROM size changed to 8388608 bytes
>
> File u-boot.tmp is 8388608 bytes
>
> File ./board/intel/minnowmax/descriptor.bin is 4096 bytes
>
> Writing ./board/intel/minnowmax/descriptor.bin to offset 0
>
> Found Flash Descriptor signature at 0x00000010
>
> File ./board/intel/minnowmax/me.bin is 5238784 bytes
>
> Adding ./board/intel/minnowmax/me.bin as the Intel ME section
>
> File u-boot.tmp is 8388608 bytes
>
> File ./u-boot.bin is 369640 bytes
>
> Writing ./u-boot.bin to offset 0x807fffff
>
> Output file is too small. (8388608 < -2138725401) 807fffff - 5a3e8
>
> Makefile:1004: recipe for target 'u-boot.rom' failed
>
> make: *** [u-boot.rom] Error 1
>
> root at ubuntu:/usr/src/uboot/u-boot#
>
>
>

I just tried the equivalent on my minnowmax, building upstream/master. I get:

  ./tools/ifdtool -c -r 0x800000 u-boot.tmp; ./tools/ifdtool -D
/mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/descriptor.bin
-i ME:/mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/me.bin
u-boot.tmp; ./tools/ifdtool -f 0:./u-boot.dtb -m 0xfff016dc -U
0xfff00000:./u-boot.bin -w 0xfffff800:./u-boot-x86-16bit.bin -w
0xfffc0000:/mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/"fsp.bin"
-w 0xfff90000:/mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/"vga.bin"
u-boot.tmp; mv u-boot.tmp u-boot.rom

ROM size 8388608
File u-boot.tmp is 0 bytes
ROM size changed to 8388608 bytes
File u-boot.tmp is 8388608 bytes
File /mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/descriptor.bin
is 4096 bytes
Writing /mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/descriptor.bin
to offset 0
Found Flash Descriptor signature at 0x00000010
File /mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/me.bin
is 5238784 bytes
Adding /mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/me.bin
as the Intel ME section
File u-boot.tmp is 8388608 bytes
File ./u-boot.bin is 371124 bytes
Writing ./u-boot.bin to offset 0x700000
U-Boot size 0x5a9b4, FDT at 0xfff5a9b4
File ./u-boot.dtb is 57483 bytes
Writing ./u-boot.dtb to offset 0x75a9b4
DTB at 75a9b4
Wrote microcode pointer at fff016dc: addr=fff5ad08, size=cc00
File ./u-boot-x86-16bit.bin is 2048 bytes
Writing ./u-boot-x86-16bit.bin to offset 0x7ff800
File /mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/fsp.bin
is 229376 bytes
Writing /mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/fsp.bin
to offset 0x7c0000
File /mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/vga.bin
is 65536 bytes
Writing /mnt/host/source/src/third_party/u-boot/files/board/intel/minnowmax/vga.bin
to offset 0x790000

It looks like 'Writing ./u-boot.dtb to offset' is wrong. Can you try
to debug this?

Regards,
Simon


More information about the U-Boot mailing list