Radxa X2L : premier contact

La Radxa X2L est un petit changement dans le monde des SBC pas chères : pour une fois une carte à moins de 50€ est motorisée non pas par de l’ARM, mais par de l’Intel.

Après un article sur CNX Software il y a quelques temps et l’article de Pierre, sur la carte, je me suis dit que vu le tarif, expérimenter avec autre chose que de l’ARM pouvait être intéressant.

La carte est superbement lotie avec une alim USB-C, des ports USB et deux sorties HDMI… Sans compter les GPIO motorisés par un composant de “La Fondation”, un RP2040.

Avant d’aller plus loin, je dois avouer quelques travers : je n’aime pas Intel et à mon sens ils n’ont rien fait entre 2008 et 2018 à part augmenter les tarifs et distiller au compte gouttes de l’innovation. L’efficacité, le rendement énergétique, ça m’énerve.

D’autre part, Windows me fait vomir, je ne comprends pas que les gens puissent tolérer un OS qui utilise la bande passante pour afficher des noiuzes de pétasses quand on survole la barre des tâches.

Pour finir dans les récriminations, je n’aime pas le BIOS et l’UEFI parce que je trouve que c’est un frein à l’utilisation de la machine comme on le souhaite, surtout quand Microsoft oblige les constructeurs à rendre fous les utilisateurs qui veulent installer Linux sur leur machine. On on comprendra que je ne vais pas installer zindoze sur la Radxa.

Revenons à la raison. Combien ça coûte ?

  • une commande sur Taobao dans le magasin ALLNET en Chine à Shenzhen avec une livraison le lendemain à Tianjin, près de Pékin, c’est 55€ pour la version 4Go de RAM. Il n’y a plus de version 2Go et la version 8Go RAM est à 76€. Partons sur 55€
  • commandé un chargeur pour 12€
  • commandé le ventilo pour 7€

A noter que la carte à un emplacement pour une batterie qui est vide : il faut une CR1220 pour être tranquille (sinon on perd la conf du BIOS quand on débranche).

Les autres SBC Intel
Je n’ai expérimenté qu’avec des cartes pas chères.

Il y a eu l’Atomic Pi acheté sur place aux USA, donc c’était quelque chose comme 35$, mais la carte était un peu difficile à utiliser (alim à fabriquer soit même) et n’avait que 2Go de RAM. Jamais pu utiliser ses GPIOs.

Une RADXA plutôt pas mal dont je ne me souviens plus de la référence, format carte de crédit, mais c’était plus cher, peut être 80€ et le wifi embarqué n’a jamais marché sous Linux (me suis pas battu beaucoup non plus).

D’autres cartes existent, mais pas dans mes tarifs, et en plus j’aime pas Intel.

OS

Par curiosité j’ai installé Daphile et ça fonctionne tout de suite.

Mon quotidien, c’est Debian : c’est beau (la ligne de commande), élégant et pas plein de pouffiasses. Autres avantages, c’est peu gourmand car les ressources ne sont pas bouffées par le système de mise à jour et les téléchargements non sollicités.

Certainement une installation d’Ubuntu proposerait une belle interface graphique et peu de galères sur la ligne de commande. On verra plus tard, pour l’instant on va chez Debian.

L’installation de Debian sur la machine ne prend que quelques minutes, 15 peut être ?

Je recommande de prendre l’installation DVD disponible ici pour éviter de perdre du temps à des téléchargements sans fin (surtout quand on est en Chine et que pendant l’install on ne peut pas installer de VPN - et l’installer dans le routeur offre d’autres problématiques quand on souhaite consulter l’internet local).

Lors de l’installation Tasksel demande quoi installer en terme d’interface graphique : peut-être plus tard, on va se contenter de la ligne de commande, même s’il y a quelques trucs à faire avant de profiter pleinement de la carte. Je choisis d’'installer SSH pour la pris en main à travers mon réseau. On va d’abord jouer avec la carte comme un “serveur”, on verra ensuite pour faire un poste client.

renaud@orangepi5:~$ ssh [email protected]
The authenticity of host '192.168.1.131 (192.168.1.131)' can't be established.
ECDSA key fingerprint is SHA256:dspZZTopU2CambridgeGlopGlopYVeSSTloloTA28.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.131' (ECDSA) to the list of known hosts.
[email protected]'s password: 
Linux radxax2l 6.1.0-15-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.66-1 (2023-12-09) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
renaud@radxax2l:~$ 

Voilà pour la première connexion, la X2L habite en 131.

Petit problème, sudo n’est pas installé et su - puis get-apt update fait référence au dvd. Ok. On va éditer le fichier apt/sources.list

su -
nano /etc/apt/sources.list

Ensuite dans ce fichier on peut commenter la ligne (une seule) qui contient la référence au CDROM (qui était sur la clé de boot) et ajouter la référence suivante :

deb http://deb.debian.org/debian/ bookworm main

Quand c’est fait, on va bibliquement respecter le premier commandement :

apt-get udpate
apt-get upgrade

Le update, chez moi, prend 33 minutes. C’est long, mais il faut traverser la Grande Muraille Numérique. Le upgrade ne coûte rien ce coup-ci, la machine est à jour.

Ok, on va installer sudo et enregistre le compte utilisateur dans les listes des sudoers, puis installer deux petits outils :

  • sudo présente des avantages en terme de gestion de droits et de sécurité
  • Neofetch affiche quelques données sur la machine
  • bpytop donnes des informations sur l’utilisation des ressources de la machine (occupation CPU, RAM, LAN, processus)
  • j’ajoute curl qui n’est pas là, pour transférer des données via url.
