Change boot order on Xavier NX without FS rewrite

Hello.

The Issue is that nvme is above the internal emmc in the boot priority.

So system sometimes tried to boot from nvme, but we don’t want to boot from nvme - we use it simply as storage.

What I tried:

  1. Change boot-order in CBoot console - works fine, but only one-time;
  2. Edit bootloader/cbo.dts, compile it into .dtb and write it via:
    sudo ./flash.sh -k CPUBL-CFG jetson-xavier mmcblk0p1
    but it fails with error:
    [ 6.1848 ] Sending BCTs
    [ 6.1868 ] tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
    [ 6.1879 ] Applet version 01.00.0000
    [ 6.2595 ] Sending bct_bootrom
    [ 6.2596 ] […] 100%
    [ 6.2607 ] Sending bct_mb1
    [ 6.2657 ] […] 100%
    [ 6.2692 ] Sending bct_mem
    [ 6.3263 ] […] 100%
    [ 6.4440 ]
    Error: Return value 8
    Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
    Failed to flash/read t186ref.

Simple flashing worked fine.

Could you help me please?

Used links:

please check the cbo.dts.

https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/getting_started.html

And only flash to CPUBL-CFG partition.

Thanks for response!

I tried it with the default cbo.dts and got this eror:
[ 6.1848 ] Sending BCTs
[ 6.1868 ] tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
[ 6.1879 ] Applet version 01.00.0000
[ 6.2595 ] Sending bct_bootrom
[ 6.2596 ] […] 100%
[ 6.2607 ] Sending bct_mb1
[ 6.2657 ] […] 100%
[ 6.2692 ] Sending bct_mem
[ 6.3263 ] […] 100%
[ 6.4440 ]
Error: Return value 8
Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
Failed to flash/read t186ref.

Am I using a proper command?
sudo ./flash.sh -k CPUBL-CFG jetson-xavier mmcblk0p1

Also, I use custom dts based on xavier nx devkit, can this be the source of the problem?

No, the problem is you use the wrong board config… jetson-xavier is for AGX Xavier.

Thanks! I didn’t notice it because I flashed xavier only via sdkmanager…