This configuration is for the retail version of PineTab, with the Feixin K101 IM2BYL02 display panel. For display to work on the early dev units with IM2BA02 panels, you need to use the correct device tree.
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 PineTab 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-pinetab -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-pinetab -A build.boot-partition $ dd if=result/mobile-nixos-boot.img of=/dev/mmcblkXp3 bs=8M oflag=sync,direct status=progress
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-pinetab -A build.u-boot $ dd if=result/u-boot-sunxi-with-spl.bin of=/dev/mmcblkX bs=1024 seek=8