SMD partition lookup for BUP version

Hi there

I’m wondering if there is a way to define the version of device BUP from the userspace

During documentation research (1) , I find out that SMD (slot metadata) partition contain some variable named “version”, which is described as “version specifies the version number of the software in the slot.”.

I’m struggling to get more info about this “version” variable, but failing in all ways. nvbootctrl doesn’t show it, running strings and digging into hexdump over /dev/mmcblk0boot1 can’t help me to get a clue.

Basically, I just need any way to understand what BUP version is flashed. My BUP is custom one, so I can’t just look into nvidia-l4t-bootloader version

(1) generic-no-api_r2

1 Like

hello mr.ivanov,

please execute l4t_generate_soc_bup.sh to create the customize BUP.

for TX2 series,
there are some partitions after the APP, such as the “mts-bootpack”. this partition’s address will be built into the MB1_BCT, and the MB1 will load it.
note, there’s an issue if you using -S command to flash the device, the APP partition’s size was changed, and then the followed “mts-bootpack” also will be changed accordingly.
in this case, you cannot create the BUP with the default setting, in other words, the address has changed. you may also use the customized BUP to update.
so, here show the roughly steps for your reference,

  1. Download the r32.6.1 BSP packages
  2. Use this package to generate the BUP, just running $ sudo ./l4t_generate_soc_bup.sh -p -S <size> t18x
  3. Copy the BUP to the target device.
  4. Run nv_update_engine to install it directly.

Hello,

Sorry, I probably didn’t explain it quite correctly so you didn’t understand me right.
I know how to generate BUP and how to flash it to the device.

I need to know is BUP blob itself is versioned or not?
If yes, where this information is stored, and how can I get it?
If no, then how can I get versions of flashed bootloader (U-boot) and DT (device tree) from userspace? What command (from Linux CLI) can show me version of device tree and U-boot?

hello mr.ivanov,

please see Bootloader Update Payload Generator session for reference,
you may create a multi-spec BUP, that’s checking TNSPEC to use the appropriate binary, which included on your target, i.e. $ cat /etc/nv_boot_control.conf

I hope you just kidding me. I mentioned exact this link in my opening post.

I own hundreds of devices. I need to know the version of U-boot and/or Device Tree (if DT is versioned) that is currently flashed on device

I don’t need to generate BUP, and I know how to do it
I don’t need to flash BUP, and I know how to do it

I just need to know the CLI command which shows me one of the following things:

  • Version of BUP (if BUP is versioned somehow) OR
  • Version of U-Boot OR
  • Version of DT (if device tree is versioned somehow)
1 Like

hello mr.ivanov,

you don’t need to check currently flashed device version if you’re creating a multi-spec BUP.
btw, there’s no versioned device tree, and the version of u-boot is only able to check via bootloader logs.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.