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

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

{OK}

USB2 ports

{OK}

HDMI output

{OK}

Analog audio output

{X}

S/PDIF output (via Euler bus)

[?]

Extra Features

CPU Frequency Scaling

[?]

Hibernation

[?]

Sleep / Suspend

[?]

Xorg

[?]

- OpenGL

[?]

- Resize-and-Rotate(randr)

[?]

Switch to External Screen

[?]

~-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

Installation

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 and run:

u-boot-install-sunxi64 /dev/mmcblk0

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

Configuration

Bugs

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. For Debian this is tracked as 928457.

HDMI output

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

Audio

The PINE A64 has an analog stereo audio output (3,5 mm jack) and a S/PDIF output via the Euler bus.

Support for the analog output was merged in mainline Linux in 4.20 and 5.0, but it is not yet enabled in the Debian kernel configuration.

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

See 921019 for more information.

Power Management

Peripheral on Top (POT) and other modules


System Summary

lspci

lsusb

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

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

Resources

Attachments

Some configuration files and sample outputs.

Credits