libusb-1.0

debian/ubuntu

fedora

pkg-config

Repository

Building

Those programs that need to run on the host will be built when you run:

make

The programs meant for the device are not built by default. You either need to run make target-tools or make them individually, by explicitly naming them (e.g. make sunxi-meminfo).

When you are using a cross-compiling toolchain (make sure it is added to your PATH), you may need to specify the toolchain prefix to use, e.g.

make target-tools CROSS_COMPILE=arm-linux-gnueabihf-

Since all these tools are tiny, you can just as well build these 'natively' as well, i.e. on the target device itself. In that case, you don't need a cross compiler and it's possible to set CROSS_COMPILE to an empty string. In this scenario - to build everything in one go - you may use make all CROSS_COMPILE=

sunxi-fexc and wrappers

sunxi-fexc is a small program to convert between FEX and its binary representation, back and forth. It comes with two shortcuts (symbolic links) for easier invocation.

sunxi-fexc

When no arguments are provided, it waits on stdin. Similar, when no <output> is provided, it will dump to stdout. This is great for piping, but might mess up your terminal (type reset to have your terminal reset and make sense again).

bin2fex

This is a copy of sunxi-fexc which takes a script.bin and dumps the .fex text.

fex2bin

This is a copy of sunxi-fexc which takes the .fex text file and dumps the binary.

sunxi-pio

Manipulate PIO settings (GPIO / pinmux config).

Can be used both on a file dump of the PIO registers for use by the fel-gpio script or natively on the device by direct mmap hardware acess.

sunxi-fel and helpers

FEL is a means of talking to the Allwinner SoCs BROM over USB. You first need to activate FEL mode on your device to be able to access it.

sunxi-fel

Main program, which provides a script interface for talking to FEL.

Unless you select a specific device using the --dev or --sid options, the tool will access the first Allwinner device (in FEL mode) that it finds. You can print a list of all FEL devices currently connected/detected with sunxi-fel --list --verbose.

When called with no arguments, sunxi-fel will display usage information:

sunxi-bootinfo

meminfo

This device side tool reads in register information and prints out all the information you need for adding new device support to U-Boot. This tool gets statically compiled so it can be used on Android as well.

script-extractor

This device side tool reads the script.bin data from RAM at the magic address 0x43000000 and saves it to a file. This tool gets statically compiled so it can be used on Android as well. Please note that it is only usable with FEX based kernels (as used in the stock Android firmware) and does not make any sense with the devicetree based mainline kernel.

phoenix-info

gives information about a phoenix SD image created by the phoenixcard utility and optionally extracts the embedded boot code & firmware file from their hidden partitions. Not usable for LiveSuit images.

sunxi-nand-part

sunxi-nand-part is a tool to repartition the internal NAND on sunxi devices. It should be (cross-)compiled for the device's architecture, and it requires the device to have a special kernel patch (already included in our kernel tree) to expose the full NAND as a block device.