NixOS on ARM/OLIMEX Teres-A64

From NixOS Wiki
Revision as of 17:34, 1 July 2023 by imported>KREYREN (BETELNA WIKI STRANKA VOLEEEE)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
OLIMEX Teres-A64
The King Himself
Manufacturer OLIMEX, Ltd
Architecture AArch64
Bootloader Upstream U-Boot[1]
Boot order SD, eMMC
Maintainer KREYREN

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

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