Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
PINE A64 and PINE A64+

Sub-models options :
- PINE A64: 100 Mbit Ethernet, 512 MiB RAM
- PINE A64+: 1 Gbit Ethernet, 1 or 2 GiB RAM

Overall Status

Core Components


Boot Standard Kernel:


LAN network card:


USB2 ports


HDMI video output


HDMI audio output


Analog audio output


S/PDIF output (via Euler bus)


Extra Features

CPU Frequency Scaling




Sleep / Suspend




- OpenGL


- Resize-and-Rotate(randr)




~-Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware


These steps were tested with Debian Installer Buster RC1 on a PINE A64+ (2 GiB RAM).

  1. From the Debian Installer page go to "Other Images", "arm64" and download following files:

    • u-boot/pine64_plus.img.gz

    • netboot/netboot.tar.gz

    • device-tree/allwinner/sun50i-a64-pine64-plus.dtb

  2. Extract and write the pine64-plus.img image file to an SD card. This will make the the SD card bootable (with u-boot) and create a msdos partition table with a partition of type FAT32 of 1 GiB. Format the partition, e.g. as FAT32 (ext2, ext3 or ext4 should work as well).

  3. Copy sun50i-a64-pine64-plus.dtb and the files linux and initrd.gz from netboot.tar.gz to the root directory of the FAT32 partition.

  4. Create the file extlinux/extlinux.conf with following contents:

timeout 50
default d-i
    label d-i
    linux /linux
    initrd /initrd.gz
    fdt /sun50i-a64-pine64-plus.dtb

Boot the board with the SD card, the Debian Installer should start automatically on the HDMI output (probably also on the serial console). The installation process requires internet access to download installer components and the packages for the final system.

<!> At the partitioning step you must use the Manual partitioning because Guided partitioning will recreate the partition table (disk label) and will make the SD card un-bootable. You can delete the FAT32 partition used for the installer and create new partitions as you see fit (within the limits of the msdos partition table). ext4 partitions will not be accessible from systems with an older kernel (e.g. a PINE64 provided image using the BSP kernel).

If you want/need to update u-boot on the SD card install u-boot-sunxi, u-boot-tools, arm-trusted-firmware and run:

u-boot-install-sunxi64 /dev/mmcblk0

This script can also be used to install u-boot in images created with with debootstrap.



A64 SoCs are affected by a bug that sometimes makes the clock jump, usually 95 years into the future. A workaround was included in the mainline kernel 5.1-rc1 and the mainline stable kernel 4.19.31. The fix was activated in Debian as of linux 4.19.37-1 (928457).

HDMI output

The HDMI video output works as of Linux 4.19 in buster although it's marked as supported in mainline only as of 4.20 (apparently the Debian kernel contains backported patches), so far only in framebuffer mode.

As of Debian kernel version 5.4.6-1 the support for A64's Display Engine is enabled and Xorg will automatically use the modesetting driver.

With src:mesa 19.2.6 and glamor acceleration enabled the mouse cursor is not visible. For better compatibility try passing Option "AccelMethod" "none" to the modesetting driver. This workaround is not needed starting with 19.3.

HDMI audio is still work in progress (as of December 2019), see for latest status.


The PINE A64 has an analog stereo audio output (3,5 mm jack) and a S/PDIF output via the Euler bus, in addition to audio over HDMI (see above).

Support for the analog output was merged in mainline Linux in 4.20 and 5.0, and was enabled in the Debian kernel in 5.2.6-1 (921019). Use alsamixer to unmute AIF1 Slot 0 Digital DAC and Headphone, raise volume on Headphone as needed.

The S/PDIF should work already as of Linux 4.17, but it is not yet enabled in the Debian kernel configuration (946260).

Power Management

Peripheral on Top (POT) and other modules

System Summary



lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.



Some configuration files and sample outputs.