GithubHelp home page GithubHelp logo

mandraga / tegra-demo-distro Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oe4t/tegra-demo-distro

0.0 0.0 0.0 406 KB

Reference/demonstration distro for meta-tegra

License: MIT License

BitBake 3.96% Shell 8.07% C++ 0.09% Python 1.95% CMake 0.16% C 85.76%

tegra-demo-distro's Introduction

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.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

Prerequisites

See the Yocto Project Quick Build 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.

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!

tegra-demo-distro's People

Contributors

madisongh avatar ichergui avatar dwalkes avatar kekiefer avatar atharvanan1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.