Nx update cboot

Hi NV people

i have a question for update cboot.
i have two board one is nx EVB other one is nx carried board

i can use command to update cboot on nx_sd_module
sudo ./flash.sh -k cpu-bootloader --image ./bootloader/lk.bin jetson-xavier-nx-devkit mmcblk0p1

but i can’t use same command to update cboot on nx_emmc_module.
sudo ./flash.sh -k cpu-bootloader --image ./bootloader/lk.bin jetson-xavier-nx-devkit-emmc mmcblk0p1

could you tell me why???

What error do you see and which release version are you using?

Hi
thanks for your reply
i use 32.5 cboot from jetson download center.

my test step is

  1. use normal command to flash emmc and boot up
  2. build cboot (only add message)
  3. copy lk.bin to jeyson folder.
  4. use sudo ./flash.sh -k cpu-bootloader --image ./bootloader/lk.bin jetson-xavier-nx-devkit-emmc mmcblk0p1

the flash message show success but i can’t see my debug message on console.

Which “jetson folder” do you put the lk.bin to?

put lk.bin into JetPack_4.4_DP_Linux_DP_JETSON_XAVIER_NX/Linux_for_Tegra/bootloader

nx_sd and nx_emmc is use same method to update cboot ??

You mean modified the lk.bin to cboot_t194.bin and run the command?

If so, then it looks correct. What log do you add? Maybe it is just not get printed on emmc module?

BTW, could you use jp4.5.1? 4.4DP is just developer preview.

Hi WayneWWW

i update jetpack4.5.1 and test pass.

i have other question for qspi.
how did i update cboot or qspi flash in nx system ?

You can check the flash.xml in your Linux_for_Tegra/bootloader. Some partitions are on qspi while others are on emmc. When doing full flash, both devices will be updated.

Hi WayneWWW

thanks for your reply.
when i boot up , can you update qspi or cboot on NX ?
do you have command or script can update cboot or qspi flash on nx system?

If you want to upgrade cboot on directly on device, you can refer to the BUP updater.

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/bootloader_update.html#

Hi WayneWWW

if i get a new production module how could i only update qspi flash?
i think qspi flash is empty.

this command can update all qspi flash?
sudo ./flash.sh -k cpu-bootloader --image ./bootloader/lk.bin jetson-xavier-nx-devkit-emmc mmcblk0p1

if not , how could i use command to update all qspi flash?

QSPI has lots of partitions on it and each of partition has different content.

Your comment only has one partition which contains the cboot. Thus, it does not flash every partition over the qspi.

To flash the qspi, you can use this command.

sudo ./flash.sh p3509-0000+p3668-0000-qspi mmcblk0p1.

Actually, we just change the board config we are using here. This board config is p3509-0000+p3668-0000-qspi.conf under your L4T package.

Hi WayneWWW

thanks for your reply.
what different about p3509-0000+p3668-0000-qsp and jetson-xavier-nx-devkit-qspi ???

i also can use sudo ./flash.sh jetson-xavier-nx-devkit-qspi mmcblk0p1
to flash spi.

which is correct ?

You can just use “ls” command under your Linux_for_Tegra to check what are those conf files doing.

Some config files are just symbolic link.

Hi wayneWWW

i have a problem with flash command.
my nx is emmc version jetpack is 4.5.1

the test step as below:

  1. sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1

after boot up i use flash qspi command in same jetpack

  1. sudo ./flash.sh jetson-xavier-nx-devkit-qspi mmcblk0p1

after step 2 i can’t boot up my device

the log is as below

