You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
polarisfm 8be350a0a7 Specify default release 7 months ago
ap6256-firmware@a30bf312b2 ap6256-firmware: Add enough firmware for Bluetooth to start ticking 1 year ago
bootloader@c95331aecd bootloader: Update the bootloader from mrfixit's v2.0 release 1 year ago
etc Add sloppy PureOS support, deblob 7 months ago
pinebook-firmware@937f0d52d2 firmware: Rename to pinebook-firmware 1 year ago
pinebookpro-post-install@8de71575b6 add pinebookpro-post-install from manjaro git. 10 months ago
var/lib/alsa alsa: Ensure the DAC is enabled out-of-the-box 1 year ago
.gitignore install-debian: Rewrite the installer as a shell script 1 year ago
.gitmodules add pinebookpro-post-install from manjaro git. 10 months ago CREDITS: Update after merges from new contributors 1 year ago Initial version. 1 year ago Specify default release 7 months ago
gpt.sfdisk.template install-debian: Rewrite the installer as a shell script 1 year ago
install-debian Default to amber for install 7 months ago

Pinebook Pro - Debian from Scratch

pinebook-pro-debian-installer is an unofficial Debian installer for the Pinebook Pro. It is not endorsed by either Debian or Pine Microsystems.

There is no downloadable image, instead it is a script that constructs a fresh image from scratch using debootstrap and then runs a few interactive commands to help you customize your install.

No default passwords, no bundled software, minimal tuning, and uses pure upstream Debian (albeit with the exception of the vendor bootloaders and a custom v5.4 kernel).

To install to the removable SD card slot, just run ./install-debian.


The installer runs on the Pinebook Pro itself using an already installed operating system. It should work from most Debian or Ubuntu images (including the default vendor image).

  1. Unmount any existing filesystems on the disk you want to install onto.
  2. Run ./install-debian. This will default to installing to the SD card, to change this try ./install-debian BLKDEV=/dev/mmcblk0, ./install-debian BLKDEV=/dev/mmcblk2 or ./install-debian BLKDEV=/dev/sda as appropriate.

Additional options

These options can be supplied on the command line or via the environment.

  • ARCH={armhf|arm64} - Choose the architecture to installed (default: arm64)
  • BLKDEV=<blkdev> - Install to the specified block device (e.g. /dev/mmcblk2)
  • BLKNAME=<name> - Name to describe the install media (e.g. eMMC, microSD, NVME). This is used for the filesystem and partition labels and some file managers will use these to help you identify which volume is which. If not supplied defaults to the basename of BLKDEV (e.g. mmcblk1).
  • CRYPT=y - Encrypt the filesystem (and swap space) using LUKS. This requires your kernel to support filesystem encryption. The original factory distro did not include this feature so it it not possible to install a LUKS filesystem from this distro. However you can make a temporary unencrypted install with this installer and then use the temporary OS to perform a full encrypted install.
  • DRYRUN=y - Show the commands the installer would "like" to run but do not execute any of them.
  • MMCBLK=<blkdev> - (deprecated) alias for BLKDEV=
  • RELEASE={amber} - Choose the PureOS release (default: amber)


  • For support and general discussion use the Pine64 forum.
  • Check out the Pine64 wiki for feature status, known issues and workarounds. Please contribute to the wiki and help keep it up to date! If you already have a forum login then this can also be used to update the wiki.
  • Please only use the github Issue tracker for bugs in the installer and the custom kernel. Problems that originate with upstream Debian packages should be reported to the upstream instead. If in doubt then ask on the forum!


None... sure there will be the occasional bug fix when needed but this installer is merely a stop gap. Once there are enough features in the upstream kernel and the Pinebook Pro has a fully functional u-boot ready to burn to SPI then one should expect the official Debian installer to run unmodified. At that point this installer will be obsolete... and good riddance!


Mostly the installer tried to avoid hacks that cannot be replicated by a real distro installer (e.g. one that is not tailored specifically for Pinebook Pro). However some problems are so awkward for users the following temporary hacks have been tolerated.

  • The ALSA state cache is pre-configured. This ensured that audio will work out-of-the-box. This is temporary until upstream ALSA UCM support for Pinebook Pro is added.
  • The kernel is booted with maxcpus=4 to ensure that is does not use the Cortex A72 cores during initialization. This works around a bootloader problem that hands these cores to the kernel with clock speed set so slow that it compromises boot times. The disabled cores will be re-enabled later in the boot process. Warning: To make the maxcpus=4 hack work, some optional kernel hardening features must be disabled (ex: HARDEN_EL2_VECTORS)