LibreComputer Amlogic S905X-CC

This is mostly to remind me if I put this board in a drawer and forget about it for 6 months.

librexcomputer-s905x

Reference

Boot failure

Failure looks like this:

librecomputer-s905x-fail

Googling for GXL BL1 will get you a lot of forum posts from TV box owners – the S905X is used a lot in not-so-cheap Android TV devices. What it won’t tell you is that if you see text like the above, you’re in an Amlogic first-stage bootloader and this probably means the SD card isn’t being read correctly. So much for being able to netboot or boot off EMMC. This device seems to be fairly picky about what kinds of SD cards it will boot from.

Toolchain

For some reason I started with http://openlinux.amlogic.com:8000/deploy/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux.tar which is outdated and seems to be missing libz.so.1

The one you probably should start with is http://openlinux.amlogic.com:8000/deploy/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.jz. If, like me, you’re wondering WTF a .jz file is, it’s Amlogic-ish for bzip2.

This seems to be an upstream Linaro 2017.02 toolchain.

bin/aarch64-linux-gnu-gcc -Q --help=target

will tell you what options are set (importantly, what march and mtune are specified as by default). The answer for this toolchain is armv8-a and nothing, respectively. Newer toolchains can be found at https://releases.linaro.org/components/toolchain/binaries