"GetEntryTable failed" error during bootloader flashing

Hello

My board is Jetson TX2, flashed with Ubuntu 16.04 rootfs using Tegra186 Linux R28.2.1. rootfs is located on mmcblk0p1

I playing with bootloader a/b functionality, but looks like something goes wrong.

bl_update_payload is generated using following command:

FAB=C04 BOARDID=3310 FUSELEVEL=fuselevel_production ./build_l4t_bup.sh jetson-tx2 mmcblk0p1

nvidia_update_engine log:

Summary

root@localhost:~# nv_update_engine --install no-reboot
Nvidia A/B-Redundancy Update tool Version 1.1
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 4964736
HEADER_SIZE 48
NUMBER_OF_ELEMENTS 16
HEADER_TYPE 0
UNCOMP_SIZE 4964736
MB1_RATCHET_LV 0
MTS_RATCHET_LV 0
ROLLBACK_FUSE_LV 0
Device TN Spec: 3310-B02-fuselevel_production
Device is fused board.
ENTRY_TABLE:
PART POS LEN VER TNSPEC TYPE UPDATABLE
bpmp-fw 1968 529440 2 1 1
sce-fw 531408 76992 2 1 1
cpu-bootloader 608400 283136 2 1 1
mb2 891536 101136 2 0 1
spe-fw 992672 81936 2 0 1
secure-os 1074608 62976 2 1 1
kernel 1137584 491920 2 1 1
mb1 1629504 94736 2 2 1
mts-bootpack 1724240 2076832 2 1 1
mts-preboot 3801072 63024 2 0 1
sc7 3864096 21552 2 1 1
BCT 3885648 3584 2 3310-C04-fuselevel_production 2 0
MB1_BCT 3889232 50016 2 3310-C04-fuselevel_production 0 0
bpmp-fw-dtb 3939248 466160 2 3310-C04-fuselevel_production 1 0
bootloader-dtb 4405408 279664 2 3310-C04-fuselevel_production 1 0
kernel-dtb 4685072 279664 2 3310-C04-fuselevel_production 1 0
Writing 529440 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 283136 bytes to /dev/disk/by-partlabel/cpu-bootloader_b for cpu-bootloader
mb2 write: slot = 1 offset = 1212416 bytes = 101136
spe-fw write: slot = 1 offset = 819200 bytes = 81936
Writing 62976 bytes to /dev/disk/by-partlabel/secure-os_b for secure-os
Writing 491920 bytes to /dev/disk/by-partlabel/kernel_b for kernel
Writing 2076832 bytes to /dev/disk/by-partlabel/mts-bootpack_b for mts-bootpack
mts-preboot write: slot = 1 offset = 1736704 bytes = 63024
Writing 21552 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
root@localhost:~#

Am I do something incorrectly? Thanks

hello mr.ivanov,

there’s known issue to enable A/B redundancy,
please moving your software release to r32.3.1 or the latest JetPack release, i.e. r32.4.3 to include the fixes.
thanks

Thank you!

I tried again with r32.3.1 and Ubuntu 18.04.5 (Ubuntu 16.04 is not supported via this version of JetPack - nvidia l4t packages depends on packages that exists only in 18.04).

But now I faced with another issue:

Summary

root@localhost:~# nv_update_engine --install
Nvidia A/B-Redundancy Update tool Version 1.2
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 5679498
HEADER_SIZE 48
NUMBER_OF_ELEMENTS 17
HEADER_TYPE 0
UNCOMP_SIZE 5679498
MB1_RATCHET_LV 0
MTS_RATCHET_LV 0
ROLLBACK_FUSE_LV 0
config COMPATIBLE_SPEC not found in /etc/nv_boot_control.conf
Device TN Spec: 3310-B02-1000-C.0-1-0-jetson-tx2-mmcblk0p1
Can’t find matching TN Spec in OTA Blob!
OTA Blob update failed. Status: 3
/usr/sbin/nv_bootloader_payload_updater --no-dependent-partition failed.
Slot 1 update failed

Content of /etc/nv_boot_control.conf

TNSPEC 3310-B02-1000-C.0-1-0-jetson-tx2-mmcblk0p1
TEGRA_CHIPID 0x18
TEGRA_OTA_BOOT_DEVICE /dev/mmcblk0boot0
TEGRA_OTA_GPT_DEVICE /dev/mmcblk0boot1

bl_update_payload is generated with same command as in my first messae

I tried to open bl_update_payload with xxd to find correct TNSPEC, and find out this line: “3310-C04—1-0-jetson-tx2-mmcblk0p1”. Looks different than the line from nv_boot_control.conf

There is any documentation regarding TNSPEC? If I want to keep the rootfs on /dev/sda1 and use a/b bootloader updates, should I change mmcblk0p1 in TNSPEC?