J'utilise les outils petalinux de Xilinx pour créer et utiliser linux intégré. La machine de développement My Host est une VM exécutant Ubuntu 14.04.1 LTS. Ma carte est un Xilinx ZC706 avec un SoC Xilinx Z7045.
Lorsque j'émets une certaine commande (petalinux-boot --JTAG -- Whatever/option/I/use
), je reçois un avertissement indiquant que
rlwrap: $TERM is xterm but rlwrap can't find it in the terminfo database.
Expect some problems. Inappropriate IOCTL for device
J'ai recherché sur Google et suffisamment de recherches pour savoir que rlwrap
est un wrapper readline qui consiste simplement à encapsuler des commandes. Je comprends que $TERM
est la variable d'environnement qui indique aux applications quel type de terminal (ou plus précisément, les spécifications d'interface de terminal) avec lequel il doit interagir, et que terminfo
est une base de données contenant l'interface réelle. specs (/ r/n couleur ou pas, peu importe).
Lorsque je lance ls /usr/share/terminfo/x
, il existe probablement 20 ou 30 variantes de xterm-XXXXX
ou xtermX
, mais il n’existe pas de fichier nommé xterm
. Je suis actuellement d'avis que c'est probablement la cause de l'avertissement ci-dessus.
Lorsque j'obtiens l'avertissement ci-dessus, c'est pendant le processus de téléchargement d'un train de bits vers la partie FPGA du périphérique ou lors de l'utilisation du XMD de Xilinx (débogueur de microprocesseur xilinx) pour télécharger l'image linux du côté du processeur. Ces processus utilisent un module JTAG intégré connecté à mon hôte via un câble USB.
Comment obtenir/installer une entrée xterm simple dans la base de données terminfo?
Alors j'ai compris cela. Il existe un autre répertoire terminfo compilé dans /lib/terminfo/
. Je n'avais besoin que de copier le fichier xterm à partir de là dans le répertoire ci-dessus, donc:
Sudo cp /lib/terminfo/x/xterm /usr/share/terminfo/x
Les dépendances d'installation de petalinux (qui est vraiment Yocto) incluent ncurses. Je pense que pendant le processus d’installation, le fichier terminfo xterm n’a pas été copié dans le répertoire approprié, ou peut-être que pétalinux a demandé au fichier compilé de se trouver dans cet autre répertoire. Je ne sais pas. L'avertissement s'est arrêté.