Tow-Boot

PINE64 Pinephone (A64)

Manufacturer
PINE64
Name
Pinephone (A64)
Identifier
pine64-pinephoneA64
Support level
Supported
SoC
allwinner-a64
Dedicated firmware storage
yes
Architecture
aarch64-linux
Source
Tow-Boot repository
Links
Product page

Installation instructions

Installing to eMMC Boot (recommended)

By installing Tow-Boot to eMMC Boot, your PINE64 Pinephone (A64) will be able to start using standards-based booting without conflicting with the operating system storage.

To do so, you will need to write the eMMC Boot installer image to a suitable SD card.

# dd if=mmcboot.installer.img of=/dev/XXX bs=1M oflag=direct,sync status=progress

Once done, power-off your Pinephone (A64), remove its battery, and insert the SD card in the SD card slot.

Put back the battery in the Pinephone (A64), and power it on.

Unless you know the battery is completely charged, it is recommended to connect the phone to a power source. Just in case.

When starting up with Tow-Boot, which the installer image use, the phone will vibrate slightly and the LED will turn red. After a short moment, the LED should turn yellow.

A few moments later the display will turn on with a blue colour, or will directly boot to the installer GUI.

In the installer GUI, select “Install Tow-Boot to eMMC Boot”. It is not necessary to erase the storage before installing. Erasing the storage can be used to uninstall Tow-Boot (or any other platform firmware installed to the eMMC Boot partition).

Once installed, remove the installation media, and verify Tow-Boot starts from power-on.

Installing to shared storage

Using the shared storage strategy on the Pinephone (A64) can be done by writing the shared.disk-image.img to an SD card or directly to eMMC.

 # dd if=shared.disk-image.img of=/dev/XXX bs=1M oflag=direct,sync status=progress

Device-specific notes

There is no display output for this device.

Startup order conflicts

The Allwinner SoC used in the Pinephone (A64) will always prefer starting the platform firmware (U-Boot) from SD card when available.

When using some pre-built distribution images, it may be desirable to neuter the U-Boot that is baked into the image.

With the usual U-Boot setup for Allwinner, the easiest way to strip U-Boot from an eMMC or SD image is by running the following command, taking care to replace [DEVICE] with the device for the storage device.

 $ sudo dd if=/dev/zero of=/dev/[DEVICE] bs=8k seek=1 count=4

When running the command on the Pinephone (A64), usually the block device for the SD card is mmcblk0, and the block device for the eMMC is mmcblk2. You can use lsblk to look at the block devices available.

NOTE: Make sure the operating system image has a baked-in U-Boot install before issuing the command, and that you are targeting the right storage device.

Some distributions target UEFI boot, and use GPT. Issuing this command will break the partition table.

Finally, on distributions shipping U-Boot, it is prudent to disable the package that provides the automatic upgrade facilities.

Additional features

The phone can be started in USB Mass Storage mode by holding the volume up button at startup before and during the second vibration. The LED will turn blue if done successfully. In this mode, the phone will work like a USB drive when connected to a host computer.

Booting an operating system from an SD card will require holding the volume down button before and during the second vibration. When done successfully, the LED will turn aqua.