1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-14 18:21:41 +03:00
mobile-nixos/devices/pine64-pinephone-braveheart
2020-03-28 16:40:10 -04:00
..
default.nix pine64-pinephone-braveheart: Init new device 2020-03-28 16:40:10 -04:00
README.adoc pine64-pinephone-braveheart: Init new device 2020-03-28 16:40:10 -04:00

= PinePhone “BraveHeart”
include::_support/common.inc[]

== Building a full disk image

This platform uses the `u-boot` system-type. This means that a full disk image
can be produced, and this full disk image flashed _outright_ to the block
device. That block device can be the internal eMMC or the SD card.

The PinePhone will boot from SD card if a bootloader can be found. This means
that the full disk image can be flashed to an SD card, and it will prioritise
booting it.

```
 $ nix-build --argstr device pine64-pinephone-braveheart -A build.disk-image
 $ dd if=result of=/dev/mmcblkX bs=8M oflag=sync,direct status=progress
```

== Building the boot partition

Building the full disk image may require a native AArch64 system.

The boot partition can be built, and then flashed on top of an existing Mobile
NixOS boot partition.

```
 $ nix-build --argstr device pine64-pinephone-braveheart -A build.boot-partition
 $ dd if=result/mobile-nixos-boot.img of=/dev/mmcblkXp1 bs=8M oflag=sync,direct status=progress
```

== Building U-Boot

Flashing the boot partition will not affect the installed U-Boot bootloader.

U-Boot can be built and then flashed the usual way for Allwinner platforms.

```
 $ nix-build --argstr device pine64-pinephone-braveheart -A build.u-boot
 $ dd if=result/u-boot-sunxi-with-spl.bin of=/dev/mmcblkX bs=1024 seek=8
```