Edit page

Installing a different operating system

The software releases can be installed (the process is being referred to as flashing) to the eMMC or to an microSD card.

Flashing to microSD card

To install an image to the microSD card:

  1. Download a compatible image from Releases.

  2. Important: Typically the image will be compressed in an archive file to reduce the download size (such as .gz or .xz). Extract the image from its archive file to get the file with the file extension .img.

  3. Write the image to your microSD card using your favorite method, examples:

    • Using dd: On the device you’re flashing the microSD card from, find the correct device under lsblk and then flash the image to the microSD card using sudo dd if=IMAGE.img of=/dev/[DEVICE] bs=1M status=progress conv=fsync. Make sure the target is the whole microSD card and not its first partition (sdc1 or mmcblk0p1 are wrong!).

    • Using bmaptool: Make sure to select the correct device using lsblk. Then run bmaptool with the correct device: Download the IMAGE.xz and the IMAGE.bmap files, then run bmaptool copy --bmap IMAGE.bmap IMAGE.xz /dev/[DEVICE]. This takes around 2.5 minutes to flash a 4 GB file.

    • Using a graphical tool: A graphical tool such as Gnome Disks under Linux or Etcher under Windows may also be used.

  4. Insert the microSD card into the top slot of the PinePhone Pro

  5. Boot the device using the following method:

    • On the Explorer Edition ordered after November 2023 boot the phone without any further action.

    • On the Explorer Edition ordered after July 2022 hold the volume down key while booting.

    • On the Explorer Edition ordered between January and July 2022 hold the RE button underneath the back cover while booting (or use the volume down key if you flashed Tow-Boot).

    • On the Developer Edition (sold to selected developers only) apply the bypass by shorting the testing pads while booting according to the datasheet (or use the volume down key if you flashed Tow-Boot).

Details regarding the boot order can be found in the Boot order section.

Flashing to the eMMC

Flashing to the eMMC (the internal memory of the PinePhone Pro) can either be done using Tow-Boot's USB Mass Storage mode (see Boot order if you are unsure if the device comes with Tow-Bot pre-installed) or by booting an operating system from the microSD (see the section Flashing to microSD card) and by writing to the eMMC directly from there:

By using Tow-Boot:

  1. Power off the device

  2. Power on the device and hold the volume up key before and during the second vibration

  3. The LED will turn blue if done successfully. This will only work if Tow-Boot is installed

  4. When connecting the device to a computer via USB it will behave like an USB drive now

  5. Check if the eMMC appears under lsblk, the output might look like the following:
    mmcblk2 179:0 0 115.2G 0 disk
    ├─mmcblk2p1 179:1 0 122M 0 part /boot
    └─mmcblk2p2 179:2 0 115.1G 0 part /
    Note: In this example, dev/mmcblk2 is the device, while mmcblk2p1 and mmcblk2p2 are partitions of the device. The downloaded images are images from full devices, which means that the full device (mmcblk2 in this example) needs to be flashed. Ignore the partitions!

  6. Important: Typically the image will be compressed in an archive file to reduce the download size (such as .gz or .xz). Extract the image from its archive file to get the file with the file extension .img

  7. Flash the image file using sudo dd if=IMAGE.img of=/dev/DEVICE bs=1M status=progress conv=fsync (replace IMAGE.img with the filename of the image you want to flash and make sure it has the file extension .img and replace DEVICE with the correct device from the lsblk command)

  8. Reboot the PinePhone Pro

By booting a microSD card:

  1. Boot an operating system from the microSD card. If there is already a bootloader on the eMMC installed see the section Boot order to bypass it.

  2. Download or copy the desired image to the microSD card as file

  3. Check if the eMMC appears under lsblk. If it doesn’t appear in the output of the command, the eMMC wasn’t initialized due to applying the above explained bypass method for a too long time during the boot

  4. Important: Typically the image will be compressed in an archive file to reduce the download size (such as .gz or .xz). Extract the image from its archive file to get the file with the file extension .img.

  5. Flash the image file using sudo dd if=IMAGE.img of=/dev/mmcblk2 bs=1M status=progress conv=fsync (replace IMAGE.img with the filename of the image you want to flash and make sure it has the file extension .img).

  6. Reboot the PinePhone Pro