Repository navigation
System76 Thelio Astra Workstation #53
Copy link
Copy link
Open
Labels
Description
Basic information
- Board URL (official): https://system76.com/desktops/thelio-astra
- Board purchased from: (Provided by System76 for review)
- Board purchase date: October 22, 2024
- Board specs (as tested): Ampere Altra Max M128-30, 512 GB ECC DDR4-3200, Nvidia A402
- Board price (as tested): $3,299 (base), $6,812 (as tested)
Docs / Issues
See also: @bexcran's Ampere Systems Wiki.
Linux/system information
# output of `screenfetch`
./+o+- jgeerling@thelio-astra
yyyyy- -yyyyyy+ OS: Ubuntu 24.04 noble
://+//////-yyyyyyo Kernel: aarch64 Linux 6.8.0-47-generic
.++ .:/++++++/-.+sss/` Uptime: 3m
.:++o: /++++++++/:--:/- Packages: 1872
o:+o+:++.`..```.-/oo+++++/ Shell: bash 5.2.21
.:+o:+o/. `+sssoo+/ Disk: 15G / 101G (16%)
.++/+:+oo+o:` /sssooo. CPU: ARM Neoverse-N1 @ 128x 3GHz
/+++//+:`oo+o /::--:. GPU: ASPEED Technology, Inc. ASPEED Graphics Family (rev 41)
NVIDIA Corporation Device 25b2 (rev a1)
\+/+o+++`o++o ++////. RAM: 13063MiB / 514300MiB
.++.o+++oo+:` /dddhhh.
.+.o+oo:. `oddhhhh+
\+.++o+o``-````.:ohdhhhhh+
`:o+++ `ohhhhhhhhyo++os:
.o:`.syhhhhhhh/.oo++o`
/osyyyyyyo++ooo+++/
````` +oo+++o\:
`oo++.
# output of `uname -a`
jgeerling@thelio-astra:~$ uname -a
Linux thelio-astra 6.8.0-47-generic #47-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 22:03:50 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
Benchmark results
CPU
- Geekbench 6: DNF - hangs on Background Blur
- Geekbench 5: (876 single / 51245 multi - https://browser.geekbench.com/v5/cpu/23147883)
- 1,652.4 Gflops (1.65 Tflops) / 3.76 Gflops/W (geerlingguy/top500-benchmark HPL result)
Power
- Idle power draw (at wall): 103 W (7 W system shutdown, BMC running)
- Maximum simulated power draw (
stress-ng --matrix 0): 357 W - During Geekbench multicore benchmark: TODO W
- During
top500HPL benchmark: 440 W
Disk
1TB PCIe Gen 4 NVMe (KINGSTON SKC3000S1024G - KC3000)
| Benchmark | Result |
|---|---|
| iozone 4K random read | 85.59 MB/s |
| iozone 4K random write | 267.75 MB/s |
| iozone 1M random read | 3279.35 MB/s |
| iozone 1M random write | 5082.95 MB/s |
| iozone 1M sequential read | 3274.56 MB/s |
| iozone 1M sequential write | 5041.55 MB/s |
wget https://raw.githubusercontent.com/geerlingguy/pi-cluster/master/benchmarks/disk-benchmark.sh
chmod +x disk-benchmark.sh
sudo MOUNT_PATH=/ TEST_SIZE=1g ./disk-benchmark.sh
Network
iperf3 results (10 GbE connection):
iperf3 -c $SERVER_IP: 9.38 Gbpsiperf3 -c $SERVER_IP --reverse: 9.41 Gbpsiperf3 -c $SERVER_IP --bidir: 9.36 Gbps up, 9.40 Gbps down
The SFP cages on the motherboard support 25 GbE; I have not had a chance to plug this into the 25 GbE switch in my rack yet...
GPU
glmark2-es2-wayland
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: NVIDIA RTX A400/PCIe
GL_VERSION: OpenGL ES 3.2 NVIDIA 550.120
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 1880 FrameTime: 0.532 ms
[build] use-vbo=true: FPS: 2028 FrameTime: 0.493 ms
[texture] texture-filter=nearest: FPS: 1954 FrameTime: 0.512 ms
[texture] texture-filter=linear: FPS: 1974 FrameTime: 0.507 ms
[texture] texture-filter=mipmap: FPS: 1897 FrameTime: 0.527 ms
[shading] shading=gouraud: FPS: 1664 FrameTime: 0.601 ms
[shading] shading=blinn-phong-inf: FPS: 1634 FrameTime: 0.612 ms
[shading] shading=phong: FPS: 1626 FrameTime: 0.615 ms
[shading] shading=cel: FPS: 1674 FrameTime: 0.597 ms
[bump] bump-render=high-poly: FPS: 1673 FrameTime: 0.598 ms
[bump] bump-render=normals: FPS: 2147 FrameTime: 0.466 ms
[bump] bump-render=height: FPS: 2081 FrameTime: 0.481 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1793 FrameTime: 0.558 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 1736 FrameTime: 0.576 ms
[pulsar] light=false:quads=5:texture=false: FPS: 1959 FrameTime: 0.511 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1298 FrameTime: 0.771 ms
[desktop] effect=shadow:windows=4: FPS: 1578 FrameTime: 0.634 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 896 FrameTime: 1.117 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1008 FrameTime: 0.993 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1184 FrameTime: 0.845 ms
[ideas] speed=duration: FPS: 1704 FrameTime: 0.587 ms
[jellyfish] <default>: FPS: 1618 FrameTime: 0.618 ms
[terrain] <default>: FPS: 530 FrameTime: 1.889 ms
[shadow] <default>: FPS: 1808 FrameTime: 0.553 ms
[refract] <default>: FPS: 1061 FrameTime: 0.943 ms
Error: Failed to add fragment shader from file None:
Error: 0(24) : error C7101: Macro HIGHP_OR_DEFAULT redefined
Error:
[conditionals] fragment-steps=0:vertex-steps=0: Set up failed
Error: Failed to add fragment shader from file None:
Error: 0(24) : error C7101: Macro HIGHP_OR_DEFAULT redefined
Error:
[conditionals] fragment-steps=5:vertex-steps=0: Set up failed
Error: Failed to add fragment shader from file None:
Error: 0(24) : error C7101: Macro HIGHP_OR_DEFAULT redefined
Error:
[conditionals] fragment-steps=0:vertex-steps=5: Set up failed
Error: Failed to add fragment shader from file None:
Error: 0(31) : error C7101: Macro HIGHP_OR_DEFAULT redefined
Error:
[function] fragment-complexity=low:fragment-steps=5: Set up failed
Error: Failed to add fragment shader from file None:
Error: 0(32) : error C7101: Macro HIGHP_OR_DEFAULT redefined
Error:
[function] fragment-complexity=medium:fragment-steps=5: Set up failed
Error: Failed to add fragment shader from file None:
Error: 0(25) : error C7101: Macro HIGHP_OR_DEFAULT redefined
Error:
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: Set up failed
Error: Failed to add fragment shader from file None:
Error: 0(25) : error C7101: Macro HIGHP_OR_DEFAULT redefined
Error:
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: Set up failed
Error: Failed to add fragment shader from file None:
Error: 0(25) : error C7101: Macro HIGHP_OR_DEFAULT redefined
Error:
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: Set up failed
=======================================================
glmark2 Score: 1615
=======================================================
GravityMark
GravityMark scores (1600x900, 200,000 asteroids, OpenGL):
https://gravitymark.tellusim.com/report/?id=0125a17841303c3abab85af7c6f69315428ddb74
Vulkan wouldn't run as I would get Bus error (core dumped).
TODO: See this issue for discussion about a full suite of standardized GPU benchmarks.
Ollama
ollama LLM model inference results:
| Device | CPU/GPU | Model | Speed | Power (Peak) |
|---|---|---|---|---|
| Nvidia A400 | GPU | llama3.2:3b | 35.51 Tokens/s | 167 W |
| Nvidia A400 | CPU/GPU | llama3.2:8b | 2.79 Tokens/s | 190 W |
| Nvidia A400 | CPU/GPU | llama2:13b | 7.93 Tokens/s | 223 W |
For full results (including testing other GPUs...), see issue: geerlingguy/ai-benchmarks#5
Memory
tinymembench results:
Click to expand memory benchmark result
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)
==========================================================================
== Memory bandwidth tests ==
== ==
== Note 1: 1MB = 1000000 bytes ==
== Note 2: Results for 'copy' tests show how many bytes can be ==
== copied per second (adding together read and writen ==
== bytes would have provided twice higher numbers) ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
== to first fetch data into it, and only then write it to the ==
== destination (source -> L1 cache, L1 cache -> destination) ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in ==
== brackets ==
==========================================================================
C copy backwards : 12612.3 MB/s
C copy backwards (32 byte blocks) : 12457.3 MB/s
C copy backwards (64 byte blocks) : 12471.6 MB/s
C copy : 12644.2 MB/s
C copy prefetched (32 bytes step) : 13293.4 MB/s
C copy prefetched (64 bytes step) : 13292.2 MB/s
C 2-pass copy : 8224.0 MB/s
C 2-pass copy prefetched (32 bytes step) : 10425.1 MB/s
C 2-pass copy prefetched (64 bytes step) : 10882.2 MB/s
C fill : 46942.6 MB/s
C fill (shuffle within 16 byte blocks) : 46940.3 MB/s
C fill (shuffle within 32 byte blocks) : 46940.6 MB/s
C fill (shuffle within 64 byte blocks) : 46884.5 MB/s
NEON 64x2 COPY : 13373.7 MB/s
NEON 64x2x4 COPY : 13385.7 MB/s
NEON 64x1x4_x2 COPY : 13315.9 MB/s
NEON 64x2 COPY prefetch x2 : 15927.2 MB/s
NEON 64x2x4 COPY prefetch x1 : 16140.0 MB/s
NEON 64x2 COPY prefetch x1 : 15967.5 MB/s
NEON 64x2x4 COPY prefetch x1 : 16139.9 MB/s
---
standard memcpy : 13327.2 MB/s
standard memset : 47863.5 MB/s
---
NEON LDP/STP copy : 13366.5 MB/s
NEON LDP/STP copy pldl2strm (32 bytes step) : 14947.3 MB/s
NEON LDP/STP copy pldl2strm (64 bytes step) : 15072.0 MB/s (0.1%)
NEON LDP/STP copy pldl1keep (32 bytes step) : 15284.9 MB/s
NEON LDP/STP copy pldl1keep (64 bytes step) : 15246.9 MB/s
NEON LD1/ST1 copy : 13421.6 MB/s
NEON STP fill : 47871.6 MB/s
NEON STNP fill : 47864.8 MB/s
ARM LDP/STP copy : 13426.0 MB/s
ARM STP fill : 47841.2 MB/s
ARM STNP fill : 47813.0 MB/s
==========================================================================
== Memory latency test ==
== ==
== Average time is measured for random memory accesses in the buffers ==
== of different sizes. The larger is the buffer, the more significant ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM ==
== accesses. For extremely large buffer sizes we are expecting to see ==
== page table walk with several requests to SDRAM for almost every ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest). ==
== ==
== Note 1: All the numbers are representing extra time, which needs to ==
== be added to L1 cache latency. The cycle timings for L1 cache ==
== latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
== two independent memory accesses at a time. In the case if ==
== the memory subsystem can't handle multiple outstanding ==
== requests, dual random read has the same timings as two ==
== single reads performed one after another. ==
==========================================================================
block size : single random read / dual random read, [MADV_NOHUGEPAGE]
1024 : 0.0 ns / 0.0 ns
2048 : 0.0 ns / 0.0 ns
4096 : 0.0 ns / 0.0 ns
8192 : 0.0 ns / 0.0 ns
16384 : 0.0 ns / 0.0 ns
32768 : 0.0 ns / 0.0 ns
65536 : 0.0 ns / 0.0 ns
131072 : 1.2 ns / 1.7 ns
262144 : 2.2 ns / 2.7 ns
524288 : 3.2 ns / 3.6 ns
1048576 : 4.9 ns / 6.3 ns
2097152 : 17.5 ns / 24.7 ns
4194304 : 24.1 ns / 30.6 ns
8388608 : 29.4 ns / 35.0 ns
16777216 : 39.1 ns / 49.1 ns
33554432 : 67.0 ns / 87.6 ns
67108864 : 81.0 ns / 99.2 ns
block size : single random read / dual random read, [MADV_HUGEPAGE]
1024 : 0.0 ns / 0.0 ns
2048 : 0.0 ns / 0.0 ns
4096 : 0.0 ns / 0.0 ns
8192 : 0.0 ns / 0.0 ns
16384 : 0.0 ns / 0.0 ns
32768 : 0.0 ns / 0.0 ns
65536 : 0.0 ns / 0.0 ns
131072 : 1.2 ns / 1.7 ns
262144 : 1.8 ns / 2.2 ns
524288 : 2.1 ns / 2.4 ns
1048576 : 2.6 ns / 2.8 ns
2097152 : 15.8 ns / 23.1 ns
4194304 : 22.9 ns / 28.9 ns
8388608 : 27.0 ns / 30.8 ns
16777216 : 27.9 ns / 31.9 ns
33554432 : 60.6 ns / 80.2 ns
67108864 : 73.2 ns / 90.4 ns
Core to Core Memory Latency
sbc-bench results
Run sbc-bench and paste a link to the results here:
wget https://raw.githubusercontent.com/ThomasKaiser/sbc-bench/master/sbc-bench.sh
sudo /bin/bash ./sbc-bench.sh -r
Phoronix Test Suite
Results from pi-general-benchmark.sh:
- pts/encode-mp3: 9.339 sec
- pts/x264 4K: 29.01 fps
- pts/x264 1080p: 71.35 fps
- pts/phpbench: 533767
- pts/build-linux-kernel (defconfig): 94.042 sec
Reactions are currently unavailable

Activity
geerlingguy commentedon Oct 22, 2024
Phoronix has a review up with some preliminary benchmarks: System76 Thelio Astra Reviewed: High-End ARM64 Developer Desktop.
geerlingguy commentedon Oct 22, 2024
Note: I was originally going to have most of the benchmarking done already... but I had to be silly and try out a bunch of other GPUs. I then ran into the fun parade of Nvidia proprietary vs Ubuntu included vs Nouveau drivers, and totally borked my Ubuntu install...
Couple that with Arm64 needing specific card hardware support for video output pre-OS boot, and I got it nice and mangled. Need to reinstall Ubuntu and start fresh again with the A402 they included ;)
joespeed commentedon Oct 23, 2024
https://github.com/AmpereComputing/qemu-coremark
geerlingguy commentedon Oct 23, 2024
Ubuntu reinstalled. I downloaded Ubuntu 24.04.1 Server for arm64, installed it through OpenBMC's remote KVM (could also use SOL Serial-Over-LAN console, it works surprisingly well for text/console-based install), and am running through Ampere's guide for setting up Nvidia graphics accelerated Linux Desktop environment:
Also noting timings here, since it can be a bit disconcerting how long boot processes take compared to something like a Raspberry Pi, Mac, or typical consumer PC—this is server-grade hardware, with server-grade boot times:
It seems like the desktop rendering doesn't work out of the box with Ubuntu's default install... interestingly, I had the exact same issue on my old 2013 MacBook Air after attempting an Ubuntu 24.04 install (it worked on 22.04). So maybe if the drivers aren't perfect OOTB, it does this non-rendered desktop environment thing? Is there a regression in the nouveau drivers?
geerlingguy commentedon Oct 23, 2024
It seems like it could be a nouveau issue, after looking in dmesg logs:
geerlingguy commentedon Oct 23, 2024
After blacklisting the
nouveaudriver and rebooting (the ubuntu 550 nvidia driver was preinstalled), I am now getting display output over VGA (and in the BMC KVM).However, it seems to not be using any GPU acceleration...
glmark2shows LLVM rendering.I unplugged VGA output to my monitor, and plugged in DisplayPort to port 1 on the A400. Now once it hits Checkpoint 92, I see the BIOS screen on the VGA output / BMC KVM, and the displayport screen goes from 'no signal' to blank... but then it stalls out. Giving it another few minutes to see if something's just delaying boot.
Only bug I've found somewhat related is this one, but it's about Linux boot not seeing a CPU sometimes... in my case, it seems like the machine stalls at Checkpoint 92.
[Edit: And after waiting another 3 minutes or so, it looks like the whole system rebooted—it's going through DRAM checks and all the Checkpoints again now... stuck again at Checkpoint 92.]
[Edit 2: And if I unplug the display from the DP connector on the Nvidia A402, and reboot with only VGA plugged in, it reliably gets past Checkpoint AD into Linux system boot, and completes startup.]
geerlingguy commentedon Oct 23, 2024
Going to pause my testing on the workstation for the time being—it looks like there are two main issues I'm hitting:
geerlingguy commentedon Oct 23, 2024
Just a note, with this configuration (a lot of sticks of ECC RAM), it idles around 100W, and at system shutdown, uses about 7W of power to run the BMC/IPMI:
bexcran commentedon Oct 23, 2024
Some more detailed information about the boot process:
00:00: Press power button
01:00: Motherboard BIOS splash screen (ASRock Rack logo and boot commands displayed on screen)
...
Also, if you ssh to BMC ports 2200, 2201, 2202 (using the same login as the BMC) you can see the SOL consoles for the host, SCP (PMPro and SMPro) and the secure TF-A console.
geerlingguy commentedon Dec 8, 2024
I ran into overheating / thermal shutdown issues (RAM and SoC were both throwing temperature errors after 10-20 minutes of a heavy workload).
The fix was to install System76's 'driver' package, which includes a
system76-powerdaemon that runs in the background and adjusts fan speeds on the system:The System76 Driver (Install) documentation directed me to install the driver:
That succeeded, and now:
I'd like to know if there's a way to set a default fan curve or something that doesn't require the daemon to be running. Also see if there's a way to get sensor data into OpenBMC.
For more, see: geerlingguy/top500-benchmark#44 (comment) (and the following comments).
geerlingguy commentedon Dec 10, 2024
@bexcran - FYI I am not able to run Geekbench 6 (not that it gives great data for this platform... but still)—it bails out each time during the multi core 'Background Blur' test, which I believe uses NEON and is the main benchmark that seems to give a lot of Arm CPUs a hard time (my overclocked Pi 5's always barfed at that point!).
I was wondering if you might be able to give it a run and see what happens, if it might be able to run on another system?
An interesting aside, it seems like Primate Labs support site has been practically silent for a year or so now. I have a few questions out about these things, but nothing's gotten a response :(
geerlingguy commentedon Dec 10, 2024
I also tried running GravityMark (with Vulkan) and
glmark2-es2-wayland, and neither completed. I would eventually get a(core dumped). I didn't see anything relevant indmesg, just a bunch of message every few minutes about apparmor denying snap from doing stuff:I am trying GravityMark with OpenGL instead of Vulkan now...
geerlingguy commentedon Dec 10, 2024
GravityMark OpenGL does seem to work:
Running again on the monitor so I could get some output, I got this result:
https://gravitymark.tellusim.com/report/?id=0125a17841303c3abab85af7c6f69315428ddb74
geerlingguy commentedon Dec 10, 2024
Ollama seems to install and detect the Nvidia GPU successfully:
I downloaded
llama3.2:3b, ran it, and it was definitely GPU-accelerated, giving me good speed—will bench it and put those results above.geerlingguy commentedon Dec 11, 2024
In my testing of Ollama on the Thelio Astra, it works out of the box with any Nvidia GPU via CUDA, but AMD GPUs don't work due to ROCm not yet supporting arm64, and Ollama not supporting Vulkan; see geerlingguy/ai-benchmarks#5
But I could successfully run llama.cpp on my AMD Pro W7700, as well as an Nvidia RTX A4000 that was a drop-in upgrade.
75 remaining items
geerlingguy commentedon Dec 30, 2024
Couldn't quickly figure out how to get past that... seems like maybe something else in the Steam setup process that expects a 32-bit binary system76 doesn't currently provide?
geerlingguy commentedon Jan 3, 2025
Today I published a video and blog post:
I just got word CPU-Z now includes data for Ampere Altra and Altra Max CPUs, so I will be testing that.
jackpot51 commentedon Jan 3, 2025
Awesome! I'll be watching and reading these today.
MagicAndre1981 commentedon Jan 3, 2025
for Windows on ARM, Microsoft released an OpenGL to Direct3D wrapper some years ago:
Download:
https://apps.microsoft.com/detail/9nqpsl29bfff?hl=en-US&gl=en
jackpot51 commentedon Jan 3, 2025
@geerlingguy thank you for the really well done and detailed video! On my own Astra I've been running Pop!_OS 24.04 with COSMIC DE, which I hope we can make available soon. The remaining blocker for releasing it is finishing QA tests, all the packages are built and I've done a few successful installs.
@MagicAndre1981 the problem is that so far there are no (public) drivers for PCIe graphics cards for Windows on ARM.
geerlingguy commentedon Jan 3, 2025
I should also note Franck from CPUID has already released beta versions of CPU-Z and HWMonitor for Arm64 Windows that include Ampere Altra/Altra Max support. I've been checking them out this morning, but he said he couldn't get SoC temperature information:
I did mention to him that it's "Ampere" and not "Broadcom" hehe... thus the beta release—hopefully that'll get fixed shortly!
Yet another benchmark to show Ampere's dominance in the "AI PC" space hahah.
@jackpot51 - That's awesome! The second you have it ready to go I'd love to install it here. Maybe my next video can cover Pop!_OS in addition to the new graphics card and hopefully getting Steam back up and running again! (Not to mention Blender + CUDA.)
jackpot51 commentedon Jan 3, 2025
Blender + CUDA, I can definitely get you instructions as I am pretty sure I tested it before.
jackpot51 commentedon Jan 3, 2025
Regarding Blender, the version included in Ubuntu 24.04 only officially supports CUDA 10.1 to 11.4, however, these versions cannot be installed from the CUDA repository for Ubuntu 24.04 on ARM. So it is likely a newer version of Blender is required.
jackpot51 commentedon Jan 3, 2025
I was able to render BMW27.blend in 9.59s using Cycles with CUDA 12.6 and Blender 4.0. Running

blenderfrom the command line can help as it will show you the output of the CUDA kernel compilation and any errors that encounters.geerlingguy commentedon Jan 3, 2025
@jackpot51 - As Blender doesn't have an arm64 download, did you compile from source, or did you find a newer version in some other repository?
Edit: Ah... just seeing Blender's docs on compiling Cycles: https://developer.blender.org/docs/handbook/building_blender/cycles_gpu_binaries/
jackpot51 commentedon Jan 3, 2025
I'm just using the version from Ubuntu.
LeviathanX commentedon Jan 3, 2025
Good day,
I am coming from the youtube comment, talking about the practicability as a build machine in the automotive environment.
The general processor SDK I was talking about can be obtained from here:
https://www.ti.com/tool/PROCESSOR-SDK-AM62A
Product: PROCESSOR-SDK-LINUX-RT-AM62A — RT-Linux SDK for edge AI applications on AM62A
Since it is all x86 based, you'd need to execute it in a docker container.
The quickest way to get the base container is following the instructions provided here:
https://github.com/TexasInstruments/ti-docker-images
Specifically:
https://github.com/TexasInstruments/ti-docker-images/pkgs/container/ubuntu-distro
The SDK installer download URL is obtained from the first provided link.
When the installer is completed, the build process can be prepared and executed
https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM62AX/10_00_00/exports/docs/linux/Overview_Building_the_SDK.html
Please take not of the section "RT Support" as this should be enabled to build the real-time kernel.
The build-target "tisdk-edgeai-image" as in the example execution described in section "1.2.3.2 Build Steps" is the mentioned full build.
Hint:
In the yocto- conf/local.conf you can adjust the threads and parallel execution, if the autodetection fails:
E.g.:
BB_NUMBER_THREADS = "1"
PARALLEL_MAKE = "-j 4"
There is probably a possibility to get this running natively after the SDK was extracted, by exchanging the tool references (like compilers, python etc.) in the build scripts, but I don't want to torture you with that.
Thanks for the efforts.
Kind regards,
jackpot51 commentedon Jan 7, 2025
The install instructions were merged and released, and the previous link is no longer available. Here is the new link: https://tech-docs.system76.com/models/thelio-astra-a1-n1/ubuntu-24.04.html
Issue #53: Add Thelio Astra results.