Thank you for this detailed answer. You're right about it is better to compile the uboot by myself.
I have an another question. When I send the command "make CROSS_COMPILE=arm-xilinx-linux-gnueabi- ", I see this error message:
include/common.h:21:20: fatal error: config.h: No such file or directory
My system environment is windows, and I use cygwin with make. Do I need to include CPATH variables in my windows environment variables ? If yes, which variables do I need ? I have tried to add the include folder in the CPATH, but after config.h is found by the compiler, there are new missing files. Maybe it should be better to use a VM with linux ?