[LINUX] Jetson Nano est en cours d'installation (Yocto ver.)

Il n'y a pas d'article sur comment introduire le yocto dans jetson nano, alors je l'ai écrit.

Jusqu'à bitbake

source de téléchargement

Téléchargez ces deux et bsp à partir du développeur nvidia. Sans cela, bitbake est désolé pour l'erreur.

Cadre environnemental

bblayer.conf

BBLAYERS ?= " \
  /home/ubuntu/xxx/yocto/poky/meta \
  /home/ubuntu/xxx/yocto/poky/meta-poky \
  /home/ubuntu/xxx/yocto/poky/meta-yocto-bsp \
  /home/ubuntu/xxx/yocto/poky/meta-linaro/meta-linaro-toolchain \
  /home/ubuntu/xxx/yocto/poky/meta-tegra \
  "

Ici, tegra et linaro sont ajoutés en plus de celui spécifié par poky. J'ai ajouté linaro basé sur article here et construit avec gcc7.x Faire. https://github.com/madisongh/meta-tegra/wiki/Using-linaro-gcc7-for-CUDA-support

local.conf

Enfin, ajoutez ce qui suit

MACHINE = "jetson-nano"
LICENSE_FLAGS_WHITELIST = "commercial"
GCCVERSION = "linaro-7.%"
CUDA_VERSION = "10.0"
NVIDIA_DEVNET_MIRROR = "file:///home/ubuntu/xxx/nvidia/downloads"

CORE_IMAGE_EXTRA_INSTALL += " openssh "
PACKAGE_EXCLUDE += " packagegroup-core-ssh-dropbear " <-- core-image-Requis pour éviter les conflits entre dropbear et openssh en sato

TEGRAFLASH_SDCARD_SIZE = "2G" 
IMAGE_OVERHEAD_FACTOR = "1.0"
IMAGE_CLASSES += " image_types_tegra "
IMAGE_FSTYPES = "tegraflash"

Pour NVIDIA_DEVNET_MIRROR, spécifiez le dossier contenant l'ensemble (plein de debs) téléchargé depuis nvidia à l'aide de sdkmanager. J'ai déposé mon environnement sur nvidia / downloads, donc je l'ai spécifié.

** Explication **

** TEGRAFLASH_SDCARD_SIZE **: La valeur par défaut est 16G. Entrez un grand nombre si vous souhaitez l'augmenter et un petit nombre si vous souhaitez le diminuer. Si la taille devient grande, il y aura des effets nocifs tels que prendre du temps dd. ** IMAGE_ROOTFS_SIZE **: Le manuel dit qu'il contrôle la taille du fichier, mais il semble que TEGRAFLASH_SDCARD_SIZE a la priorité. Par conséquent, ne spécifiez pas. ** IMAGE_OVERHEAD_FACTOR **: spécifiez l'espace libre. ** MACHINE **: Définissez le nom de la machine dans (nom de la machine) .conf sous meta-tegra / conf / machine. S'il est différent du nom du fichier ici, le contrôle de cohérence le rejettera avec une erreur.

bitbake.conf

S'il y a fmacro-prefix-map, la construction ne passera pas, alors supprimez-la.

poky/meta/conf/bitbake.conf


# GCC 7 doesn't support fmacro-prefix-map, results in "error: cannot compute suffix of object files: cannot compile"
# Change the value from bitbake.conf DEBUG_PREFIX_MAP to remove -fmacro-prefix-map
DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR} \
                    -fdebug-prefix-map=${STAGING_DIR_HOST}= \
                    -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \

pendant bitbake

$ source poky/oe-init-build-env nano-build
$ bitbake core-image-minimal

Selon le manuel. source, bitbake.

Refaire la procédure

$ bitbake -c cleanall core-image-minimal
$ rm -Rf tmp/*
$ bitbake core-image-minimal

Essayons !!

Déploiement sur la carte SD

C'est la magie habituelle. C'est un fichier image avec l'extension ".sdcard" alors qu'il existe de nombreux formats gzip. DD sans aucun travail.

$ sudo dd if=core-image-minimal-jetson-nano.sdcard of=/dev/sdx bs=4M conv=fsync status=progress

Par défaut, il dispose de 17 Go, vous avez donc besoin d'une carte micro SD de 32 Go. Les paramètres ci-dessus sont définis sur 2G, donc une carte SD de taille appropriée est correcte.

Commencez

Fixez la carte SD au Jetson Nano et démarrez-le. ID: racine, PW: Aucun

root@jetson-nano:~# cat /proc/version
Linux version 4.9.140-l4t-r32.2.1+g7467bde43b5d (oe-user@oe-host) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11) ) #1 SMP PREEMPT xxx Oct xx xx:xx:xx UTC 2019
root@jetson-nano:~# df
Filesystem     1K-blocks   Used Available Use% Mounted on
none             1782740      0   1782740   0% /dev
/dev/mmcblk0p1   1887056 166920   1601352  10% /
tmpfs            2025568    216   2025352   1% /run
tmpfs            2025568    156   2025412   1% /var/volatile

Démarrer la partie 2

J'ai aussi créé core-image-sato, donc je l'ai commencé. De plus, TEGRAFLASH_SDCARD_SIZE? = "2G" ne démarre pas. Même avec la 4G, le taux d'utilisation était de 92%.

Écran de démarrage image.png

Écran de menu image.png

La fin

Recommended Posts

Jetson Nano est en cours d'installation (Yocto ver.)
configuration de jetson nano