The next instruction is for cross-compiling the u-boot bootloader for Marsboard A10 on Fedora 19 x86_64. With little modifications it should be able to work with other versions of Fedora, and to compile u-boot for another ARM board, e.g. Marsboard A20, ot Cubieboard.
Make sure the arm-linux-gnu toolchain is installed
yum install gcc-arm-linux-gnu binutils-arm-linux-gnu
My exact versions of those 2 packages are
# rpm -qa | grep arm-linux gcc-arm-linux-gnu-4.7.2-2.aa.20121114svn.fc19.1.x86_64 binutils-arm-linux-gnu-2.23.51.0.3-1.fc19.x86_64
Please note that I tried the arm-none-eabi toolchain, but I encountered a problem during the cross-compilation. The cross-compilation was failing with segmentation fault, so I switched to arm-linux-gnu toolchain.
The command line of the instruction from the wiki How to compile the Allwinner A10 u-boot
git clone git://github.com/hno/uboot-allwinner.git
is not working, as the uboot-allwinner repository was removed.
I found that in the main u-boot repository there was a recent addition of Marsboard A20. The Marsboard A10 configuration for u-boot was present too. So I cloned the repository locally:
mkdir -p ~/Downloads/Marsboard cd ~/Downloads/Marsboard git clone git://github.com/hno/u-boot.git cd u-boot
According to the README file in the u-boot root directory, after I found that the name of the board is Marsboard_A10 in the u-boot configuration lists, the next instructions had to compile u-boot:
export CROSS_COMPILE=arm-linux-gnu- make Marsboard_A10_config make clean make
Don’t forget the trailing dash ‘–‘ of the arm-linux-gnu- string which is put into the CROSS_COMPILE variable.
If everything compiled fine, you’ll have the u-boot.bin file in the root of the u-boot tree, and sunxi-spl.bin in the spl/ directory.