NVIDIA Tegra
NVIDIA DRIVE OS 5.1 Linux

Developer Guide
5.1.0.2 Release


 
 
Flashing Binaries: Offline Generation
 
Processed Binaries Directory Structure
Generating Binaries with an Argument File
Generating Binaries with Command Line SkuInfo
This section describes how to generate flashing binaries offline when the target is not connected to the host using create_bsp tools. Flashing binaries are pre-processed binaries that are used by the update tool (update_sample).
The create_bsp tool (create_bsp_images.sh) requires bootburn_lib.sh and bootburn helper files for its execution. This script uses default paths as in bootburn for the target. Depending on the configuration file, it processes raw binaries for flashing; this includes adding headers and signing them. The create_bsp_images.sh image invokes tools such as nvimagegen, nvtegrabct_v2 internally similar to bootburn.sh to process binaries.
The create_bsp_images.sh script is located at:
<top>/drive-t186ref-foundation/tools/host/flashtools/bootburn_t19x
create_bsp Options
The following table describes the command-line options that create_bsp_images.sh supports.
Options
Description
-A
Specifies text file containing SKUInfo arguments similar to arguments for the -z option. For more information, see SKU Framework: Customizing in System Programming.
-B <boot_device>
Specify the boot device. Supported boot devices are qspi and emmc. Default is emmc.
-C
Selects debug binaries for boot loaders.
-D
Enables debug prints from flashing script.
-E
Specifies ECC-enabled binaries.
-G
Creates Integrity images.
-H
Selects Hypervisor boot.
-L
Enables low-power state support.
-M
Specifies development version firmware for non-production board.
-a
Creates Android images.
-b <board_name>
Specifies a board name. The value for DRIVE™  Development Platform is <e3550a01-t186a | e3550a01-t186b | e3550a03-t186a | e3550a03-t186b | p2888-t194>.
-c
Selects a safety profile: SCE with safety firmware, or APE with camera.
-d <partition_name> <path>
Specifies a DTB file.
The default file is defined in the BoardSetFilePathsAndDefaultValues function in bootburn_helper.sh.
bpmp-fw-dtb and kernel-dtb may be specified simultaneously.
Note: This option is not intended to specify kernel-dtb in Hypervisor.
-g
Generates binaries at the specified path only. Does not flash.
-h
Provides guidance on options for the create_bsp_images tool.
Note: create_bsp_images.sh supports only the options described in this table.
-l
(Lower case l)
Creates Linux images.
-p <pkc_file>
Specifies RSA or ECDSA key file <pkc_file> for signing images.
-q
Creates QNX images.
-r
Specifies the chip revision. Supported values are:
• 01
• 02
This option must be used with the -b option.
The -r and -b options can be used in place of the -z option.
-s
(Lower case s)
Skips creating the file system.
-z <board_info>
(Lower-case z)
Updates SKUInfo and other-info. For more information about this option, see Bootburn Options in Flashing the Board.
Processed Binaries Directory Structure
The create_bsp tools takes the -g argument to specify the output directory path where processed binaries are generated. After execution of create_bsp tool, there is a per SKU-based directory created under the output directory.
For example, if create_bsp executed to create binaries for --skunum 699-63550-0001-300 --setskuversion BB with -g images, a sub directory is created under the output directory (images in this case) with a name generated by appending the skunum and setskuversion.
$ ls images
699-63550-0001-300_BB
Under this subdirectory, three sets of binaries are generated as flash-images: rcm-boot and rcm-flash.
These binaries are required at different phases during flashing.
$ ls images/699-63550-0001-300_BB
flash-images rcm-boot rcm-flash
flash-images
This directory contains processed binaries that are flashed on target storage medium. It also contains FileToFlash.txt, a summary file that contains information about binary names to flash at offsets for the final target flash structure.
These binaries are used for the update tool (update_sample).
rcm-boot
This directory contains binaries that are necessary to boot the target without writing binaries to the medium.
rcm-flash
This directory contains binaries similar to rcm-boot for booting the Linux kernel on initramfs without writing binaries to the medium. These binaries are generated from a set of prebuilt binaries that are used for flashing.
Generating Binaries with an Argument File
The create_bsp tool can take an argument file that it can iterate to generate all sets of flashing binaries listed in the SKU argument file. This is the default mode in the create_bsp tool. This mode must not be used with the -z option. The argument file must contain the same set of string defining target skuInfo as used with the -z as shown in bootburn help.
The follow example demonstrates using the create_bsp tool with the -A option for a DRIVE Development Platform for Xavier target:
Sample skuarguments file skuargs.txt
--skunum 699-63550-0001-300 --setskuversion BB --setboardserial 1234 --setmacid eth0 0x00044b52f69b --setprodinfo 699-63550-0001-300 JJ
--skunum 699-63550-0001-300 --setskuversion AA --setboardserial 1234 --setmacid eth0 0x00044b52f69b --setprodinfo 699-63550-0001-300 JJ
 
$ mkdir images
$ ./create_bsp_images.sh -A skuargs.txt -g ./images -b <platform>
 
Where <platform> is e3550b01-t194a for Xavier A (x1) and e3550b01-t194b for Xavier B (x2).
The processed images are generated under the images directory:
$ ls images
699-63550-0001-300_AA 699-63550-0001-300_BB
There is one output directory for each entry. The directory structure for each SKU is the same as described under Processed Binaries Directory Structure.
The images are created using the default configuration (CFG) file. For the default CFG file used by create_bsp tools, see Flashing the Board. The CFG section is the same as bootburn.
If a custom CFG file is selected using the -k option with the absolute path to the custom config file, it overrides the default CFG file.
Generating Binaries with Command Line SkuInfo
The create_bsp tool can take skuinfo from the -z command line option. Images are created based on the sku information provided on the command line. Alternatively, you can use the -r and -b options to provide the board and board revision information.
Note:
This option must not be used with -A argument file options.
Example
The following example demonstrates using the create_bsp tool with the -z option for DRIVE Development Platform for Xavier target:
$ mkdir images
$ ./create_bsp_images.sh -z "--skunum 699-63550-0001-300 --setskuversion BB --setboardserial 1234 --setmacid eth0 0x00044b52f69b --setprodinfo 699-63550-0001-300 JJ" -g images/ -b <platform>
 
Where <platform> is e3550b01-t194a for Xavier A (x1) and e3550b01-t194b for Xavier B (x2).
Processed images are generated under the images directory:
$ ls images
699-63550-0001-300_BB
The directory structure for each sku is the same as described under Processed Binaries Directory Structure.
The images are created using the default configuration (CFG) file. For the default CFG file used by create_bsp tools, see Flashing the Board. The CFG section is same as bootburn.
To override the default CFG file with a custom CFG, use the -k option to specify the absolute path to the customized config file.