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
  • Impossible d'installer opencv avec pip et libopencv-dev
  • Avec python3-opencv des dépôts, conflit GTK3 et GTK2 avec darknet

Téléchargement: 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<x> bs=1M status=progress
sudo eject /dev/sd<x>

Premier boot:

  • License
  • Sélection du clavier français
  • user/mot de passe
  • Annuler les mises à jour: elles ne se font pas –> bug !!!

Avantages

  1. Ca va plus vite
  2. Il y a plus de place
  3. Ajout d'une swap
  4. 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: 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 <Volume Label> par votre label

./copyRootToUSB.sh -v <Volume Label>

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

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.

Une explication des difficultés avec l'installation de opencv et opencv-dev.

Pour l'utilisation de pip, voir l'excellent article de
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

python3.6 -m pip install numpy --user
python3.6 -m pip install scikit-image --user

Voir 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
  • nvidia_jetson_nano.txt
  • Dernière modification: 2019/08/08 19:00
  • par serge