D3 has published a project on GitHub that eases the process of kernel development for Nvidia Jetson products including Nano, Tx2, and Xavier. The project contains the source code for our BSP and the development tools that we use at D3 for kernel development. It is not limited to D3 products and is intended to be useful for anyone who is doing kernel development on Nvidia Jetson products.
With this project you can build unmodified Nvidia kernels or you can build D3 kernels. The Nvidia kernels are built from the nvidia/* branches while D3 BSPs are built from the d3/* branches. In addition to being easy to build specific releases you can seamlessly switch between different targets and deploy your code. Instructions for building can be found in the README.md in the root of the project.
This is not a simple import of what is downloaded when you run source_sync.sh. This project pulls in the various Nvidia repositories as git submodules for easier maintenance, updating, and tracking.
The tools are based upon autoconf. Using a ‘configure’ script you can choose which product you are targeting (tx2, nano, or Xavier). The configure script will choose the correct L4T installation based on the target system. Once configured it’s as simple as 'make && make sync && make reboot` to deploy a new kernel! You do not need to know or understand autoconf to make use of the tools.
We invite you to take a look and share feedback and questions here.