OTA upgrade avilable for kernel,rootfs dtb in jetson TX2 SDK 32.4.3

i am following below steps:

Put device into recovery mode
Run below command to generate BUP:
$ sudo FAB=300 BOARDID=3489 FUSELEVEL=fuselevel_production ./build_l4t_bup.sh jetson-tx2-4GB mmcblk0p1
Copy bl_update_payload to /opt/ota_package/
**Please make sure you are using the same image to generate BUP.
Enable A/B redundancy:
$ sudo nv_update_engine --enable-ab
Update engine:
$ sudo nv_update_engine --install

i have my own cutomzied uboot and i am saving several uboot enviornment variable there.

for uboot env variable i have made a file fw_bootenv.conf file that contains
below parameter and it loads during each boot.

/dev/mmcblk0boot1 0x3fe000 0x2000

fw_peintenv and fw_setenv using these script to set and print uboot env variables.

with these changes i am not able to update bootloader using ota package.

can you guide here

Hi,

The root cause is that u-boot env use the “dev/mmcblk0boot1 0x3fe000 0x2000”. It overwrote the end of the mmcblk0boot1 which is the GPT table for the boot device. So the updater can’t find the mb2 in the boot device and flash failed.

In our design, the UBENV is from “dev/mmcblk0boot1 0x3d8000", size is “0x8000”. This is reserved for the u-boot env. And our u-boot will check env parameters from here. This address is hardcode in u-boot.

Please check the TX2 layout in your Linux_for_Tegra/bootloader/flash.xml.

so when i see my flash.xml

sequential basic 0x7D8000 32768 0 8 0 **Required.** Reserved for U-Boot environment.

===================================
so in our fw_env .cfg script i only need to change the address from 0x3fe000 to 0x3d8000 and size from 0x2000 to 0x8000 right?
for saving uboot env variable i dont need to change anything in uboot,right?

Yes.