Skip to content

Reference/demonstration distro for meta-tegra

License

Notifications You must be signed in to change notification settings

Trellis-Logic/tegra-demo-distro

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tegra-demo-distro

Reference/demo distribution for NVIDIA Jetson platforms using Yocto Project tools and the meta-tegra BSP layer.

Build status

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.7.2/JetPack 4.6.2
meta-tegra-community master OE4T layer with additions from the community
meta-openembedded master OpenEmbedded layers
meta-virtualization master Virtualization layer for docker support
meta-mender * For meta-mender-core layer used in tegrademo-mender
meta-mender-community kirkstone-next For meta-mender-tegra integration layer

The meta-mender layer is hosted in a local fork of the upstream Mender repository. The branch is based on upstream dunfell content, with changes applied to accommodate the overrides syntax changes in OE-Core.

Prerequisites

See the Yocto Project Quick Build documentation for information on setting up your build host.

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

Setting up

  1. Clone this repository:

     $ git clone https://github.com/OE4T/tegra-demo-distro.git
    
  2. Switch to the appropriate branch, using the wiki page for guidance.

  3. Initialize the git submodules:

     $ cd tegra-demo-distro
     $ git submodule update --init
    
  4. Source the setup-env script to create a build directory, 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
    
  5. Optional: Install pre-commit hook for commit autosigning using $ ./scripts-setup/setup-git-hooks

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 OTA support

tegrademo-mender

The tegrademo-mender distro demonstrates mender OTA update support with customizations on the tegrademo distribution including:

  1. Dual A/B rootfs support with read-only-rootfs.
  2. Integration with cboot and tegra-boot-tools to support persistent systemd machine-id settings on read only rootfs.
  3. Boot slot and rootfs partition synchronization through boot tools and bootloader integration.

The synchronization of boot slot and root filesystem partition is more complicated to manage and test with via u-boot (see this issue for detail). For this reason, the tegrademo-mender distribution defaults to use the cboot bootloader on Jetson TX2, instead of the default u-boot bootloader used by meta-tegra. If you need to use a different bootloader you can customize the setting of PREFERRED_PROVIDER_virtual/bootloader_tegra186 in your distro layer.

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. Contributions are welcome!

About

Reference/demonstration distro for meta-tegra

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 90.7%
  • Shell 5.2%
  • Python 2.1%
  • BitBake 1.9%
  • C++ 0.1%