ARM64 – Geekbox – 8-Cores and a UART Gotcha..

I recently acquired on of the rather quirky Geekbox ARM64 devices, together with the oddly-named ‘Landingstrip’ expansion board..

The similarity in overall design to the ARMv7 Radxa Rock2 will be seen from the photo:

Geekbox ARM64

Geekbox ARM64

If you are ordering one, it is worth getting the USB/UART connector as well, as the 3-pin micro flat-pin connection is somewhat non-standard..

As part of my plans to get it running a ‘real’ kernel, with U-boot etc, I had intended to mount an SDcard with the root filesystem etc.. similar to the Rock2..    I found that when the SDcard was inserted, the UART console output became garbage..    Further research (and confirmation with the makers) revealed that the SDcard connection ‘shares’ the UART with the console/TTY (!)   This could be called a ‘design compromise’, but it certainly makes life a bit difficult for a developer..

I found out that there are more UART connections, via the multi-connector on the expansion board, but some of these were ‘shared’ with other peripherals (such as Bluetooth) and the two ‘available’ ones produced a stream of garbage characters when connected..    IMHO the UART/USB TTY connection is essential, so I had to re-think my approach…    Fortunately, the ‘Landingship’ board includes a SATA+power connector, suitable for a SSD, and so I connected a relatively inexpensive 120GB one, and now have Fedora 23 (aarch64) as the rootfs on that.    You could probably also use a USB stick, but I have not tried this..  The SATA connection is via a USB bus in any case.:

]# lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 152d:2329 JMicron Technology Corp. / JMicron USA Technology Corp. JM20329 SATA Bridge
Bus 001 Device 002: ID 1a40:0801 Terminus Technology Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The Linux environment provided with the device is based on a heavily-hacked version of ancient Kernel 3.10, which is loaded onto the on-board eMMC – with stripped-down u-boot, initrd, etc. – as a binary ‘blob’..    The kernel command line is loaded as part of a parameter file – similar to the original setup on the Radxa Rock2 – and I modified this to point to the F23 rootfs on the SSD (/dev/sda1).

There is active kernel development going on for the device (Rockchip RK3368 SOC), but (so far) no sign of any work on a ‘real’ U-boot..    The old/hacked kernel does boot OK with Fedora 23, but I keep getting Systemd errors, and tombstones, although the device does not actually crash (so far!)

Fedora 23 (Twenty Three)
Kernel 3.10.0 on an aarch64 (ttyS2)
# uname -a
Linux rgbox 3.10.0 #130 SMP PREEMPT Mon Dec 21 08:25:25 CST 2015 aarch64 aarch64 aarch64 GNU/Linux

More info to follow, when I have it!

Robert Gadsdon.   April 8, 2016.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.