For those of you who actually have, or are thinking about getting a Pinebook Pro and would like to know how to avoid the stupid mistakes I made, here are some specific details I learned.
Get the Right Image
I wanted to install the Manjaro XFCE version. So I wanted the image for that. This was my first point of confusion. I knew I wanted an eMMC installer image. There are links here: https://wiki.pine64.org/index.php?title=Pinebook_Pro_Software_Release#Manjaro_ARM
If you get an image direct from Manjaro, it will NOT be an eMMC boot image. You have to go to osdn.net. And even there, it’s confusing. First you’ll see a list of releases.
Naturally, you’ll go for the lastest one, currently 20.08, and you’ll see this:
None of those are eMMC installers though. If you use any of those, it will only install Manjaro onto the SD card that you booted from. You have to go back, in this case, to 20.04. Then you’ll see this:
Oho! An actual eMMC installer image. This would have saved me many hours had I looked beyond the latest release. And don’t forget that Manjaro is a rolling release, so it doesn’t really matter which one you get, it’s going to be fully up to date as soon as you do your first update. At least that’s mostly true. There may be minor differences that I don’t know about, but effectively, it’s fine.
Run the Installer. Hit Escape!
Burn the installer onto at least an 8GB SD card and boot the PBP with that card inserted. It’s going to hang on the loader screen. At least at the time of this writing anyway. There’s a bug in the eMMC image that causes this. Just hit escape and you’ll be in the installer.
It will walk you through some choices that should be mostly obvious. You want to choose to install to the eMMC. That should be mmcblk2
. Whereas the SD card you booted from should be mmcblk1
.
Note: Once you’ve got everything installed, you can put a non-bootable SD card in the slot and use it for extra storage. It won’t affect the boot process.
The Manjaro ARM Installer
The Pine64 wiki also mentions this script:
https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer
It sounds lovely. Install the script, run it, choose your distro, choose the target, sit back and it does everything. This is what soft-bricked my PBP though and caused me hours of despair. I may have just been unlucky. I haven’t seen reports of others having the same trouble. But personally, I won’t try that method again.
Fixing a Soft Brick
As I have come to understand it, the PBP will boot first from a bootable SD card if one is inserted. Otherwise it will try to boot from the eMMC module. However, you can wind up messing up your eMMC to the point where the PBP won’t boot at all. In some cases this means the power light won’t even turn on. This is what happened to me. It sure seems like a hard, fatal brick situation, but don’t despair. It’s fixable.
It has something to do with something called a uboot, which I guess is kind of like a boot block / grub kind of concept, which controls the boot process. If that gets messed up, you aint booting nothing.
So you have to bypass that completely. You do that by completely disabling the eMMC.
- Open up the PBP. This is a simple matter of undoing 10 screws. The PBP is made to be easily open-able and internally upgrade-able. There’s a small switch there that disables the eMMC. Consult https://wiki.pine64.org/index.php?title=Pinebook_Pro#Pinebook_Pro_Internal_Layout to locate it. You want to move it to the position away from the hinge, towards the inside of the computer.
- Note: be VERY careful when using the computer with the bottom cover off. Pine warns that opening the lid without the cover on can damage the hinge. Of course you’ll need to open the lid a bit to boot it and see what’s going on. Just be very careful.
- Now you should be able to boot from a bootable eMMC installer image on an SD card. Verify this.
- Next you need to reboot and during the boot process, flip that switch back to enabled. If you do it too soon, you won’t be able to boot. Apparently, if you do it at exactly the right moment, 2 seconds into the boot process, the PBP will boot and the eMMC will mount. But if you are too late, the eMMC won’t mount. That’s fine though. The next step will handle that.
- As mentioned above, the eMMC installer image will hang. Just hit escape and you’ll be in the installer.
- You can try the install process at this point. The eMMC may have mounted. In the step where it asks you where you want to flash the image, if you see
mmcblk2
you are good to go! - There’s a good chance that the eMMC will not be mounted, so you’ll need to mount it manually. Choose “No” in the first screen of the installer and you should be dropped back into a root command prompt:
[root@manjaro-arm ~]# _
- There are two commands you can type here that should mount the eMMC:
echo fe330000.sdhci >/sys/bus/platform/drivers/sdhci-arasan/unbind
echo fe330000.sdhci >/sys/bus/platform/drivers/sdhci-arasan/bind
These are covered here: https://wiki.pine64.org/index.php?title=Pinebook_Pro#eMMC_information - To verify that this worked, you can type
lsblk
and you should seemmcblk2
in that list. - From there, type
exit
and you should be back to the installer, which should now work fine.
Resources
Read this entire page: https://wiki.pine64.org/index.php?title=Pinebook_Pro
Use the forums: https://forum.pine64.org/ – particularly the Linux on PBP forum.
The official Pine64 subreddit: https://www.reddit.com/r/PINE64official/