After Android 4.4 SDK for AllWinner A31 last week, another AllWinner software development kit has been seen in the wild, this time for the new AllWinner A80 octa-core processor. A80 SDK includes source code for the Linux Kernel and U-boot, as well as buildroot, and various AllWinner tools. I’ve also noticed AllWinner A80 datasheet is available, but with the strict minimum information (45 pages).
Let’s get the code, and extract it:
1 2 3 |
wget http://dl.linux-sunxi.org/SDK/A80/A80_SDK_20140728.tar.gz tar xvf A80_SDK_20140728.tar.gz cd A80_SDK_20140728 |
Now we need to configure the build:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
./build.sh config Welcome to mkscript setup progress All available chips: 0. sun9iw1p1 Choice: 0 All available platforms: 0. android 1. dragonboard 2. linux Choice: 2 All available kernel: 0. linux-3.4 Choice: 0 All available boards: 0. optimus 1. p1 2. perf 3. perf5 4. perf-lpddr3 Choice: 0 |
sun9i is the codename for AllWinner A80, not sure what w1p1 means. Dragonboard must be the internal Allwinner development board, but I just selected Linux, since the SDK does not come with Android, and finally I opted for optimus, which could stand for OptimusBoard.
You may need to install extra dependencies in your build machine, for example (in Ubuntu 14.04):
1 |
sudo apt-get install flex texinfo build-essential |
Now let’s start buildroot which should retrieve the toolchain, and build u-boot and the Linux kernel:
1 |
./build.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
INFO: ---------------------------------------- INFO: build lichee ... INFO: chip: sun9iw1p1 INFO: platform: linux INFO: kernel: linux-3.4 INFO: board: optimus INFO: output: out/sun9iw1p1/linux/optimus INFO: ---------------------------------------- INFO: build buildroot ... make: Entering directory `/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot' mkdir -p /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target if ! [ -d "/home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target/bin" ]; then \ if [ -d "/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/fs/skeleton" ]; then \ cp -fa /media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/fs/skeleton/* /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target/; \ fi; \ touch /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/host/usr/arm-unknown-linux-gnueabi/sysroot/.fakeroot.00000; \ fi find /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target -type d -name CVS -print0 -o -name .svn -print0 | xargs -0 rm -rf find /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/target -type f \( -name .empty -o -name '*~' \) -print0 | xargs -0 rm -rf touch /home/jaufranc/edev/allwinner/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/build/.root --2014-08-26 11:55:29-- http://www.codesourcery.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2 Resolving www.codesourcery.com (www.codesourcery.com)... 107.23.79.96 Connecting to www.codesourcery.com (www.codesourcery.com)|107.23.79.96|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://sourcery.mentor.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2 [following] --2014-08-26 11:55:31-- https://sourcery.mentor.com/sgpp/lite/superh/portal/package7783/public/sh-linux-gnu//gcc-linaro.tar.bz2 Resolving sourcery.mentor.com (sourcery.mentor.com)... 54.83.42.164 Connecting to sourcery.mentor.com (sourcery.mentor.com)|54.83.42.164|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu//gcc-linaro.tar.bz2 [following] --2014-08-26 11:55:33-- https://sourcery.mentor.com/public/gnu_toolchain/sh-linux-gnu//gcc-linaro.tar.bz2 Connecting to sourcery.mentor.com (sourcery.mentor.com)|54.83.42.164|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2014-08-26 11:55:35 ERROR 404: Not Found. --2014-08-26 11:55:35-- http://sources.buildroot.net//gcc-linaro.tar.bz2 Resolving sources.buildroot.net (sources.buildroot.net)... 176.9.16.109 Connecting to sources.buildroot.net (sources.buildroot.net)|176.9.16.109|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2014-08-26 11:55:37 ERROR 404: Not Found. make: *** [/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot/dl/gcc-linaro.tar.bz2] Error 1 make: Leaving directory `/media/hdd/edev/allwinner/A80_SDK_20140728/lichee/buildroot' ERROR: build buildroot Failed |
So it’s looking for Linaro gcc via several servers, (except linaro), and all links fail… So I modified buildroot/toolchain/toolchain-external/ext-tool.mk to use http://releases.linaro.org/14.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux.tar.bz2 instead, and after adding some symlinks (arm-linux-gnueabi-gcc to arm-linux-gnueabihf-gcc), it went a little further, but Busybox failed to build (error: ‘RLIMIT_FSIZE’ undeclared), so another toolchain may be needed, or some work is needed to make it build…
Several drivers in the kernel are binary only, or mixed binary / source, including the NAND driver, part of dram frequency scaling drivers, some MIPI code, a face detection library, part of USB3.0 code, and more.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress