HTC Nexus 9 is one of the first 64-bit ARM platform with powerful ARMv8 cores (e.g. not Cortex A53) that both commercially available, and relatively affordable at $399 to $599, at least significantly cheaper than the server boards such as Applied Micro X-C1. The tablet comes with Android 5.0 Lollipop, but for those of you who wish to have an ARM64 platform running Ubuntu or other 64-bit Linux operating systems, Ubuntu installation instructions provided by Ryan Houdek, Dolphin emulator developer, might come handy, especially it won’t affect your Android installation provided you have already unlocked your bootloader.
The instructions are fairly long so I won’t reproduce them all here, so I recommend you check the detailed instructions on XDA, but the short summary below may give an idea of the amount of work needed:
- Install dependencies such as Aarch64 toolchain:
1sudo apt-get install gcc g++ git gcc-4.9-aarch64-linux-gnu g++-4.9-aarch64-linux-gnu
- Build a initramfs with buildroot. You’ll need to enable Aarch64 Linaro toolchain, set consolle output to ttyFIQ0, and select cpio roots in menuconfig step:
1234git clone https://github.com/buildroot/buildroot.gitcd buildrootmake menuconfigmake -j8
- Build the Linux kernel. Again you’ll have to change a bunch of options in make menuconfig step related to watchdog, graphics supports, and overall system configuration:
12345678git clone https://android.googlesource.com/kernel/tegra.gitcd tegragit checkout android-tegra-flounder-3.10-lollipop-releaseexport ARCH=arm64export CROSS_COMPILE=aarch64-linux-gnu-make flounder_defconfigmake menuconfigmake -j8
- Extract a rootfs (e.g. ubuntu-core-14.04.1-core-arm64.tar.gz) to a USB flash drive formatted with EXT-2/3/4, make some minor modifications to the rootfs, and rebuil the kernel. Once everything is don and well, boot Ubuntu with fastboot as follow:
1fastboot -c "console=fbcon=rotate:1 root=/dev/sda1 rootwait rw" boot arch/arm64/boot/Image.gz-dtb
Beside the Nexus 9, a USB OTG cable, and a USB flash drive required for installing Ubuntu ARM64 with these instructions, you should really make a headphone UART debug cable as accessing the serial console with make it easier to spot potential issues during installation.