Generating Flashing Binaries Offline

Use the create_bsp_images.py script to generate flashing binaries offline when the target is not connected to the host using create_bsp tools. Flashing binaries are pre-processed binaries used by the update_sample update tool.

The create_bsp tool create_bsp_images.py requires bootburn_lib.py and bootburn helper files for execution. The script uses default paths as in bootburn for the target. Depending on the configuration file, it processes raw binaries for flashing; including adding and signing headers. The create_bsp_images.py image invokes tools such as nvimagegen, nvtegrabct_v2 internally, similar to bootburn.py, to process binaries.

The create_bsp_images.py script is available at:

<top>/drive-foundation/tools/flashtools/bootburn

Prerequisites

To enable bootburn tracing support, execute the command:

sudo apt-get install -f lockfile-progs

create_bsp_images.py Command Line Options

The table below shows the parameter list for create_bsp_images.py.

Options Description
-B <boot_device> Specify the boot-device. Supported boot devices are qspi and emmc. Default is qspi.
-C Selects debug binaries for boot loaders.
-D Enables debug prints from flashing script.
-E Specifies ECC-enabled binaries for Native Only
-M Specifies development version firmware for non-production board.
-X Enables the golden register address. Value dumps into the GR memory carveout.
-Y Specifies the dt-overlay odm-data parameter.
-b <board_name>

Specifies the board name:

  • p3710-10-a01
  • p3710-10-a01-f1
  • p3663-a01
  • p3663-a01-f1
  • p4024-a00-a
  • p4024-a00-a-f1
  • p4024-a00-b
  • p4024-a00-b-f1
-c Selects a safety profile: SCE with safety firmware, or APE with camera.
-d <partition_name> <filename>

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. Does not flash.
-h Provides help on options for the create_bsp_images tool.
-k

Specifies the absolute path of the configuration file to be used.

If used with Hypervisor, the configuration file must have been created from bind_partitions and be located in the hypervisor output directory.

  • The default value for DRIVE OS Linux: quickboot_qspi_linux.cfg
  • The default value for DRIVE OS QNX: Quickboot_qspi_qnx.cfg

-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.
--encryption_key Takes as parameter the full file path and name. Secure boot encryption key. Can be used with bootburn.sh and create_bsp_images.sh.
--hsm <key_string>

Can be used with bootburn.sh and create_bsp_images.sh. Tells Bootburn what keys will be used in HSM mode. Key String is Key + Encrypt Keys. Key is rsa|eddsa. Encrypt Keys are sbk or kek0. Examples:

--hsm rsa

--hsm rsa+sbk

--

--hsm eddsa

--hsm eddsa+sbk

--hsm sbk

-r

Specifies the chip revision. Supported values are:

  • 01
  • 02

This option must be used with the -b option.

-s

(Lower case s)

Skips creating the file system.
--asymmetric Used to generate images for native chain in asymmetric mode.
--customer-data Specified customer data such as skuinfo and others to be updated during flashing.
--chain [A|B|C]

For use by DRIVE Update to generate update packages.

encrypt Used to encrypt binaries
init_persistent_partition

If a partition has the attribute

ispersistent=yes

Then the partition has a initialization file created

merge_chains This is an option to be used with asymmetric boot chains for manufacturing