[doc] installation système sur RedPitaya à partir de GNU/Linux
RedPitaya sous TANGO
Voici les instructions pour installer le système de la RedPitaya sous GNU/Linux et TANGO :
- récupérer l'image red-pitaya-for-tango.zip sur https://gitlab.in2p3.fr/taurigna/RedPitaya_Tango_OS
- vérifier son intégrité :
recopier le contenu suivant dans
RedPitaya-for-tango.img.asc
:
b4f4514445a8d8694d472519b7b1d05700ca206d81c8f9105ddfc36a50c4a0be RedPitaya-for-tango.img
exécuter sha256sum -c RedPitaya-for-tango.img.asc
qui doit afficher RedPitaya-for-tango.img: Réussi
-
décompresser :
unzip red-pitaya-for-tango.zip
-
l'écrire sur une carte SD. Sous GNU/Linux :
- lancer la commande
lsblk
, qui affiche les périphériques connectés. - insérer ensuite la carte SD et relancer la commande
lsblk
pour identifier le périphérique de la carte SD, elle ressemblera àmmcblk0
avec des sous-partitions /dev/mmcblk0p1, /dev/mmcblk0p2, etc. Faire attention à bien identifier la carte SD, on va supprimer le contenu de partitions ! -
sudo dd bs=1M if=./RedPitaya-for-tango.img of=/dev/mmcblk0 && sync
(pour voir l'évolution :pv RedPitaya-for-tango.img | sudo dd bs=1M of=/dev/mmcblk0 && sync
après avoir installé le paquetpv
) - sortir la carte SD et la réinsérer
- lancer la commande
-
pour vérifier le contenu écrit :
- lire les partitions présentes sur l'image et identifier le décalage des deux partitions (colonne « Début »), ici 4194304 et 127926272 (sans le « B ») :
$> sudo parted RedPitaya-for-tango.img unit B print Modèle: (file) Disque /home/.../RedPitaya-for-tango.img : 3975151616B Taille des secteurs (logiques/physiques): 512B/512B Table de partitions : msdos Disk Flags: Numéro Début Fin Taille Type Système de fichiers Fanions 1 4194304B 127926271B 123731968B primary fat16 lba 2 127926272B 3670015999B 3542089728B primary ext4
-
vérifier le contenu des partitions copiées en montant si besoin manuellement la partition :
-
sudo mount -o loop,ro,offset=<DECALAGE_PARTITION_1> /dev/mmcblk0p1 /media/XXX/tmp
, où <DECALAGE_PARTITION_1> est le début de la partition n°1 (dans le résultat departed
) et XXX est le nom du compte courant GNU/Linuxsur certains ordinateurs, les partitions sont montées automatiquement, cette étape est inutile. Le démontage reste essentiel.
-
la première partition est cohérente :
ls /media/XXX/tmp
-
démonter la première partition :
umount /media/XXX/tmp
-
idem pour la seconde partition :
sudo mount -o loop,offset=<DECALAGE_PARTITION_2> /dev/mmcblk0p1 /media/XXX/tmp
, où <DECALAGE_PARTITION_2> est le début de la partition n°2 (dans le résultat departed
)À FAIRE : faire une procédure de vérification d'intégrité des partitions.
-
-
copier dans la grande partition (3,5 Go) la dernière version du DS RedPitaya (celle de ce dépôt une fois compilée, ou le binaire entreposé sur https://box.in2p3.fr/index.php/s/cbkowPAe9H6nDGL), sinon :
sudo cp RedPitaya-v10 /media/XXX/tmp/usr/lib/tango/
-
démonter la première partition :
umount /media/XXX/tmp
-
sortir la carte SD
-
réinsérer la carte SD ou ouvrez le point de montage
/media/XXX/tmp
-
continuer l'installation comme indiqué dans la documentation (à partir de 2.3 en particulier) :
- le réseau doit être configuré en DHCP ;
-
/media/XXX/tmp/etc/tangorc
doit uniquement contenirTANGO_HOST=srv-2.thomx.fr:20000
(retirer toutes les lignes commentées) ; -
/media/XXX/tmp/etc/hostname
doit contenir le nom réseau de la redpitaya ; - commenter dans
/media/XXX/tmp/etc/network/interfaces
la lignesource interfaces.d/wlan0
(pour désactiver le wifi) - dans
/media/XXX/tmp/etc/network/interfaces.d/eth0
, commenter la configuration statique et décommenter la configuration DHCP - supprimer dans
/media/XXX/tmp/etc/hosts
les lignes du réseau Maquette ThomX (192.168.209.xxx) - configurer le NTP (selon l'ancienne procédure)
- désactiver le serveur web
rm /media/XXX/tmp/etc/systemd/system/multi-user.target.wants/redpitaya_nginx.service
- insérer la carte SD dans la RedPitaya et vérifier qu'elle démarre correctement
une fois la RedPitaya connectée au réseau
- changer le mot de passe par défaut pour l'utilisateur root pour mettre le notre
RedPitaya avec contrôle-commande TANGO et FPGA dédié
Il s'agit de redpitaya1-b13 et redpitaya2-b13.
Deux programmes sont dans ce dossier atrium :
- utilitaire générique : créer
/opt/redpitaya/fpga/
et y copier le fichierfpga_0.94.bit
- firmware FPGA : créer le dossier
/filter
et y copier le fichierfpga.bin
Il faut aussi éditer /etc/rc.local
pour y copier avant la ligne exit 0
:
# copie du programme FPGA
cat /opt/redpitaya/fpga/fpga_0.94.bit > /dev/xdevcfg
cat /filter/fpga.bin > /dev/xdevcfg
RedPitaya sans contrôle-commande TANGO
L'image est dispo ici
Une RedPitaya est utilisée pour la RF, sans CC. Les instructions pour configurer le réseau sont ici
Voici TOUTES les étapes à suivre pour configurer le réseau :
- désactiver le wifi pour interdire tout risque de connexion extérieure non prévue.
- si il existe, commenter
/opt/redpitaya/hostapd.conf
- si il existe commenter
/opt/redpitaya/wpa_supplicant.conf
- si la RedPitaya est démarrée, exécuter
sudo systemctl mask wpa_supplicant.service
- si la RedPitaya n'est pas démarrée, exécuter
sudo ln -s /dev/null /etc/systemd/system/wpa_supplicant.service
- configurer le réseau filaire :
- configurer eth0 en DHCP dans
/etc/systemd/network/wired.network
(https://wiki.archlinux.org/title/Systemd-networkd#Wired_adapter_using_DHCP) :
[Match]
Name=eth0
[Network]
DHCP=yes
- configurer le nom réseau en modifiant ̀ /etc/systemd/system/hostname-mac.service`, où NOM_RESEAU_A_DONNER est le nom réseau de la RedPitaya (ex: redpitaya1-b13)
sh -c 'sed -i -e "s|^ExecStart=.*|#&\nExecStart=/bin/sh -c \"hostnamectl set-hostname NOM_RESEAU_A_DONNER\"|g" /etc/systemd/system/hostname-mac.service'
source : https://redpitaya.readthedocs.io/en/latest/developerGuide/software/other_info/os/network.html
Déboguage
Pour vérifier que tout est correct, démarrer screen /dev/ttyUSB[X] 115200 cs8
où [X]
est le nom du canal USB obtenu par dmesh -H
lors de la connexion à la RedPitaya.
Source : https://redpitaya.readthedocs.io/en/latest/developerGuide/software/console/console/console.html