AllWinner A80 Linux SDK Released

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).

AllWinner_A80_SDK

Let’s get the code, and extract it:


Now we need to configure the build:


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):


Now let’s start buildroot which should retrieve the toolchain, and build u-boot and the Linux kernel:



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.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

18
Leave a Reply

avatar
18 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
10 Comment authors
A80 OptimusBoard Development Board Pictures and BenchmarksSergiominiNodesKevin125 Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Member

45 pages is a normal datasheet. The big ones are the reference manuals. Is the reference manual hiding inside the A80 SDK?

Member
Michal Lazo

GPU user space drivers and VPU cedar lib
are in buildroot

no OpenMAX or OpenCL

haze
Guest
haze

I search schematic of allwinner A80 board, who that?

Harley
Guest
Harley

http://libv.livejournal.com This blog post by Luc Verhaegen pretty much says it all

mat
Guest
mat

Instead of reading Verhaegen about non-binary dreams….

I’m still waiting for a SoC with 3 features:
-decent speed and hevc decoding
-decent linux GLES (even binary … no frequent crashes)
-decent VPU drivers (even binary…. no crashes and no pink screens)

Being A10 owner I can say vpu under linux is trashy if you ever use 264, cedar libhybris and any other.
AMLogic S80x still no hevc and other issues (also linux unsupported by anyone?!?).
Tegra K1 good all but no hevc (no, OpenCL never gave 264 decent speed to i3/i5/i7, just 7% faster codecs with unstable code).
RK3288 no linux drivers for vpu at all, maybe gpu in the future.

Call me when someone choose to release something linux compatible, for now I’m evaluating rk3288 + linuxOnAndroid as mini-server….

trackback

[…] Allwinner A80 octa-core chip SDK released including Linux kernel, U-boot Want to run Linux on a tablet or TV box with Allwinner’s new 8-core chip. We’re not quite there yet… but these tools might help. [CNX Software] […]

Frank Earl
Member

OpenMAX and OpenCL being lacking is disappointing.

Frank Earl
Member

Build problems look like they’re bugs from the Buildroot perspective- there’s a patch from 2012 that appears to be the proper fix. I’m checking that out now to see if it’s the source of the problems.

Frank Earl
Member

Epic. FAIL.

(From the buildroot dir)
2011.02, Released February 28th, 2011:

No wonder the thing doesn’t build, Jean-Luc. It’s using an *ANCIENT*, *BROKEN* buildroot. The only way they’re getting this to work is that the downloads it’s looking for on Linaro’s site are local to the dev’s buildroot dir on their machine.

Frank Earl
Member

@cnxsoft
Heh… We need techrefs from AllWinner here. This is a mess and isn’t acceptable. I suppose if I have a board, I could make a more modern kernel work for a more modern buildroot and OpenEmbedded. Without it, it’d be a lot of work without any real payback for me.

Kevin125
Guest

but Busybox failed to build (error: ‘RLIMIT_FSIZE’ undeclared)

Just add one include path in system/core/init/init.c

#include

miniNodes
Guest

We started building this today, but have met problems as well.

@cnxsoft – Thanks for the info, excellent info to get started.

@Kevin125 – Thanks for that tip, I was able to proceed with Busybox. However, building still fails further down the line in Busybox.

Last few lines of output:

/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/external-toolchain/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file libbb/lib.a(perror_nomsg.o)
/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/external-toolchain/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: error: busybox_unstripped uses VFP register arguments, libpwdgrp/lib.a(uidgid_get.o) does not
/A80_SDK_20140728/lichee/out/sun9iw1p1/linux/common/buildroot/external-toolchain/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file libpwdgrp/lib.a(uidgid_get.o)
collect2: error: ld returned 1 exit status
make[1]: *** [busybox_unstripped] Error 1

miniNodes
Guest

@cnxsoft
But hey, Android works great. =)

Correct though, we have had the board for a few weeks (prior to the SDK), but were awaiting assistance from Merrii to provide a working Linux.

Now with the SDK released, we could theoretically take matters in to our own hands…If it worked!

Sergio
Guest
Sergio

For miniNodes.

Hi!
I’ve read your instruction for building http://www.mininodes.com/how-to-build-linux-for-the-allwinner-a80-optimusboard/
and tried to make all you’ve wrote.
I’ve repeated it twice! But I’ve had an error exectly the same place all the times…
After this step:
Edit Line 456, and change ‘gets’ to ‘fgets’
I had an error
/usr/bin/gcc -c -I. -I/home/adminuser/SRC/lichee/out/sun9iw1p1/linux/common/buildroot/build/kernel-header/linux-2.6.36-android/include output_file.c
output_file.c:25:18: fatal error: zlib.h: No such file or directory
#include
And no future steps havn’t improove it…
By the way, the PATH …/kernel-header/linux-2.6.36-android/include doesn’t exist.
Even …/build/kernel-header/ doesn’t exist!
What I did wrong?

trackback

[…] sadly (and amazingly), there’s currently no such SDK for A80 OptimusBoard, except a leaked Linux SDK which failed to build with recent tools and operating […]