Hello,
I am using TX2 R28.3
I have trouble using BUP to update my TX2
The reason why I use this is because I need to change device tree without flashing it,
and i find out that BUP can write dtb partition.
I have followed the “Generating the Bootloader Payload Update” section in documents and have create a BUP file through the command below:
sudo FAB=D00 BOARDID=3310 FUSELEVEL=fuselevel_production ./build_l4t_bup.sh jetson-tx2 mmcblk0p1
Now I have 2 TX2.
One can use nv_update_engine just fine like the log below:
Nvidia A/B-Redundancy Update tool Version 1.1.02
current slot 0
Start updating slot 1
Tegra User Block Device: /dev/disk/by-partlabel
Tegra Boot Block Device: /dev/mmcblk0boot0
HEADER: MAGIC NVIDIA__BLOB__V2
HEX_VALUE 131072
BLOB_SIZE 4624352
HEADER_SIZE 48
NUMBER_OF_ELEMENTS 16
HEADER_TYPE 0
UNCOMP_SIZE 4624352
MB1_RATCHET_LV 0
MTS_RATCHET_LV 0
ROLLBACK_FUSE_LV 0
Device TN Spec: 3310-D00-1-0-jetson-tx2-mmcblk0p1
Device is fused board.
ENTRY_TABLE:
PART POS LEN VER TNSPEC TYPE UPDATABLE
bpmp-fw 1968 533056 2 1 1
sce-fw 535024 76992 2 1 1
cpu-bootloader 612016 294832 2 1 1
mb2 906848 104256 2 0 1
spe-fw 1011104 81936 2 0 1
secure-os 1093040 63088 2 1 1
kernel 1156128 428432 2 1 1
mb1 1584560 99504 2 2 1
mts-bootpack 1684064 2082144 2 1 1
mts-preboot 3766208 63104 2 0 1
sc7 3829312 22576 2 1 1
BCT 3851888 3584 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 2 1
MB1_BCT 3855472 50080 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 0 1
bpmp-fw-dtb 3905552 466160 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 1 1
bootloader-dtb 4371712 126320 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 1 1
kernel-dtb 4498032 126320 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 1 1
Writing 533056 bytes to /dev/disk/by-partlabel/bpmp-fw_b for bpmp-fw
Writing 76992 bytes to /dev/disk/by-partlabel/sce-fw_b for sce-fw
Writing 294832 bytes to /dev/disk/by-partlabel/cpu-bootloader_b for cpu-bootloader
mb2 write: slot = 1 offset = 1253888 bytes = 104256
spe-fw write: slot = 1 offset = 860672 bytes = 81936
Writing 63088 bytes to /dev/disk/by-partlabel/secure-os_b for secure-os
Writing 428432 bytes to /dev/disk/by-partlabel/kernel_b for kernel
Writing 2082144 bytes to /dev/disk/by-partlabel/mts-bootpack_b for mts-bootpack
mts-preboot write: slot = 1 offset = 1778176 bytes = 63104
Writing 22576 bytes to /dev/disk/by-partlabel/sc7_b for sc7
MB1_BCT write: slot = 1 offset = 622592 bytes = 50080
Writing 466160 bytes to /dev/disk/by-partlabel/bpmp-fw-dtb_b for bpmp-fw-dtb
Writing 126320 bytes to /dev/disk/by-partlabel/bootloader-dtb_b for bootloader-dtb
Writing 126320 bytes to /dev/disk/by-partlabel/kernel-dtb_b for kernel-dtb
Update successful
Setting slot 1 as active boot slot
Rebooting system…10.9.8.7.6.5.4.3.2.1
But another one showed error message below:
Nvidia A/B-Redundancy Update tool Version 1.1.02
current slot 0
Start updating slot 1
Tegra User Block Device: /dev/disk/by-partlabel
Tegra Boot Block Device: /dev/mmcblk0boot0
HEADER: MAGIC NVIDIA__BLOB__V2
HEX_VALUE 131072
BLOB_SIZE 4624352
HEADER_SIZE 48
NUMBER_OF_ELEMENTS 16
HEADER_TYPE 0
UNCOMP_SIZE 4624352
MB1_RATCHET_LV 0
MTS_RATCHET_LV 0
ROLLBACK_FUSE_LV 0
Device TN Spec: 3310-B02-1-0-jetson-tx2-mmcblk0p1
Device is fused board.
ENTRY_TABLE:
PART POS LEN VER TNSPEC TYPE UPDATABLE
bpmp-fw 1968 533056 2 1 1
sce-fw 535024 76992 2 1 1
cpu-bootloader 612016 294832 2 1 1
mb2 906848 104256 2 0 1
spe-fw 1011104 81936 2 0 1
secure-os 1093040 63088 2 1 1
kernel 1156128 428432 2 1 1
mb1 1584560 99504 2 2 1
mts-bootpack 1684064 2082144 2 1 1
mts-preboot 3766208 63104 2 0 1
sc7 3829312 22576 2 1 1
BCT 3851888 3584 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 2 0
MB1_BCT 3855472 50080 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 0 0
bpmp-fw-dtb 3905552 466160 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 1 0
bootloader-dtb 4371712 126320 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 1 0
kernel-dtb 4498032 126320 2 3310-D00-1-0-jetson-tx2-mmcblk0p1 1 0
Writing 533056 bytes to /dev/disk/by-partlabel/bpmp-fw_b for bpmp-fw
Writing 76992 bytes to /dev/disk/by-partlabel/sce-fw_b for sce-fw
Writing 294832 bytes to /dev/disk/by-partlabel/cpu-bootloader_b for cpu-bootloader
mb2 write: slot = 1 offset = 1253888 bytes = 104256
spe-fw write: slot = 1 offset = 860672 bytes = 81936
Writing 63088 bytes to /dev/disk/by-partlabel/secure-os_b for secure-os
Writing 428432 bytes to /dev/disk/by-partlabel/kernel_b for kernel
Writing 2082144 bytes to /dev/disk/by-partlabel/mts-bootpack_b for mts-bootpack
mts-preboot write: slot = 1 offset = 1778176 bytes = 63104
Writing 22576 bytes to /dev/disk/by-partlabel/sc7_b for sc7
GetEntryTable failed
Fail to write Dependence partitions
Writing to partitions failed.
OTA Blob update failed. Status: 3
Slot 1 update failed
I have noticed that their Device TN Spec is different : D00 vs. B02
So here’s the question:
Q1. What does FAB id stand for?
Q2. Is there any configuration difference between different FAB id?
Another question is :
I found that build_l4t_bup.sh has a parameter “–multi-spec”.
It seems that I can combine numerous FAB id signed file into 1 BUP file.
This partially solve my problem about updating different TX2 with 1 BUP file.
But, the size of BUP file keeps growing as I keep adding signed files.
This makes it more difficult to copy form host to device
So,
Q3. Is there any way to build BUP file that can update TX2 with all kinds of FAB ID?