[0001.962] I> Hit any key to stop autoboot:     4       3       2       1
[0003.969] initializing target
[0003.969] calling apps_init()
[0003.970] starting app kernel_boot_app
[0003.980] I> found decompressor handler: lz4-legacy
[0003.981] I> decompressing BMP blob ...
[0003.992] I> Kernel type = Normal
[0003.992] I> Loading kernel-bootctrl from partition
[0003.993] E> Cannot find partition kernel-bootctrl
[0003.993] E> Cannot open partition kernel-bootctrl
[0003.993] W> tegrabl_get_kernel_bootctrl: failed to read primary bootctrl data
[0003.994] I> Loading kernel-bootctrl_b from partition
[0003.996] E> Cannot find partition kernel-bootctrl_b
[0004.001] E> Cannot open partition kernel-bootctrl_b
[0004.006] W> tegrabl_get_kernel_bootctrl: failed to read recovery bootctrl data
[0004.013] W> tegrabl_get_kernel_bootctrl: use default dummy boot control data
[0004.020] I> ########## SD (0) boot ##########
[0004.024] W> Error: failed to get sd-card params
[0004.029] I> -0 params source = 
[0004.032] W> Failed to initialize device 6-0
[0004.036] E> SD boot failed, err: 252641293
[0004.040] I> ########## USB (0) boot ##########
[0004.049] W> No valid slot number is found in scratch register
[0004.050] W> Return default slot: _a
[0004.061] I> USB Firmware Version: 60.06 release
[0004.116] I> regulator of usb2-0 already enabled
[0004.121] I> regulator of usb2-1 already enabled
[0004.126] I> regulator of usb2-2 already enabled
[0005.193] I> USB 2.0 port 2 new high-speed USB device detected
[0005.195] W> WARNING: event and command not matching, cmd_trb_ptr = 0xa9ad0000, cmd_ring.dma = 0xa9ad0040
[0005.295] I> Start to enumerate device
[0005.297] W> WARNING: event and command not matching, cmd_trb_ptr = 0xa9ad0000, cmd_ring.dma = 0xa9ad0040
[0005.301] I> 
[0005.302] I> Enumerated USB Device 0451:8442
[0005.302] I> 
[0005.303] I> Hub:
[0005.303] I>   Downstream ports        : 6
[0005.304] I>   Power switching         : Ganged
[0005.304] I>   Compound device         : No
[0005.304] I>   Over-current protection : Global
[0005.308] I>   Hub avg delay           : 4 ns
[0005.312] I> Set interface = 1 (alt setting)
[0005.318] I> Enable hub ports
[0005.331] I> Device detected on port 5
[0006.355] I> Reset port 5
[0006.410] W> WARNING: event and command not matching, cmd_trb_ptr = 0xa9ad0000, cmd_ring.dma = 0xa9ad0040
[0006.511] I> Start to enumerate device
[0006.512] W> WARNING: event and command not matching, cmd_trb_ptr = 0xa9ad0000, cmd_ring.dma = 0xa9ad0040
[0006.516] I> This device is non-MSD, skip enumeration
[0006.516] E> failed to start xhci controller
[0006.517] E> Error in init of XUSB host driver, err: 7979000d
[0006.517] W> Failed to initialize device 5-0
[0006.518] E> USB boot failed, err: 2037973005
[0006.522] I> ########## Fixed st���
[0000.024] W> RATCHET: MB1 binary ratchet value 4 is too large than ratchet level 2 from HW fuses.
[0000.033] I> MB1 (prd-version: 1.5.1.6-t194-41334769-1740dd39)
[0000.038] I> Boot-mode: Coldboot
[0000.041] I> Chip revision : A02P
[0000.044] I> Bootrom patch version : 15 (correctly patched)
[0000.049] I> ATE fuse revision : 0x200
[0000.053] I> Ram repair fuse : 0x0
[0000.056] I> Ram Code : 0x0
[0000.058] I> rst_source : 0xb
[0000.061] I> rst_level : 0x1
[0000.065] I> Boot-device: QSPI
[0000.067] I> Qspi flash params source = brbct
[0000.071] I> Qspi using bpmp-dma
[0000.074] I> Qspi clock source : pllp
[0000.078] I> QSPI Flash Size = 32 MB
[0000.081] I> Qspi initialized successfully
[0000.085] W> No valid slot number is found in scratch register
[0000.091] W> Return default slot: _a
[0000.094] I> Active Boot chain : 0
[0000.097] I> Boot-device: QSPI
[0000.100] I> Qspi flash params source = brbct
[0000.106] W> MB1_PLATFORM_CONFIG: device prod data is empty in MB1 BCT.
[0000.112] I> Temperature = 83500
[0000.115] W> Skipping boost for clk: BPMP_CPU_NIC
[0000.119] W> Skipping boost for clk: BPMP_APB
[0000.123] W> Skipping boost for clk: AXI_CBB
[0000.127] W> Skipping boost for clk: AON_CPU_NIC
[0000.132] W> Skipping boost for clk: CAN1
[0000.135] W> Skipping boost for clk: CAN2
[0000.139] I> Boot-device: QSPI
[0000.142] I> Boot-device: QSPI
[0000.145] I> Qspi flash params source = mb1bct
[0000.149] I> Qspi using bpmp-dma
[0000.152] I> Qspi clock source : pllc_out0
[0000.156] I> Qspi reinitialized
[0000.159] I> Qspi flash params source = mb1bct
[0000.164] I> ECC region[0]: Start:0x0, End:0x0
[0000.168] I> ECC region[1]: Start:0x0, End:0x0
[0000.173] I> ECC region[2]: Start:0x0, End:0x0
[0000.177] I> ECC region[3]: Start:0x0, End:0x0

what’s wrong for my device??
after step 1 i can boot up

Please file a new topic and tag me. Your latest issue seems not a pure cboot issue.