Skip to content
README.md 4.21 KiB
Newer Older
# tegra-demo-distro

Reference/demo distribution for NVIDIA Jetson platforms
using Yocto Project tools and the meta-tegra BSP layer.
Matt Madison's avatar
Matt Madison committed

![Build status](https://builder.madison.systems/badges/tegrademo-master.svg)

Metadata layers are brought in as git submodules:

| Layer Repo            | Branch  | Description                                         |
| --------------------- | --------|---------------------------------------------------- |
| poky                  | master  | OE-Core from poky repo at yoctoproject.org          |
| meta-tegra            | master  | L4T BSP layer - L4T R32.5.1/JetPack 4.5.1           |
| meta-openembedded     | master  | OpenEmbedded layers                                 |
| meta-virtualization   | master  | Virtualization layer for docker support             |
| meta-mender           | dunfell | For meta-mender-core layer used in tegrademo-mender |
| meta-mender-community | dunfell | For meta-mender-tegra integration layer             |


Matt Madison's avatar
Matt Madison committed
## Prerequisites

See the [Yocto Project Quick Build](https://www.yoctoproject.org/docs/3.1.2/brief-yoctoprojectqs/brief-yoctoprojectqs.html)
documentation for information on setting up your build host.
In addition to the packages mentioned in that documentation, you
will need gcc and g++ 8 (on Ubuntu, packages `gcc-8` and `g++-8`).

For burning SDcards (for the Jetson Nano or Jetson Xavier NX developer
kits), the `bmap-tools` package is recommended.

For building CUDA applications, you must download the CUDA host-side
tools using the NVIDIA SDK Manager (NVIDIA Developer Network login
required). You should set the environment variable NVIDIA_DEVNET_MIRROR
to the path of the directory where the `.deb` file for the tools
package is located.

## Setting up

1. Clone this repository:

        $ git clone https://github.com/OE4T/tegra-demo-distro.git

Dan Walkes's avatar
Dan Walkes committed
2. Switch to the appropriate branch, using the
   [wiki page](https://github.com/OE4T/tegra-demo-distro/wiki/Which-branch-should-I-use%3F)
   for guidance.

3. Initialize the git submodules:
Matt Madison's avatar
Matt Madison committed

        $ cd tegra-demo-distro
		$ git submodule update --init

Dan Walkes's avatar
Dan Walkes committed
4. Source the `setup-env` script to create a build directory,
Matt Madison's avatar
Matt Madison committed
   specifying the MACHINE you want to configure as the default
   for your builds. For example, to set up a build directory
   called `build` that is set up for the Jetson Xavier NX
   developer kit and the default `tegrademo` distro:

        $ . ./setup-env --machine jetson-xavier-nx-devkit

   You can get a complete list of available options, MACHINE
   names, and DISTRO names with

        $ . ./setup-env --help

Dan Walkes's avatar
Dan Walkes committed
5. Optional: Install pre-commit hook for commit autosigning using
        $ ./scripts-setup/setup-git-hooks
Dan Walkes's avatar
Dan Walkes committed
## Distributions

Use the `--distro` option with `setup-env` to specify a distribution for your build,
or customize the DISTRO setting in your `$BUILDDIR/conf/local.conf` to reference one
of the supported distributions.

Currently supported distributions are listed below:


| Distribution name | Description                                                   |
| ----------------- | ------------------------------------------------------------- |
| tegrademo         | Default distro used to demonstrate/test meta-tegra features   |
| tegrademo-mender  | Adds [mender](https://www.mender.io/) OTA support             |


Matt Madison's avatar
Matt Madison committed
## Images

The `tegrademo` distro includes the following image recipes, which
are dervied from the `core-image-XXX` recipes in OE-Core but configured
for Jetson platforms. They include some additional test tools and
demo applications.

| Recipe name       | Description                                                   |
| ----------------- | ------------------------------------------------------------- |
| demo-image-base   | Basic image with no graphics                                  |
| demo-image-egl    | Base with DRM/EGL graphics, no window manager                 |
| demo-image-sato   | X11 image with Sato UI                                        |
| demo-image-weston | Wayland with Weston compositor                                |
| demo-image-full   | Sato image plus nvidia-docker, openCV, multimedia API samples |

# Contributing

Please see the contributor wiki page at [this link](https://github.com/OE4T/meta-tegra/wiki/OE4T-Contributor-Guide).
Contributions are welcome!