Setting up my Pinebook Pro

published on

I bought myself a Pinebook Pro in December1. The current Pinebook Pro batches come shipped with a default Manjaro ARM plus KDE as a desktop environment installed on the laptop’s eMMC. Apart from some weird sound issues (for which workarounds are discussed in the same thread), the software works fairly smoothly. However, Manjaro is a somewhat problematic distribution. Additionally, it also is not lightweight enough for me for a lightly powered device like the Pinebook Pro. Thus, I spent some time adapting my new laptop to my needs.

Overriding the default bootloader

As it turns out, even booting another distribution from a microSD (which the Pinebook Pro is totally capable of), wasn’t as straightforward as I thought. By default, the boot order of the U-Boot installation on the Pinebook Pro is: SPI > eMMC > microSD. So even with a bootable OS image flashed to the microSD card, Manjaro on the eMMC would boot first.

The solution to that problem is usually opening the Pinebook Pro (which is super easy), and disabling the eMMC with a simple switch2. In my case, that switch did not work. That was confusing but not particularly tragic as one can simply unplug the whole eMMC module from the board, boot from the microSD, and plug the eMMC back in later.

Now, I wasn’t keen on constantly opening up my Pinebook Pro every time I wanted to boot from a microSD card. Tow-Boot to the rescue: By flashing Tow-Boot to the SPI of the Pinebook Pro, I would now have the possibility to select the device to be booted from a boot menu.

Choosing an OS

I wasn’t sure which OS I’d want to run on the Pinebook Pro. I knew that I’d

  • require the Pinebook Pro to be an officially supported device (via custom or generic OS images; it’s an ARM board after all),
  • prefer smaller OS images over a larger ones,
  • prefer an out-of-the-box full disk encryption (even if I would settle for an encrypted home directory)
  • want to use the sway tiling window manager instead of a full blown desktop environment for two reasons: performance and the underwhelming touchpad of the Pinebook Pro.

These conditions basically left me with: Kali Linux, Armbian, DietPi, and postmarketOS. I’ve tried all of them from a microSD card and in the end decided to install postmarketOS to the eMMC: it’s small, officially supports the Pinebook Pro (even with a pre-built image with sway), comes with full disk encryption, and has a vibrant community.

Installing postmarketOS to the Pinebook Pro’s eMMC

First, I had to download the relevant Pinebook Pro postmarketOS installer image, verify the sha256 hash3, and unzip the compressed image.

The second step is to flash the uncompressed installer image to the microSD card:

dd if=<path/to/installer.img> of=/dev/<device name of the microSD card> bs=1M status=progress

Once the flashing process is done, insert the microSD card into the Pinebook Pro4, boot from the microSD with the help of Tow-Boot, and then simply follow the installer’s instructions. Please be aware that flashing to the eMMC will completely wipe the data currently on it.

  1. Obviously, I still love my librebooted T400 running Trisquel. Given that one cannot run the Pinebook Pro with exclusively free software at this point in time, the T400 is gonna stay my main computing device for the foreseeable future. However, with a battery life of 30 minutes and a weight of solid 3 kg it is more akin to a mobile desktop than a laptop. ↩︎

  2. Key component 24 on the internal layout of the Pinebook Pro. Please note that the layout picture was slightly outdated in comparison to the Pinebook Pro version I received. ↩︎

  3. e.g. with sha256sum -c <path/to/sha256checksumfile.sha256> ↩︎

  4. In case it isn’t yet. Obviously, you can prepare the microSD card from the pre-installed Manjaro on the Pinebook Pro itself. ↩︎