NixOS on ARM/OLIMEX Teres-A64: Difference between revisions
imported>KREYREN m better wording |
imported>KREYREN HDMI seems to work |
||
(11 intermediate revisions by the same user not shown) | |||
Line 29: | Line 29: | ||
== Status == | == Status == | ||
Stable, production-ready and suitable for mission critical environment | |||
For U-Boot use armbian's distribution as currently the nixos's version is outdated and broken | |||
== Installation instructions == | == Installation instructions == | ||
=== UEFI (recommended) === | |||
{{note|This method assumes that you have your bootloader flashed in eMMC or SPI}} | |||
Refer to the nixos.org download page and download the installer to your preference, then proceed to follow instructions in the [https://nixos.org/manual/nixos/stable/ NixOS manual on how to flash the installer] on e.g. USB drive | |||
=== EXTLINUX (legacy) === | |||
= | {{ARM/installation allwinner|variant=aarch64}} | ||
== Serial console== | |||
Serial console can be accessed by default on BAUM 115200 using the [https://www.olimex.com/Products/DIY-Laptop/KITS/TERES-USB-DEBUG/ TERES-USB-DEBUG] cable (or make one it's 3 pole jack with pl2303 converter, can be made work off of single board computer, etc..) in headphone jack port and accessed through: | |||
$ picocom -b BAUD /dev/SERIAL-DEVICE # Often set as /dev/ttyUSB0 @ baud of 115200 | |||
Currently the sdcard has set this by fault, but if you use custom configuration and want to maintain the serial console functionality then you need to append it to the kernel CLI through: | |||
boot.kernelParams = ["console=ttyS0,115200n8"]; | |||
== Compatibility notes == | == Compatibility notes == | ||
{| class="table arm-compatibility" | {| class="table arm-compatibility" | ||
!colspan="2" style="background: #fafafa"| Mainline kernel | !colspan="2" style="background: #fafafa"| Mainline kernel on NixOS | ||
|- | |- | ||
! HDMI | ! HDMI | ||
| | | | ||
* | * Works | ||
|- | |||
! Display | |||
| | |||
* Expected to work without issues with exceptions, see sunxi wiki | |||
|- | |||
! WiFi/Bluetooth | |||
| | |||
* Works, currently requires non-libre firmware for RTL8723BS which is projected to be mitigated | |||
|- | |||
! Audio (reproductors) | |||
| | |||
* Unknown | |||
|- | |||
! Audio (audio jack) | |||
| | |||
* Unknown | |||
|- | |||
! 3D Acceleration | |||
| | |||
* Works | |||
|- | |||
! Webcam | |||
| | |||
* Unknown | |||
|- | |||
! Touchpad | |||
| | |||
* Works | |||
|- | |||
! Keyboard | |||
| | |||
* Works | |||
|- | |||
! SdCard reader | |||
| | |||
* Works | |||
|- | |||
! FOSS Bootloader | |||
| | |||
* Works - U-Boot/TowBoot | |||
|} | |} | ||
=== Downstream | === Kernels === | ||
==== Downstream Kernel ==== | |||
{{note|Keep in mind that using non-upstream forks of the kernel always incurs some risk as far as security goes.}} | {{note|Keep in mind that using non-upstream forks of the kernel always incurs some risk as far as security goes.}} | ||
Line 73: | Line 113: | ||
{{expansion|Find and document use of a kernel with the added capabilities.}} | {{expansion|Find and document use of a kernel with the added capabilities.}} | ||
== USB booting with | == USB booting with U-Boot == | ||
You will need to either have mainline U-Boot installed to the eMMC or to an SD card. | You will need to either have mainline U-Boot installed to the eMMC or to an SD card. | ||
Line 87: | Line 127: | ||
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. | 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. | ||
== | == Notes == | ||
Refer to the device's sunxi-linux wiki page for more details: https://linux-sunxi.org/Olimex_Teres-A64 | |||
For u-boot installation refer to the u-boot documentation for AllWinner devices: https://docs.u-boot.org/en/stable/board/allwinner/sunxi.html#installing-on-a-micro-sd-card | |||
For TowBoot installation refer to the TowBoot wiki: | |||
== Resources == | |||
0. [https://linux-sunxi.org/Olimex_Teres-A64 The Sunxi Linux Wiki Page for the device] | |||
1. [https://www.olimex.com/Products/DIY-Laptop/ Official product page] | 1. [https://www.olimex.com/Products/DIY-Laptop/ Official product page] | ||
Line 113: | Line 146: | ||
4. [https://www.armbian.com/olimex-teres-a64 Armbian product page for Teres] | 4. [https://www.armbian.com/olimex-teres-a64 Armbian product page for Teres] | ||
5. [https://www.olimex.com/forum/index.php?board=39.0 Teres-A64 section on the OLIMEX forum] |
Latest revision as of 10:05, 6 February 2024
OLIMEX Teres-A64 | |
---|---|
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
Stable, production-ready and suitable for mission critical environment
For U-Boot use armbian's distribution as currently the nixos's version is outdated and broken
Installation instructions
UEFI (recommended)
Refer to the nixos.org download page and download the installer to your preference, then proceed to follow instructions in the NixOS manual on how to flash the installer on e.g. USB drive
EXTLINUX (legacy)
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
Serial console
Serial console can be accessed by default on BAUM 115200 using the TERES-USB-DEBUG cable (or make one it's 3 pole jack with pl2303 converter, can be made work off of single board computer, etc..) in headphone jack port and accessed through:
$ picocom -b BAUD /dev/SERIAL-DEVICE # Often set as /dev/ttyUSB0 @ baud of 115200
Currently the sdcard has set this by fault, but if you use custom configuration and want to maintain the serial console functionality then you need to append it to the kernel CLI through:
boot.kernelParams = ["console=ttyS0,115200n8"];
Compatibility notes
Mainline kernel on NixOS | |
---|---|
HDMI |
|
Display |
|
WiFi/Bluetooth |
|
Audio (reproductors) |
|
Audio (audio jack) |
|
3D Acceleration |
|
Webcam |
|
Touchpad |
|
Keyboard |
|
SdCard reader |
|
FOSS Bootloader |
|
Kernels
Downstream Kernel
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.
Notes
Refer to the device's sunxi-linux wiki page for more details: https://linux-sunxi.org/Olimex_Teres-A64
For u-boot installation refer to the u-boot documentation for AllWinner devices: https://docs.u-boot.org/en/stable/board/allwinner/sunxi.html#installing-on-a-micro-sd-card
For TowBoot installation refer to the TowBoot wiki:
Resources
0. The Sunxi Linux Wiki Page for the device
3. U-Boot documentation for the SoC