Flash DietPi to Pinebook Pro eMMC

Hi all!

I have a problem flashing a DietPi image to the eMMC of my Pinebook Pro. Please find the description of the issue and other information I considered relevant for debugging the problem below. If you need anything else, please let me know.

Your help is much appreciated!

Required Information

  • DietPi image | DietPi_PinebookPro-ARMv8-Bullseye.7z
  • SBC model | PinebookPro
  • SD card used | SanDisk ultra

Steps to reproduce

  1. Have a bootable DietPi microSD card available.
  2. Boot into DietPi from the microSD.
  3. Download the same DietPi image.7z with which you have created the bootable DietPi microSD via wget. Unzip it.
  4. Flash the unzipped image to the eMMC device of the Pinebook Pro with dd.
  5. Shutdown.
  6. Remove the microSD card.
  7. Boot from eMMC.

Expected behaviour

Boots into initial DietPi setup steps.

Actual behaviour

Boot fails with

Begin: Waiting for root file system ...
Begin: Running /scripts/local-block ... done
Begin: Running /scripts/local-block ... done
Begin: Running /scripts/local-block ... done
Gave up waiting for root file system device.
ALERT! UUID=<actual UUID> does not exist. Dropping to a shell!

Extra details

  • Previously the eMMC held the factory Manjaro ARM installation. That worked.
  • I use TowBoot which is installed on the SPI.
  • Following this guide for the above error did not help, unfortunately.

Did you try to boot with the bootloader stored in our image/on eMMC? I don’t know TwoBoot, but e.g. petitboot from Hardkernel does not support all U-Boot syntax we make use of in our boot.scr.

Related reports on Armbian forum:

Looks like boot issues with eMMC are known on unresolved :frowning_face:.

@MichaIng Thank you for getting back to me and pointing me to the Armbian discussion threads. Seems like I am not the only one unable to overcome the booting issues on the Pinebook Pro :frowning:

Not sure whether that helps you to investigate, but after using the postmarketOS installer image to flash postmarketOS to the PBP eMMC, booting the OS with TowBoot works just fine.

I guess something we can’t change on our level.

But before we’re hunting ghosts, please try this:

you can simply short pin 6 of the SPI flash to GND and boot. This will render the SoC bootrom unable to read from the SPI flash and have it fall back to reading the bootloader from other boot media like the eMMC or Micro SD card.

(from PINE64 wiki)

It may be really juat TwoBoot limitations working with vendor boot configs only and OS’es which explicitly added compatibility (while we ship and expect U-Boot).