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.cfg
defines 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
./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
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.