sunxi represents the family of ARM SoCs from a fabless semiconductor company Allwinner. Although Allwinner does not participate itself actively on Linux kernel development, there's a community of enthusiasts who have figured out how most of the parts on these SoCs work and are actively upstreaming proper device drivers for these SoCs.
There is an active developer community who has been actively documenting existing hardware on linux-sunxi wiki. There's also a mailing list, in case you cannot find the answer to your questions from wiki.
PS. Questions about vendor BSP and Mali driver should not be asked there.
Start the device in FEL mode.
In case your device already has something installed, you can use the
fel-sdboot
binary written on the µSD card.
Using sunxi-fel
utility from the sunxi-tools package,
it is possible to boot the device via the USB cable using the
FEL protocol.
For automation purposes it is also possible to supply custom environment to u-boot via uEnv.txt. In our case, the uEnv.txt contents are following:
#=uEnv bootcmd=fastboot usb 0
Now, you can start the device in fastboot mode with following command:
sunxi-fel -v -p uboot u-boot-sunxi-with-spl.bin write 0x43100000 uEnv.txt
Now you can utilize the fastboot devices
command on the host computer to
see whether your device is actually visible.
Firstly, you need to partition your target device:
fastboot oem format
This will create 4 partitions on the target device:
loader1
- sunxi-spl.bin
from u-boot. Common for
all the 32-bit sunxi devices.loader2
- u-boot.img
from u-boot. Device specific.esp
- EFI System Partition. Must be formatted as VFAT, can be
utilized for storing UEFI configuration, but u-boot can also load its
configuration (uboot.scr
) from there.system
- System partition with operating systemAll of them can be populated using using fastboot flash
command:
fastboot flash [partition] [image file]