apt-get install sudo
visudo

Dans le fichier on ajoute la ligne de l’utilisateur qui va faire partie du groupe des sudoers (moi c’est renaud) :

# Allow members of group sudo to execute any command
renaud  ALL=(ALL:ALL) ALL

On enregistre et on sort (Ctrl S puis Ctrl X). Retour sur la ligne de commande :

exit
sudo apt install curl
sudo apt install neofetch
sudo apt install bpytop

Neofetch ça donne ça :

bpytop, ça donne ça :

Quelques mesures - Performances & Consommation

Tout se discute mais on va tester “les performances” avec passmark :

  • téléchargement de l’outil de bench
  • installation de unzip
  • unzip
  • téléchargement d’une bibliothèque requise pour le test
  • changement de repertoire
  • lancement du test
curl https://www.passmark.com/downloads/pt_linux_x64_10_2_1003.zip --output bench.zip
sudo apt-get install unzip
unzip bench.zip 
sudo apt-get install libncurses5
cd PerformanceTest/
./pt_linux_x64

On va comparer les résultats avec une Orange Pi 5 qui utilise un KR3588S.

Pour la Radxa X2L :

Intel Celeron J4125 CPU @ 2.00GHz (x86_64)
4 cores @ 2700 MHz  |  3.7 GiB RAM
Number of Processes: 4  |  Test Iterations: 1  |  Test Duration: Medium
--------------------------------------------------------------------------
CPU Mark:                          3239
  Integer Math                     13975 Million Operations/s
  Floating Point Math              6602 Million Operations/s
  Prime Numbers                    8.2 Million Primes/s
  Sorting                          5723 Thousand Strings/s
  Encryption                       2063 MB/s
  Compression                      40345 KB/s
  CPU Single Threaded              1232 Million Operations/s
  Physics                          232 Frames/s
  Extended Instructions (SSE)      1294 Million Matrices/s

Pour la Orange Pi 5 :

Orange Pi 5
Cortex-A76 (aarch64)
8 cores @ 1800 MHz  |  7.5 GiB RAM
Number of Processes: 8  |  Test Iterations: 1  |  Test Duration: Medium
--------------------------------------------------------------------------
CPU Mark:                          3236
  Integer Math                     30444 Million Operations/s
  Floating Point Math              13342 Million Operations/s
  Prime Numbers                    17.3 Million Primes/s
  Sorting                          14372 Thousand Strings/s
  Encryption                       693 MB/s
  Compression                      23 MB/s
  CPU Single Threaded              1022 Million Operations/s
  Physics                          374 Frames/s
  Extended Instructions (NEON)     2538 Million Matrices/s

C’est très drôle d’avoir le score final si proche.

Test de la mémoire :

Radxa X2L

Memory Mark:                       1004
  Database Operations              1552 Thousand Operations/s
  Memory Read Cached               6491 MB/s
  Memory Read Uncached             5121 MB/s
  Memory Write                     4508 MB/s
  Available RAM                    2687 Megabytes
  Memory Latency                   66 Nanoseconds
  Memory Threaded                  12829 MB/s

Orange Pi 5

Memory Mark:                       1409
  Database Operations              2912 Thousand Operations/s
  Memory Read Cached               8749 MB/s
  Memory Read Uncached             8448 MB/s
  Memory Write                     11521 MB/s
  Available RAM                    6807 Megabytes
  Memory Latency                   82 Nanoseconds
  Memory Threaded                  22887 MB/s

Le score moyenné du Celeron sur le site de passmark est de 2961 :
https://www.cpubenchmark.net/cpu.php?cpu=Intel+Celeron+J4125+%40+2.00GHz&id=3667

Notre carte est à 3239 :
https://www.passmark.com/baselines/V10/display.php?id=505554317509

Merci Radxa.

**Petitq testq sur le nvme **

hdparam

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 931,5G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0 930,1G  0 part /
└─nvme0n1p3 259:3    0   977M  0 part [SWAP]

apt install hdparm

sudo hdparm -t --direct /dev/nvme0n1
/dev/nvme0n1:
 Timing O_DIRECT disk reads: 4498 MB in  3.00 seconds = 1498.94 MB/sec

Sur :

  • une Orange Pi 5 (pas la plus) avec une seule ligne PCie on est à 370 MN/sec
  • une Orange Pi 5 + il faut que je la rallume…

** sysbench**
sysbench --num-threads=16 --test=fileio --file-total-size=3G --file-test-mode=rndrw prepare

# Radxa X2L  nvme   = 3221225472 bytes written in 7.72 seconds (398.00 MiB/sec)
# Orange Pi 5 nvme  = 3221225472 bytes written in 18.41 seconds (166.90 MiB/sec)
# pi 800 emmc       = 3221225472 bytes written in 40.84 seconds (75.21 MiB/sec)
# pi 400 SdCard     = 3221225472 bytes written in 103.94 seconds (29.55 MiB/sec)

Note:
La Orange Pi 5 Plus dispose d’un PCIe 3.0 x4 lanes

Consommation
La carte est en mode headless, rien n’est connecté à part :

  • le câble réseau
  • le ventilo
  • un Samsung 970Evo Pro

Pas de clavier ou souris à alimenter, rien sur les ports USB ou HDMI.

  • idle : 0.4W
  • durant le test passmark : 10W
  • au boot max : 13W

La suite ?

On va passer à l’action avec l’installation de Docker et quelques containers. Ce sera certainement plus intéressant, surtout que pi hosted est au programme… Venez lire la suite !

1 « J'aime »