The official Mender documentation explains how Mender works. This is simply a board-specific complement to the official documentation.
Board description
NVIDIA Jetson Nano developer kit hardware booting from SD-card:
URL: https://developer.nvidia.com/embedded/jetson-nano-developer-kit
Wiki: https://elinux.org/Jetson_Nano
Note: the Jetson Naon 2GB model is not yet supported, see https://github.com/OE4T/meta-mender-community/issues/4 for latest status.
Test results
The Yocto Project releases in the table below have been tested by the Mender community. Please update it if you have tested this integration on other Yocto Project releases:
Yocto Project | Build | Runtime |
---|---|---|
warrior (2.7) | ||
zeus (3.0) | ||
dunfell (3.1) |
Build Means that the Yocto Project build using this Mender integration completes without errors and outputs images.
Runtime Means that Mender has been verified to work on the board. For U-Boot-based boards, the integration checklist has been verified.
Getting started
Prerequisites
- A supported Linux distribution and dependencies installed on your workstation/laptop as described in the Yocto Mega Manual
- NOTE. Instructions depend on which Yocto version you intend to use.
Setup Yocto Environment
Dunfell and later releases use the tegra-demo-distro to demonstrate a working mender configuration.
Please use the setup-env
script in tegra-demo-distro to setup and configure the tegrademo-mender
distribution. Use the branch corresponding to the yocto version you plan to target. For instance, for the dunfell branch and NVIDIA L4T release 32.4.3, use these commands from the root of the cloned tree:
git submodule update --init
git checkout dunfell-l4t-r32.4.3
Then use
source ./setup-env --distro tegrademo-mender --machine jetson-nano-devkit
To setup your build environment for Jetson Nano
See the OE4T/meta-tegra wiki for more information about the meta-tegra project.
Setup build environment
Initialize the build environment:
source ./setup-env --distro tegrademo-mender --machine jetson-nano-devkit
or if you’ve already setup your initial environment you can use the simpler option:
source ./setup-env
Building the image
Optional: Build for Hosted Mender:
# To get your tenant token:
# - log in to https://hosted.mender.io
# - click your email at the top right and then "My organization"
# - press the "COPY TO CLIPBOARD"
# - assign content of clipboard to MENDER_TENANT_TOKEN
#
MENDER_SERVER_URL = "https://hosted.mender.io"
MENDER_TENANT_TOKEN = "<copy token here>"
You can now proceed with building an image:
bitbake demo-image-base
Using the build output
After a successful build, the images and build artifacts are placed in tmp/deploy/images/jetson-nano-devkit
.
The disk image package for Jetson has a name like demo-image-base-jetson-nano-devkit.tegraflash.tar.gz
. This file can be used along with recovery mode on the Jetson to initially provision the device.
You should insert an SDCard into the device before flashing.
To enter recovery mode:
- For the Nano carrier board, unless you have connected buttons to the header pins, use a jumper (REC to GND) to put the device into recovery mode on power up.
- Connect the USB cable to power on the Nano
You should see your NVIDIA device listed in the lsusb
device output.
Next, extract the .tar.gz file and then run the ./doflash.sh
script inside to flash the build to the device. The script at repos/meta-mender-community/meta-mender-tegra/scripts/deploy.sh
can be customized to automate this step if desired. See the instructions on the OE4T wiki for additional details.
On the other hand, if you already have Mender running on your device and want to deploy a rootfs update using this build, you should use the Mender Artifact files, which have .mender
suffix. You can either deploy this Artifact in managed mode with the Mender server (upload it under Releases in the server UI) or by using the Mender client standalone mode.
References
-
meta-tegra: The base BSP layer with support for NVIDIA tegra.
-
meta-mender-tegra layer in meta-mender-community: Customization for mender on tegra, including u-boot and partitioning. See OE4T layer at this link for any changes or to file issues against mender and NVIDIA support.
-
The official Mender documentation explains how Mender works. This is simply a board-specific complement to the official documentation.
Known issues
Let us know if you find one!