NixOS on ARM/OLIMEX Teres-A64

From NixOS Wiki
Revision as of 17:36, 1 July 2023 by imported>KREYREN (fix product picture)

Teres-1 (often referred as teres-a64) is an open-source hardware and software netbook design based on the Allwinner A64 SoC.

OLIMEX Teres-A64
The King Himself
Manufacturer OLIMEX, Ltd
Architecture AArch64
Bootloader Upstream U-Boot[1]
Boot order SD, eMMC
Maintainer KREYREN

It can boot from SD or from the included and slow af eMMC module (insane people use only).

Status

Work In Progress..

U-boot support has been submitted on 2023-06-30.

Installation instructions

To use the generic installation image for your board, you will need to copy it verbatim to an SD card.

sudo dd if=sd-image-aarch64-linux.img of=/dev/DEVICE conv=sync status=progress

This board requires the installation of u-boot at a specific location on the storage where NixOS was written to.

sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/DEVICE bs=1024 seek=8

Partitioning

All Allwinner SoCs will try to find a boot image at sector 16 (8KB) of an SD card, connected to the first MMC controller.[3]

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.

Serial console

Compatibility notes

Mainline kernel
HDMI
  • Hasn't been tested.

Downstream kernel

Note: Keep in mind that using non-upstream forks of the kernel always incurs some risk as far as security goes.

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.

Resources

1. Official product page

2. linux-sunxi wiki page

3. U-Boot documentation for the SoC

4. Armbian product page for Teres