January 20, 2025

Antminer S9 board - rebuild U-boot

My goal in all of this is to be able to build U-boot from source, put it onto an SD card, boot and run it. You would think this would be simple, even trivial, but so far the simple and obvious things just haven't worked.

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.

Forget all of this and go with Plan B

I switched to another (older) U-boot source and had quick success beyond my expectations! Since NAND seems to be a tougher nut to crack than I thought, I decided to do some research outside the context of U-boot.
Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org