Boot order

The RK3399S processor in the PinePhone Pro searches for the bootloader (such as U-Boot or Tow-Boot) in the following order:

  1. SPI flash

  2. eMMC (the internal memory)

  3. MicroSD card

Boot from microSD card temporarily

To temporarily boot from an inserted microSD card do the following:

  • On the Explorer Edition ordered after November 2023 the microSD card is first in boot order due to using rk2aw instead of Tow-Boot, see here. A boot menu can be opened by holding power at boot for not too long.

  • On the Explorer Edition ordered after July 2022 hold the volume down key while powering on the device. The batches bought after July 2022 come with Tow-Boot flashed to the SPI, which offers additional functionality over U-Boot as bootloader.

  • On the Explorer Edition ordered between January and July 2022 hold the RE button underneath the cover for a few seconds, while powering on the device. If the button is labeled RESET instead of RE please verify if the device is a regular PinePhone (or the Developer Edition). This is required because older batches don’t ship with Tow-Boot on the SPI. Flashing Tow-Boot can be caught up by following this instruction. Note: If Tow-Boot is flashed later, the microSD card can be selected at boot with the volume down key as well.

  • On the Developer Edition (sold to selected developers only) the SPI and the eMMC can be bypassed by shorting the bypass test points while booting. The process is explained in the article PinePhone Pro Developer Edition. Please join the community chat for any questions regarding the process.

The RE button disables the SPI and the eMMC at the hardware level while the button is held and the PinePhone Pro will try to boot from the next available boot medium, which is the microSD card. Note: When holding the RE button (or when shorting the contact points in case of the Developer Edition) for a longer time at boot the operating system will not initialize the SPI and eMMC and it will not be possible to write to these storage mediums until the next reboot.

The bootloader uses its own boot order for loading the kernel and other core operating system components at boot, which for example may result in the boot loader residing on the eMMC loading and booting the kernel from a microSD card.

Boot from microSD card permanently

The bootloader (such as U-Boot) resides in the free space in front of the first partition. Wiping the bootloader from the eMMC to make the PinePhone Pro boot from microSD card can be done using sudo dd if=/dev/zero of=/dev/mmcblk2 seek=64 count=400 conv=fsync. Formatting the drive or deleting the partition table is not sufficient to wipe the bootloader.