NVIDIA Tegra Tegra Linux Driver Package
Development Guide
19.3 Release | July 1, 2014

 
Package Manifest
 
Kernel
Boot Loader
NV Tegra
Nvgstapps TBZ2
Config TBZ2
NVIDIA Drivers TBZ2
The NVIDIA® Tegra® Linux Driver Package is provided in the following tar file:
Tegra<SOC>_Linux_<release_num>.<version_num>_<release_type>.tbz2
where
<release_num> is the branch number of the release, such as R19.
<version num> is the version number of the build, such as 3.0 for the third build.
<release_type> is armel (for softfp ABI) or armhf (for hard-float ABI).
The following table lists the top level directories and files that are created when you expand the tar file.
Filename
Description
<platform>.conf
Configuration file(s) for flash.sh specific to the <platform> board
./rootfs
Directory used as a staging directory for the root filesystem
./rootfs/README.txt
This file explains the need to copy the sample file system here
./kernel
Directory containing the kernel images and kernel modules
./kernel/dtb
Directory containing the kernel DTB files for the particular SoC
./bootloader
Directory containing the boot loader and related components
./bootloader/<tboard>
Directory containing platform-specific files
./bootloader/<board>/BCT
Directory containing the platform-specific BCT files
./bootloader/<board>/cfg
Directory containing the appropriate cfg files.
./nv_tegra
Directory containing the NVIDIA drivers and sample applications.
./nv_tegra/nv_sample_apps
Directory containing the NVIDIA sample applications.
./source_sync.sh
A script that downloads kernel and uboot source
./apply_binaries.sh
A script to apply nv_tegra components.
./flash.sh
A script that flashes the boot loader and kernel from the package.
./zImage_to_uimg.sh
A script that creates the vmlinux.uimg with mkimage for use as the kernel image for u-boot
Note: The <platform> variable specifies the development system, such as jetson-tk1.
Documentation
Tegra Linux Driver Package (L4T) also includes the following documentation:
Tegra_Linux_Driver_Package_Release_Notes_<ver>.pdf
Tegra_Linux_Driver_Package_Documents_<ver>.tar
Where <ver> is the version of the release, such as R19.3. Both the “armel” and “armhf” software versions are documented.
Section Overview
This section provides information about the contents of the L4T tar file.
Kernel
This section describes the major components included in the ./kernel directory.
Filename
Description
./dtb
Directory containing SoC-specific kernel DTB files.
./dtb/tegra124-ardbeg.dtb
The DTB files specific to various board types.
./dtc
The device-tree-compiler binary.
./zImage
A kernel binary image.
./LICENSE
A license file for “GNU GENERAL PUBLIC LICENSE”.
./LICENSE.dtc
A license file for “GNU GENERAL PUBLIC LICENSE” for the ‘device-tree-compiler’ binary.
./kernel_supplements.tbz2
Loadable kernel modules specific to the included kernel zImage built with the defconfig enabled for the device.
./vmlinux.uimg
A u-boot kernel binary image.
Boot Loader
This section describes the files provided in the ./bootloader directory.
Filename
Description
./mkbootimg
A tool used for img creation.
./nvflash
The NVIDIA flashing tool.
./LICENSE.mkbootimg_and_mkubootscript
A license file for the mkbootimg and mkbootscript tools.
./LICENSE.mkgpt
A license file for the mkgpt tool.
LICENSE.u-boot_and_mkimage
A license file for u-boot and the mkimage tool.
./mkgpt
A tool which encodes both primary and secondary GPT into flashable binary image files.
./mkimage
A u-boot tool for vmlinux.uimg creation.
./mkubootscript
A tool for flashing u-boot.
./ardbeg
< board> specifies the development system, ardbeg for Tegra K1 32 Bit (T12x) devices.
./ardbeg/fastboot.bin
The Fastboot-versioned boot loader binary file.
./ardbeg/<platform >_extlinux.conf.emmc
The config file for U-Boot for booting off the internal EMMC.
./ardbeg/<platform>_extlinux.conf.nfs
The config file for U-Boot for booting off the nfs root.
./ardbeg/<platform>_extlinux.conf.sdcard
The config file for U-Boot for booting off the SD card.
./ardbeg/<platform>_extlinux.conf.usb
The config file for U-Boot for booting off USB flash storage device.
./ardbeg/u-boot.bin
The u-boot binary image.
./ardbeg/BCT
Platform-specific BCT directory.
./ardbeg/BCT/PM375_Hynix_2GB_H5TC4G63AFR_RDA_792MHz.cfg
BCT for Jetson TK1.
./<platform>/BCT/PM375_Hynix_2GB_H5TC4G63AFR_RDA_924MHz.cfg
BCT for Jetson TK1.
./ardbeg/cfg
Platform-specific CFG directory.
./ardbeg/cfg/gnu_linux_fastboot_emmc_full.cfg
Platform-specific CFG file.
NV Tegra
This section describes the major components included in the ./nv_tegra directory.
Filename
Description
./config.tbz2
Configuration files specific to the sample filesystem.
./LICENSE
Tegra software license.
./LICENSE.brcm_patchram_plus
A license file for the brcm_patchram_plus binary included in nvidia_drivers.tbz2.
./nvidia_drivers.tbz2
NVIDIA driver components
./nv_sample_apps
Directory containing NVIDIA sample applications.
./nv_sample_apps/LICENSE
Tegra software license for files included in the nv_sample_apps directory.
./nv_sample_apps/LICENSE.gst-openmax
License file for libgstomx.so and libgstnvxvimagesink.so included in nvgstapps.tbz2.
./nv_sample_apps/nvgstapps.tbz2
NVIDIA gstreamer components and applications.
./nv_sample_apps/nvgstcapture-<version>_README.txt
Instructions on how to run the nvgstcapture application.
./nv_sample_apps/nvgstplayer-<version>_README.txt
Instructions on how to run the nvgstplayer application.
Nvgstapps TBZ2
This section describes the files included in the following file:
./nv_tegra/nv_sample_apps/nvgstapps.tbz2
 
