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

is OTA feature available in jetson TX2 for kernel,rootfs and dtb.

i have my own compiled dtb,kernel,bootloader and rootfs…is it possible to make these file as debian package and perform OTA.

ANy help will be appreciated.

The OTA supports the kernel/dtb and bootloader. Rootfs has your own data so we won’t touch this part.

is this bootloader includes uboot also or only it updates MB1,MB2…can you clarify that?
i have to update uboot also using debian package.

nvidia-l4t-bootloader_32.4.3-20200625213407_arm64.deb

if i extarct it i am getting file ota_package in /opt directory…what these binary does?? how to update my uboot here like we did for kernel and device tree

You have to extract each deb package to understand its content.

We provide an example for kernel debian package.

If you want to create your own debian package, then you need to read some guidance from debian page.

so for kernel and device tree i am able to create debian package but for bootloader i am not able to understand what contains it have …i see only this ota_package is avilable…can you please help on this bootloader part.

Yes, the bootloader parts should be done through our tool nv_bootloader_payload_updater.

so what nv_bootloader_payload_updater. does,does it also update uboot…this i want to confirm…can ypu please check.

Yes, this updates the uboot.

but when i extract nvidia-l4t-bootloader_32.4.3-20200625213407_arm64.deb
file i dont see any uboot file is there…how i will put my own uboot file so that it will be updated?

Then please read the page I posted. The updater is taking a binary (bl_payload) as input but not bootloader components directly.

but how this bl_payload will update my own compiled uboot image on the board…that i am not able to understand…where i have to copy my own uboot during update beacuse in debian package of bootloader i am not getting any directory or file for uboot

Hi,
Can’t you see there is a section " Generating the Bootloader Payload Update (BUP)" in the document?

i am able to create debian package for kernel and device tree and i am able to update it also.

but how would i know in which partition it has written the updated kernel and device tree and when it will boot it will boot from same partition or not.

There are A and boot partition for kernel and kernel-dtb,right?so which part it will update

Hello,

It should be updated for both partition.

The boot up log from uart should tell which partition is in use.

I have TX2 with 4GB.

i am generating BUP bl_update_load for my board by below command:

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

after that i am copying it to my board in /opt/ota_package and then running

nv_update_engine --install to install.

so during installation i am getting below error.

root@localhost:/opt/ota_package# 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 5680570
HEADER_SIZE 48
NUMBER_OF_ELEMENTS 17
HEADER_TYPE 0
UNCOMP_SIZE 5680570
MB1_RATCHET_LV 0
MTS_RATCHET_LV 0
ROLLBACK_FUSE_LV 0
Device TN Spec: 3489-300-0888-H.0-1-0-jetson-tx2-4GB-mmcblk0p1
Device Compatible Spec: 3489-300—1–jetson-tx2-4GB-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

what parameter i need to pass in payload genration for TX2 4Gb module.

It should be same as what you use in “flash.sh”.

if you will see this

Device TN Spec: 3489-300-0888-H.0-1-0-jetson-tx2-4GB-mmcblk0p1

from where these “H” is coming.
in flash.sh i am using

./flash.sh jetsontx2-4Gb mmcblk0p1 only to flash the device.

can you please tell what will be the command for BUP genaration

But you used jetson-tx2 for build_l4t_bup.sh?

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

now i genarted BUP file with below command

sudo FAB=C04 BOARDID=3489 FUSELEVEL=fuselevel_production ./build_l4t_bup.sh jetson-tx2-4GB mmcblk0p1

and tried to update,getting again same error

oot@localhost:/home/ubuntu# 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 5157066
HEADER_SIZE 48
NUMBER_OF_ELEMENTS 17
HEADER_TYPE 0
UNCOMP_SIZE 5157066
MB1_RATCHET_LV 0
MTS_RATCHET_LV 0
ROLLBACK_FUSE_LV 0
Device TN Spec: 3489-300-0888-H.0-1-0-jetson-tx2-4GB-mmcblk0p1
Device Compatible Spec: 3489-300—1–jetson-tx2-4GB-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

0888 and H parameter is missing,how i can add this in BUP genration

Could you dump below info ?

cat /etc/nv_boot_control.conf