NixOS on ARM/PINE64 Pinebook
|Manufacturer||PINE64 (Pine Microsystems Inc.)|
|Boot order||SD, eMMC|
The Pinebook (sometimes referred as pinebook-a64) is a laptop design based on the Allwinner A64 SoC. It was available in two sizes, 11.6" and 14", but is now only available as 11.6". The 11.6" has two resolutions, first models had a 1366×768 panel, while the more recent ones have a 1920×1080 panel.
It can boot from SD or from an included and replaceable eMMC module.
Upstream NixOS AArch64 image boots on the PINE A64-LTS, using the proper upstream U-Boot.
U-boot support has been added 2019-05-18. The bootloader has not been built for now.
Board-specific installation notes
First follow the generic installation steps to get the installer image on an SD card. Copying to the eMMC directly should work, but requires disassembly of the computer.
U-Boot needs to be copied to specific sectors on the microSD card with
dd. Download U-Boot for the board (
sopine-u-boot-sunxi-with-spl.bin), and copy it to the correct location with (again, replace
/dev/sdX with the correct path to the SD card device):
sudo dd if=sopine-u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8
The internal storage needs to be partitioned in a way that that the bootloader will not interfere with nor be interfered by a partition.
By copying the sd image internally
This is an easy solution, that also allows booting and installing as one would from an SD card on a generic Allwinner platform. Simply
dd the SD image to the internal storage. The internal storage is likely to be
MBR partition scheme
GPT partition scheme
The Allwinner GPT Installation instruction explains how to create a GPT partition table while allowing the isntallation of u-boot at the required offset.
On early models[Which?] serial needs to be toggled via software. On recent models, a physical switch is present on the main board. The linux-sunxi wiki's Pinebook page has details about serial access.
USB booting with u-boot
You will need to either have mainline U-Boot installed to the eMMC or to an SD card.
Stop the boot process when prompted (by pressing a key). Then, do the following:
Hit any key to stop autoboot: 0 => setenv boot_targets usb0 => boot
This sets the boot order for this boot only. U-Boot can boot (among others) either of the NixOS sd-image or EFI iso from USB.