U-Boot

Support for sunxi devices is increasingly available from upstream U-boot.

= Status =

The current u-boot release (v2014.07) only contains basic sunxi support. The next release (v2014.10) will have a much more functionality.

v2014.07
v2014.07 Release branch
 * sun7i (AKA A20) processors
 * MMC
 * GMAC Ethernet
 * Boards:
 * Cubietech Cubietruck

v2014.10 (git)

 * AHCI (SATA)
 * sun4i (AKA A10) and sun5i (AKA A10s and A13) processors
 * EMAC Ethernet
 * AXP152 and AXP209 power controllers
 * EHCI USB
 * SMP support for sun7i via PSCI.

= Supported Devices = Beware: some of the above might only be supported in the latest development version. = Compile U-Boot =

Get a toolchain
If you haven't done so before, get a suitable toolchain installed and added to your PATH.

Clone the repository
For u-boot version v2014.10-rc1 and later:

You can clone the u-boot repository by running: git clone git://git.denx.de/u-boot.git

Determine build target
For u-boot version v2014.10-rc1 and later:

Go to your u-boot tree and search in the directory configs/ for your board, the file name looks like _defconfig. So, Cubieboard2_defconfig for the Cubietech Cubieboard2.

You will notice that some  are duplicates, but with _FEL attached. These are for use with USBBoot, while the standard ones will boot from SD.

Build
For u-boot version v2014.10-rc1 and later:

When you have determined what  you want to build, configure: make CROSS_COMPILE=arm-linux-gnueabihf- _defconfig

Then just build it: make CROSS_COMPILE=arm-linux-gnueabihf-

Boot
When the build has completed, there will be u-boot-sunxi-with-spl.bin, spl/sunxi-spl.bin and u-boot.img available in your u-boot tree.

For getting these bits loaded onto the hardware, please refer to the respective howto:
 * SD Card
 * USB

= Configure U-Boot =

Please refer to our configuring U-Boot howto.

= Adding a new device to upstream U-Boot =

= External links =


 * Our sunxi u-boot page.
 * Our mainline kernel howto.