Notice: For the time being, you need to use archiso 48 to successfully build this.
This repository contains a customized archiso preset for building images for the Pinebook Pro ARM laptop. Pre-built images are available here.
Building the image should be possible on aarch64 platforms like the Pinebook Pro itself, as well as other architectures. For building to work on non-aarch64, you'll need qemu-user-static
and binfmt-qemu-static
.
PKGBUILDs for the packages used in this image can be found here.
Check out the FAQ for common issues you may encounter.
Building the image is fairly straightforward, install archiso
, multipath-tools
, and the qemu packages if you need them, then clone this repository and run build.sh
as root.
If all goes well, an .img
file will be placed in the out
directory, and should be ready to be written to an SD card or USB stick.
The instructions in installation guide in /root
mostly apply, however there are some things specific to the Pinebook Pro to be aware of:
- The SD card is
/dev/mmcblk1
, eMMC ismmcblk2
and USB storage will be/dev/sdX
. - You must leave around 16MB or more of free space before your first partition if you are installing to the eMMC, u-boot will be written here.
- U-boot looks for a file called
extlinux.conf
in/extlinux
, or/boot/extlinux
on the first partition marked bootable on the eMMC, an example configuration is provided below. - Currently, the regular
linux-aarch64
andlinux-aarch64-rc
kernels don't work, until this is sorted out you can use thepinebookpro
repository included in the image (see/etc/pacman.conf
) and installlinux-pbp
from it. ap6256-firmware
is needed for the Wi-Fi and Bluetooth to function, andpbp-keyboard-hwdb
for the brightness control shortcuts to work correctly, both can be installed from thepinebookpro
repo.- The
pinebookpro
repo will be missing from the target system'spacman.conf
, make sure to edit it and add this if you want to use my prebuilt packages
[pinebookpro]
Server = https://nhp.sh/pinebookpro/
The Pinebook Pro currently uses u-boot as its bootloader, you can install it with the uboot-pbp
package in the pinebookpro
repo. Two files will be placed in /boot
that need to be written to the eMMC, idbloader.img
at sector 64 and u-boot.itb
at sector 16384, they can be installed like this:
dd if=/boot/idbloader.img of=/dev/mmcblk2 seek=64
dd if=/boot/u-boot.itb of=/dev/mmcblk2 seek=16384
Here is a sample extlinux.conf
file:
LABEL Arch Linux ARM
KERNEL ../Image
FDT ../dtbs/rockchip/rk3399-pinebook-pro.dtb
APPEND initrd=../initramfs-linux.img console=tty1 rootwait root=UUID=<UUID> rw
Place this example configuration in a directory named extlinux
in /boot
. Remember to replace <UUID>
with your actual partition UUID, or use one of the other options for specifying the root filesystem.