NixOS on ARM/OLIMEX Teres-A64: Difference between revisions

imported>KREYREN
BETELNA WIKI STRANKA VOLEEEE
 
m Compatibility notes: Dark mode support
 
(17 intermediate revisions by one other user not shown)
Line 4: Line 4:
!colspan="2" class="title"|OLIMEX Teres-A64
!colspan="2" class="title"|OLIMEX Teres-A64
|-
|-
|colspan="2"|[[File:Teres-A64-glamour.jpg|frameless|256px|The King Himself]]
|colspan="2"|[[File:Teres-A64-glamour.png|frameless|256px|The King Himself]]
|-
|-
!Manufacturer
!Manufacturer
Line 29: Line 29:
== Status ==
== Status ==


Work In Progress..
Stable, production-ready and suitable for mission critical environment


U-boot support [https://github.com/NixOS/nixpkgs/pull/240827 has been submitted on 2023-06-30].
For U-Boot use armbian's distribution as currently the nixos's version is outdated and broken


== Installation instructions ==
== Installation instructions ==


{{ARM/installation allwinner|variant=aarch64}}
=== UEFI (recommended) ===


=== Partitioning ===
{{note|This method assumes that you have your bootloader flashed in eMMC or SPI}}


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]  
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


{{expansion|Details yet to be written..}}
=== EXTLINUX (legacy) ===


==== MBR partition scheme ====
{{ARM/installation allwinner|variant=aarch64}}


{{expansion|Installation instructions need to be written up to keep space for embedding the bootloader to the SPL.}}
== Serial console==


==== GPT partition scheme ====
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:


The [[NixOS_on_ARM/Allwinner_GPT_Installation|Allwinner GPT Installation]] instruction explains how to create a GPT partition table while allowing the isntallation of u-boot at the required offset.
    $ picocom -b BAUD /dev/SERIAL-DEVICE # Often set as /dev/ttyUSB0 @ baud of 115200


== Serial console==
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:


{{expansion|Details yet to be written..}}
    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: var(--color-inverted)"| Mainline kernel on NixOS
|-
|-
! HDMI
! HDMI
|
|
* Hasn't been tested.
* 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 kernel ===
=== 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 71: 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 u-boot ==
== 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 84: Line 126:


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 ==
== 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 94: 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]