====== Nvidia Jetson Nano ====== **{{tagpage>ia|Intelligence Artificielle}}** **[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fnvidia_jetson_nano|English Version]]** **[[les_pages_intelligence_artificielle_en_details|Les Pages Intelligence Artificielle en détails]]** {{ media_07:jetson_nano_getting_started_board.jpg?300 |}} * [[https://www.developer.nvidia.com/embedded-computing|NVIDIA Jetson Nano]] * ubuntu 18.04 * Ram 3.9 GiB * Proc ARMv8 Processor rev 1 (v8l) × 4 * Graphics NVIDIA Tegra X1 (nvgpu)/integrated * OS type 64 bits * Disk 41.0 GB =====Problèmes rencontrés===== * Impossible d'installer opencv avec pip et libopencv-dev * Avec python3-opencv des dépôts, conflit GTK3 et GTK2 avec darknet =====Installation sur SD Card===== Téléchargement: [[https://developer.nvidia.com/embedded/dlc/jetson-nano-dev-kit-sd-card-image|Jetson Nano Developer Kit SD Card Image]] Trouver les disques: sudo fdisk -l Copie de l'image sur la SD Card /usr/bin/unzip -p ~/Downloads/jetson_nano_devkit_sd_card.zip | sudo /bin/dd of=/dev/sd bs=1M status=progress sudo eject /dev/sd Premier boot: * License * Sélection du clavier français * user/mot de passe * Annuler les mises à jour: elles ne se font pas --> bug !!! =====Installation sur disque externe===== ====Avantages==== - Ca va plus vite - Il y a plus de place - Ajout d'une swap - On peut tout recommencer sur le disque externe, sans avoir à recommencer la copie de l'image sur le SD Card ====Création du disque externe==== * Ressource: **[[https://www.jetsonhacks.com/2019/04/25/jetson-nano-run-on-usb-drive/|Run on usb drive]]** Des scripts de développeurs non associés à Nvidia. git clone https://github.com/JetsonHacksNano/rootOnUSB cd rootOnUSB ./buildKernel.sh Copie: Avec gparted, mettre un Label sur la partition destination, remplacer par votre label ./copyRootToUSB.sh -v ====Menu de boot au démarrage==== Pour pouvoir booter sur la SD Card ou le disk externe. **Pas de menu, recherche en cours !**\\ Si le disk externe est absent, et qu'il est en Primary, ça ne démarre pas !\\ Il faudrait avoir le menu avec la SD Card en Primary ! Modification de /boot/extlinux/extlinux.conf cp /boot/extlinux/extlinux.conf /boot/extlinux/extlinux_old.conf sudo apt install syslinux-common sudo gedit /boot/extlinux/extlinux.conf Remplacer le code de ce fichier (en adaptant à vos disques) par: TIMEOUT 30 DEFAULT primary MENU TITLE p3450-porg eMMC boot options LABEL primary MENU LABEL primary kernel LINUX /boot/Image INITRD /boot/initrd APPEND ${cbootargs} rootfstype=ext4 root=/dev/mmcblk0p1 rw rootwait #APPEND ${cbootargs} rootfstype=ext4 root=/dev/sda1 rw rootwait Commenter l'une des 2 lignes APPEND ${cbootargs}, mais si ça ne démarre pas il faut modifier le fichier sur un autre PC! ====Boot avec mode graphique==== https://devtalk.nvidia.com/default/topic/1050739/jetson-nano/how-to-boot-jetson-nano-in-text-mode-/ ====Swap==== Dans le fichier /etc/fstab, ajouter: # swap UUID=7d8d120d-9a76-4768-bd5d-904edb68b3fe none swap sw 0 0 Adapter l'UUID à votre cas en la trouvant avec gparted. Redémarrer. =====Opencv 3===== Une **[[https://github.com/skvark/opencv-python/issues/83|explication]]** des difficultés avec l'installation de opencv et opencv-dev. **Pour l'utilisation de pip, voir l'excellent article de\\ [[http://sametmax.com/lancer-correctement-python-et-ses-commandes-cousines/|Sam et Max]]** 8-) Dans synaptic, désinstaller complètement **python3-pip**, puis le réinstaller.\\ Désinstaller aussi tous les paquets opencv, puis: python3.6 -m pip install opencv-python --user sudo apt-get install cmake clang libopencv-dev libopencv-core-dev libopencv-highgui-dev libopencv-flann-dev libopencv-photo-dev libopencv-video-dev python3.6-dev Liste des paquets opencv installés: à faire =====Yolo V3 Darknet===== python3.6 -m pip install numpy --user python3.6 -m pip install scikit-image --user Voir [[yolo_darknet_sur_un_portable_optimus|Yolo Darknet sur un portable Optimus]] pour la modification du Makefile. Ne jamais oublier la commande magique: export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} puis make -j4 =====Reconnaissance du sémaphore===== **[[yolo_darknet_avec_un_vrai_semaphore|Avec un vrai sémaphore]]** {{ media_12:semaphore_jetson_nano_2.jpg?400 |}} {{tag>ia sb}}