Outils pour utilisateurs

Outils du site


wiki:linux_pour_zynq_de_xilinx:installation_petalinux

Installation et utilisation de Petalinux

Préparations

Interpréteur de commandes bash

Avant l'installation de Petalinux, il faut que le système utilise automatiquement l'interpréteur de commandes bash. Par défaut dans cette version de la distribution LMDE, c'est l'interpreteur de commandes dash qui est utilisé. Pour le vérifier :

$ ls -l /bin/sh

lrwxrwxrwx 1 root root 4 nov.   6 13:48 /bin/sh -> dash

Si tel est le cas, il va faloir changer l'interpréteur par défaut pour mettre bash.
Supprimer le lien symbolique :

$ cd /bin
$ sudo rm sh

Puis créer le nouveau lien

$ sudo ln -s bash sh
$ ls -l sh

lrwxrwxrwx 1 root root 4 nov.   6 13:48 /bin/sh -> bash

Installation

Pour installer le paquet téléchargé depuis le site, il est d'abord nécessaire de rendre le fichier .run executable.

$ cd /chemin_de_repetoire_de_telechargement/
$ chmod +x petalinux-v2015.2.1-final-installer.run

TFTP (option recommandée)

Pour échanger rapidement des fichiers entre l'ordianateur et la carte Zynq, comme par exemple les images binaires générées pour les systèmes d'exploitation et de fichiers, il est possible d'utiliser le réseau avec le protocole TFTP. Petalinux peut mettre directement les images générées dans le répertoire de partage TFTP. Il faudra alors un serveur TFTP sur la machine hote. Son installation peut se faire ainsi :
Création d'un répertoire de partage avec le reste du monde pour TFTP :

$ sudo mkdir /tftpboot
$ sudo chmod -R 777 /tftpboot
$ sudo chown -R nobody /tftpboot

Installation des paquets Tftpd, Tftp et xinetd (on peut le faire aussi par le gestionnaire de paquets)

$ sudo apt-get install tftpd tftp xinetd

Ensuite, éditer en tant qu'administrateur le fichier /etc/xinetd.d/tftp. Par exemple :

$ sudo nano /etc/xinetd.d/tftp

Vérifier son contenu. Cela devrait correspondre à cela :

service tftp
{
protocol        = udp
port            = 69
socket_type     = dgram
wait            = yes
user            = nobody
server          = /usr/sbin/in.tftpd
server_args     = /tftpboot
disable         = no
}
  • :!: PROBLÈME rencontré : pour ma part, j'ai un fichier /etc/inetd.conf qui perturbe le fonctionnement du serveur tftp. Pour résoudre le problème j'ai dû commenter la ligne mentionnant tftp, comme ceci:
    sudo nano /etc/inetd.conf
    ...
    
    #:BOOT: TFTP service is provided primarily for booting.  Most sites
    #       run this only on machines acting as "boot servers."
    #tftp           dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /srv/tftp
    
    ...

Intégration du chemin de Petalinux

Afin de rendre possible l'accès possible à tout moment au chemin où Petalinux est installé, il est utile de créer une ligne de raccourci dans le fichier ~/.profile qui est exécuté à chaque fois que l'utilisateur ouvre sa session. Il faut éditer ce fichier, par exemple avec nano, rajouter la ligne suivante à la fin, puis le sauver et enfin quitter l'éditeur :

export PETALINUX=/chemin_de_repertoire_d_installation_de_petalilux

:!: Pour que le raccourcis soit pris en compte systèmatiquement dans chaque nouvelle console, il est nécessaire de redémarrer la session.

Utilisattion

Pour utiliser les outils Petalinux, il est nécessaire de “sourcer” différents paramètres à la fois de Vivado et de Petalinux. Avant toutes chose, donc, exécuter :

$ source /chemin_de_repertoire_d_installation_de_vivado/SDK/2015.2/settings64.sh
$ source $PETALINUX/settings.sh
PetaLinux environment set to '/home/deneb/Xilinx/pkg/petalinux-v2015.2.1-final'
INFO: Checking free disk space
INFO: Checking installed tools
INFO: Checking installed development libraries
INFO: Checking network and other services

:!: Il se peut que des erreurs soient indiquées

En cas d'erreur

Lors du chargement de :

$ source /chemin_de_repertoire_d_installation_de_vivado/SDK/2015.2/settings64.sh
$ source $PETALINUX/settings.sh
PetaLinux environment set to '/home/deneb/Xilinx/pkg/petalinux-v2015.2.1-final'
INFO: Checking free disk space
awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub
/home/deneb/Xilinx/pkg/petalinux-v2015.2.1-final/tools/common/petalinux//utils/petalinux-env-check: ligne 298 : [: -le : opérateur unaire attendu
INFO: Checking installed tools
awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub
ERROR: Detected make of version  is less than the expected 3.81.
ERROR: You have tools don't meet the version requrements:

 - make -- required version not less than 3.81

INFO: Checking installed development libraries
Please install them with your operating system package manager, and try again

L'erreur semble ne se produire que par rapport à certaines versions du sysstème installé et que si vous avez “sourcé” settings64.sh de Vivado avant de sourcer settings.sh de PetaLinux. Si vous ne “sourcez” pas settings64.sh ou / et si avez cette erreur, cela empèchera par la suite de construire correctement tout ou parties des images nécessaires pour embarquer Linux dans le Zynq.

Cette erreur est lièe aux bibliothèques libmpfr.so.4 et libgmp.so.7 situées dans le répertoire d'installation de Vivado : Vivado/2015.2/lib/lnx64.o qui appellent le programme awk1). Pour contourner le problème 2 solutions proposées (à vérifier si elles posent des problèmes dans certains cas) :

  1. On peut supprimer l'appel aux bibliothèques du répertoire lnx64.o dont le raccourci LD_LIBRARY_PATH est défini dans settings64.sh. Pour cela :
    $ export LD_LIBRARY_PATH=""
    $ source $PETALINUX/settings.sh

    Solution qui risque de poser pas mal de problèmes car aucune bibiliothèque de ce répertoire ne sera accessible.\\De plus, il faudra retapper cette ligne après chaque utilisation de settings64.sh en vue de d'utiliser PetaLinux. Mais par contre, les bibliothèques ne sont pas modifièes.

  2. On peut renommer les deux bibliothèques incéminées afin de n'écarter que ces deux là de la construction des images, sans supprimer les autres bibliothèques de ce répoetroire. Cela les concervera, en cas de besoin.
     
    $ cd /repetroire_d_installation_Vivado/2015.2/lib/lnx64.o
    $ mv libmpfr.so.4  libmpfr.so.4.orig
    $ mv libgmp.so.7 libgmp.so.7.orig

    Il est allors possible de mettre les librairies par defaut de la distribution en liens symboliques

    $ ln -s /usr/lib/x86_64-linux-gnu/libgmp.so.10 libgmp.so.7
    $ ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.4 libmpfr.so.4
wiki/linux_pour_zynq_de_xilinx/installation_petalinux.txt · Dernière modification : 2015/11/20 11:17 de emeyer