Skip to content

[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 :

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 paquet pv)
    • sortir la carte SD et la réinsérer
  • 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 de parted) et XXX est le nom du compte courant GNU/Linux

        sur 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 de parted)

        À 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 contenir TANGO_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 ligne source 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
  • configurer le service tango-starter pour pouvoir piloter la edpitaya depuis Astor:
echo "source /etc/tangorc" \>\> \~/.bashrc
service tango-starter start             # en sudo
update-rc.d tango-starter defaults      # en sudo

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 fichier fpga_0.94.bit
  • firmware FPGA : créer le dossier /filter et y copier le fichier fpga.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 :

  1. 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
  1. configurer le réseau filaire :
[Match]
Name=eth0

[Network]
DHCP=yes
  1. 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[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

Edited by Philippe Gauron