Filename
Description
./usr
-
./usr/bin
-
./usr/bin/nvgstcapture-<version>
The multimedia capture camera application
./usr/bin/nvgstplayer-<version>
The multimedia video player application.
./usr/lib
-
./usr/lib/arm-linux-gnueabi[hf]
-
./usr/lib/arm-linux-gnueabi[hf]/gstreamer-<version>
-
./usr/lib/arm-linux-gnueabi[hf]/gstreamer-0.10/libgstnvvidconv.so
NVIDIA proprietary gstreamer conversion plug-in library
./usr/lib/arm-linux-gnueabi[hf]/gstreamer-<version>/libgstnvxvimagesink.so
Video sink.
./usr/lib/arm-linux-gnueabi[hf]/gstreamer-<version>/libgstomx.so
OpenMax driver.
Config TBZ2
This section describes the files included in the following file:
./nv_tegra/config.tbz2
 
Filename
Description
./etc
-
./etc/asound.conf.tegrart5639
ALSA library configuration file for RT5639.
./etc/asound.conf.tegramax98090
ALSA library configuration file for MAX98090.
./etc/enctune.conf
Default multimedia encoding parameters for NVIDIA reference platforms.
./etc/init
-
./etc/init/nv.conf
An NVIDIA-specific initialization script.
./etc/init/nvfb.conf
NVIDIA specific first-boot script.
./etc/init/nvwifibt.conf
NVIDIA bluetooth/wifi init script.
./etc/init/ttyS0.conf
An initialization script for getty on ttyS0.
./etc/modules
Lists “bluedroid” as a supporting module for Bluetooth.
./etc/nv
-
./etc/nv/nvfirstboot
Control file used for for first boot.
./etc/udev
-
./etc/udev/rules.d
-
./etc/wpa_supplicant.conf
Sample WPA supplicant.
./etc/X11
-
./etc/X11/xorg.conf.jetson-tk1
The xorg configuration file.
./etc/sysctl.d
-
./etc/sysctl.d/90-tegra-settings.conf
Control file for sysrq.
NVIDIA Drivers TBZ2
This section describes the files included in the following file:
./nv_tegra/nvidia_drivers.tbz2
 
