I also tried building the Xilinx fsbl (first stage boot loader) from source, and likewise was frustrated working with it. The only thing I have on an SD card that does boot is from a rescue/update image provided by the Antminer people. I can put that onto an SD card and it does run.
One question, not yet answered, is how the Xilinx fsbl and the U-boot spl are related to each other. They both are described to serve the same purpose. Why do we have both of them and what are the differences?
I spent some time writing my own "from scratch" experiment. I coded up the simplest possible thing I could think of, and also coded up a utility to generate a bootrom header and include the binary for my simple image. I was able to get that to work, so this serves as another reference point.
Tom's Computer Info / tom@mmto.org