Flashing Customization

This section provides guidance on customizing flashing.

  • Bootburn
  • Kernel
  • Prebuilt binaries
  • Offline binaries

Select Boot Chain Platform Configuration

Within the board support package (BSP) with Virtualization support the top-level configuration file global_storage.cfgdefines the sub configuration file used to create the target BSP. Currently, this defaults to boot_chain_storage.cfg. As an example, if you run the bind command:

Usage

./make/bind_partitions [options] [pct name] [make target]

Required Options

BOARD=p3710-10-s05
OS=qnx

Options

List of all options:
./make/bind_partitions [options] [pct name] [make target]

This wrapper script calls boot_blob.mk.

Short Code Long Name Description
-b --board Specifies the board variant.
-c --chip_variant Specifies the chip variant.
-d --gos_dtb Builds GOS device tree blobs.
-e --cpu_type Type of CPU to spoof.
-f --tos_flavor TOS type (tzvault or other variant).
-g --bpmp_dtb Builds BPMP device tree blobs.
-h --help Shows this help message.
-i --ssv_test Virtualization test variant.
-n --nfs_boot Boots up Linux Guest OS mouning rootfs through NFS with specify Ethernet interface.
-p --pct_variant Select specify PCT variant profile file in DRIVE AV/DRIVE_IX profile.
-r --storage_size Type of storage config to use (32gb, 64gb, no_ufs).
-s --soc_id Specifies SOC ID in GOS device tree and rebuilds GOS device tree.
-t --tos_target Specifies the TOS target.
-u --ndas_usecase Specifes the NDAS enable or EcoSystem/General usecases.
-v --verbose Verbose output.
-w --power_profile Specifies the power profile.
-x --chain_a Specifies chain-A config file.
-y --chain_b Specifies chain-B config file.
-z --fskp_fuse_burning Enables fskp partition in Linux configuration for fuse burning.
N/A --oot_kernel Builds DTB for OOT kernel.
N/A --scl_arg Specifies argument for SCL components.

[pct name]: Specifies the PCT name to use.

[make target]: make target.

Examples

if [[ "$QNX_PDK" == "qnx-safety" ]]; then
echo " BINDING SAFETY ... "
sleep 5
cd $LOCAL_PDK/drive-foundation-safety
./make/bind_partitions -b $BOARD -p prod_debug_extra qnx clean
./make/bind_partitions -b $BOARD -p prod_debug_extra qnx -d -g ENABLE_NATIVE_DP_SST_SAFETY=1 C2C_OPTION=rp_only -s 1
#./make/bind_partitions -b $BOARD_ID -p prod_debug_extra qnx -d -g ENABLE_NATIVE_DP_SST_SAFETY=1 C2C_OPTION=ep_only -s 2

#DISP_SER_MODULE=MAX96776 (Samsung 4k) OR MAX96745 || ENABLE_NATIVE_DP_SST_SAFETY=1
else
echo " BINDING STANDARD ... "
cd $LOCAL_PDK/drive-foundation
./make/bind_partitions -b $BOARD_ID qnx clean
./make/bind_partitions -b $BOARD_ID qnx -d -g -s 1
fi
Note: Current bind_partition CMD already used in NVIDIA DRIVE OS 6.0 PDK documentation. For more information, refer to the Bind Options chapter under AV PCT Configuration.

The resulting boot chains are:

[partition]
name=A_qspi_chain
allocation_policy=sequential
filesystem_type=basic
size=0x840000
partition_attribute=0x40000002
virtual_storage_ivc_ch=0x83802762
sub_cfg_file=boot_chain_storage.cfg
[partition]
name=B_qspi_chain
allocation_policy=sequential
filesystem_type=basic
size=0x840000
partition_attribute=0x40000002
virtual_storage_ivc_ch=0x83802863
sub_cfg_file=boot_chain_storage.cfg

The virtual_storage_ivc_ch depends on the VSC server and may be different than above. If you would like to use a custom sub config file for the platform rather than the default boot_chain_storage.cfg for either chain A or chain B, then replace cfg file path of sub_cfg_file=boot_chain_storage.cfg in global_storage.cfg file to your config file and run the bind command again. For instance, edit to sub_cfg_file=/tmp/myconfig.cfg under name=A_qspi_chain partition and execute the bind command.

The resulting configuration is:

[partition]
name=A_qspi_chain
allocation_policy=sequential
filesystem_type=basic
size=0x840000
partition_attribute=0x40000002
virtual_storage_ivc_ch=0x83802762
sub_cfg_file=/tmp/myconfig.cfg
[partition]
name=B_qspi_chain
allocation_policy=sequential
filesystem_type=basic
size=0x840000
partition_attribute=0x40000002
virtual_storage_ivc_ch=0x83802863
sub_cfg_file=boot_chain_storage.cfg
       

Use an absolute path to the configuration file if it does not reside in the virtualization folder for the given target and platform. The file is not checked to be valid or that the path exists. If the path is invalid, an error is thrown during the flashing process.