I’m building an embedded linux system based on Jetson TX2 and Yocto, and am using Mender as OTA update solution. I’m currently facing issues with units occasionally failing updates and have traced back the issue to
nvbootctrl get-current-slot returning what seems to be the wrong slot.
On correctly functioning units, the partition layout is as follows:
Every now and then,
nvbootctrl get-current-slot seems to get this mapping exactly the other way round. On units which run on
/dev/mmcblk0p1 (as reported by
findmnt /) it reports “Slot 1” and vice versa.
As this is different to what the Mender update client expects, Mender rolls back the update.
- How does
nvbootctrldetermine the current slot?
- Where is the mapping between the partitions and the boot slots defined? I read the relevant parts in the documentation, but it seems quite sophisticated and doesn’t mention any partition numbers. I didn’t yet grok how this all works together.
I’m using L4T 32.3.1.
Thanks in advance,