Filename
Description
./etc
-
./etc/ld.so.conf.d
-
./etc/ld.so.conf.d/nvidia-tegra.conf
Ldconf file for tegra directories.
./etc/nv_tegra_release
The tegra driver versioning file.
./lib
-
./lib/firmware
-
./lib/firmware/tegra12x
Directory included only on jetson-tk1 and other Tegra K1 32 bit (T12x) devices.
./lib/firmware/tegra12x/nvhost_msenc031.fw
Tegra K1-specific nvhost firwmware file for msenc.
./lib/firmware/tegra12x/nvhost_tsec.fw
nvhost firmware file for tsec.
./lib/firmware/tegra12x/fecs.bin
GPU FECS firmware.
./lib/firmware/tegra12x/gpccs.bin
GPU GPCCS firmware.
./lib/firmware/tegra12x/gpmu_ucode.bin
GPU PMU ucode firmware
./lib/firmware/tegra12x/NETB_img.bin
GPU device hardware description.
./lib/firmware/tegra12x/vic03_ucode.bin
VIC ucode binary (VIC for pre or post processing.)
./lib/firmware/tegra_xusb_firmware
Firmware file for XUSB.
./lib/firmware/nvavp_os_*.bin
NVIDIA AVP Kernel firmware.
Restricted codec:
./lib/firmware/nvavp_vid_ucode_alt.bin
NVIDIA video decoders.
./lib/modules
-
./usr
-
./usr/bin
-
./usr/bin/nvidia-bug-report-tegra.sh
NVIDIA bug reporting script (run for usage)
./usr/lib
-
./usr/lib/arm-linux-gnueabi[hf]
-
./usr/lib/arm-linux-gnueabi[hf]/tegra
-
./usr/lib/arm-linux-gnueabi[hf]/tegra/libcuda.so.1.1
CUDA library
./usr/lib/arm-linux-gnueabi[hf]/tegra/libGL.so.1
GL graphics support library
usr/lib/arm-linux-gnueabi[hf]/tegra-egl
-
usr/lib/arm-linux-gnueabi[hf]/tegra-egl/ld.so.conf
Ldconf file for tegra-egl directories.
./usr/lib/arm-linux-gnueabi[hf]/tegra-egl/libEGL.so.1
OpenGL ES driver file.
./usr/lib/arm-linux-gnueabi[hf]/tegra-egl/libGLESv1_CM.so.1
OpenGL ES driver file.
./usr/lib/arm-linux-gnueabi[hf]/tegra-egl/libGLESv2.so.2
OpenGL ES driver file.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libjpeg.so
Accelerated libjepeg library for Tegra.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvapputil.so
Host (x86) shared object for application utilities.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvavp.so
User-space interface to the AVP for audio/video acceleration via the nvavp kernel driver.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvdc.so
DC driver file.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvddk_vic.so
DDK VIC.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvfusebypass.so
NVIDIA fuse bypass.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-eglcore.so.19.3
EGL core library.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-glcore.so.19.3
OpenGL core library. This library is implicitly used by libGL and by libglx, and contains the core accelerated 3D functionality.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-glsi.so.19.3
OpenGL System Interaction library.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-rmapi-tegra.so.19.3
A utility library that implements common code to use the kernel-level graphics drivers on Tegra.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvidia-tls.so.19.3
NVIDIA tls libraries.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_camera.so
Multimedia camera driver file.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_contentpipe.so
Content pipe implementation (file source abstraction).
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite_audio.so
NVIDIA Multimedia audio driver.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite_image.so
NVIDIA Multimedia image driver.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite.so
NVIDIA Multimedia driver.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite_utils.so
NVIDIA Multimedia utilities.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmmlite_video.so
NVIDIA Multimedia video driver.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_parser.so
Parser.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm.so
NVIDIA Multimedia Framework.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_utils.so
Multimedia Framework utilities.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvmm_writer.so
3GP writer block on CPU.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvodm_imager.so
Tegra development platform ODM adaptation for imager.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvodm_query.so
ODM Query interface.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvomxilclient.so
OpenMAX IL client.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvomx.so
OpenMAX IL implementation.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvos.so
NVIDIA OS abstraction library.
/usr/lib/arm-linux-gnueabi[hf]/tegra/libnvparser.so
Parser used for NVIDIA NvMMlite.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvrm_graphics.so
Resource Manager (NvRM) graphics host, AVP communication library, and graphics drivers.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvrm.so
Resource Manager kernel interface.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvsm.so
NVIDIA shader manager library.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvtestio.so
Target (ARM) shared object for test I/O utilities.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvtestresults.so
Test results shared object.
./usr/lib/arm-linux-gnueabi[hf]/tegra/tegra/libnvtnr.so
Temporal Noise Reduction (TNR) interface.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvtvmr.so
Multimedia Tegra video mixer/renderer.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libnvwinsys.so
Winsys library.
./usr/lib/arm-linux-gnueabi[hf]/tegra/libtegrav4l2.so
V4L2 driver for Tegra.
./usr/lib/xorg
-
./usr/lib/xorg/modules
-
./usr/lib/xorg/modules/drivers
-
./usr/lib/xorg/modules/drivers/nvidia_drv.so
Tegra X driver.
./usr/lib/xorg/modules/extensions
-
./usr/lib/xorg/modules/extensions/libglx.so
A GLX extension module for X. This module is used by the X server to provide server-side GLX support.
./usr/bin
-