Jetson xavier xn stuck in boot loop after trying to initrd flash to nvme SSD

Hi, I’m trying to flash jetpack 4.6 to the Jetson Xavier-NX and have it boot from a nvme 240GB SSD using ubuntu18.04.

Have made the imaging using:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 135GiB --external-only --showlogs jetson-xavier-nx-devkit nvme0n1p1

That told me to then ‘Put device in recovery mode, run with option --flash-only to flash device.’

I then ran:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 135GiB --external-only --showlogs jetson-xavier-nx-devkit nvme0n1p1

After this finishes I try to boot the board but it gets stuck in a boot loop. I’ve attached the log. Any suggestions on what I should do?

minicom_new_SSD.cap (163.7 KB)

Hi ltidswell,

Are you using the devkit or custom board?

Why the 2 command you run to flash the board are the same?

Dose your Xavier NX could boot up w/o NMVe SSD?

1 Like

Hi KevinFFF. My mistake, I have edited the original post. The second command should have been ‘–flash-only’. It is a custom board but using the -devkit seemed to produce less errors.

The board flashes and boots when I run w/o the SSD:
sudo ./flash.sh --no-flash jetson-xavier-nx-devkit-emmc mmcblk0p1
and:
sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1

I have also tried:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 135GiB --external-only --showlogs jetson-xavier nvme0n1p1

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 135GiB --external-only --showlogs jetson-xavier nvme0n1p

which created the image but would not flash and showed:

Entering RCM boot

[ 0.0000 ] rcm boot with presigned binaries
[ 0.0000 ] Boot Rom communication
[ 0.0024 ] tegrarcm_v2 --instance 1-9 --chip 0x19 0 --rcm rcm_1_encrypt.rcm --rcm rcm_2_encrypt.rcm
[ 0.0031 ] BootRom is not running
[ 0.0126 ]
[ 1.0186 ] tegrarcm_v2 --instance 1-9 --isapplet
[ 1.0214 ] USB communication failed.Check if device is in recovery
[ 1.0555 ]
[ 1.0587 ] tegrarcm_v2 --instance 1-9 --ismb2
[ 1.0602 ] USB communication failed.Check if device is in recovery
[ 1.0788 ]
[ 1.0822 ] tegradevflash_v2 --instance 1-9 --iscpubl
[ 1.0840 ] Cannot Open USB
[ 1.1025 ]
[ 2.1096 ] tegrarcm_v2 --instance 1-9 --isapplet
[ 2.1127 ] USB communication failed.Check if device is in recovery
[ 2.1240 ]
[ 2.1265 ] tegrarcm_v2 --instance 1-9 --ismb2
[ 2.1274 ] USB communication failed.Check if device is in recovery
[ 2.1384 ]
[ 2.1408 ] tegradevflash_v2 --instance 1-9 --iscpubl
[ 2.1416 ] Cannot Open USB
[ 2.1539 ]
[ 3.1604 ] tegrarcm_v2 --instance 1-9 --isapplet
[ 3.1633 ] USB communication failed.Check if device is in recovery

I confirmed the device was in recovery mode with lsusb

Do you see 7e19 for Xavier NX after running lsusb to make sure it’s in force recovery mode before flash?
To Determine Whether the Developer Kit Is in Force Recovery Mode

From your first log (minicom_new_SSD.cap), it looks like boot up with reboot issue.
From your current flash log, it looks some flash failed issues about USB commnucation.
=> So, could you flash successfully now with the following command?
=> You should use jetson-xavier-nx-devkit as your board config if you are using Xavier NX SD module.

$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml --external-only --showlogs jetson-xavier-nx-devkit nvme0n1p1

and please also try using flash_l4t_external.xml instead of flash_l4t_nvme.xml to check if it could help.

Did you try other USB cable or port?
and are you using standalone Ubuntu18.04 as your host PC?

Yes 7e19 is present with lsusb and I have tried different USB cables and ports. I am using a stand alone Ubuntu18.04 as the host PC.

I tried running:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml --external-only --showlogs jetson-xavier-nx-devkit nvme0n1p1
and have attached the log. It still does not boot. Same outcome when I used ‘flash_l4t_external.xml’

minicom_test.cap (72.8 KB)

Does this command could flash successful?
Please aslo provide the flash log and dmesg (if you could capture it through serial console) for further check.

Did you also try the following instruction to set up an NVMe drive for Jetpack 4.6?
Flashing and Booting the Target Device - To set up an NVMe drive manually for booting

No that command does not flash successfully. Here is the log and dmesg
minicom_test2.cap (129.8 KB)

I tried following these instructions:
https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0LN0HA

But the board did not boot when the SSD was connected and powered on not in recovery mode.
Here’s the log after I changed the boot order:

########## NVME (5) boot ##########                                          
I> Initializing nvme device instance 5                                          
I> Initializing nvme controller                                                 
I> tegrabl_locate_pcie_ctrl_in_dt: found match at 0x141a0000                    
I> vpcie3v3-supply not found                                                    
I> vpcie12v-supply not found                                                    
W> Failed to get nvidia,plat-gpios                                              
I> tegrabl_pcie_soc_preinit: (5):                                               
I> Unpowergate                                                                  
I> tegrabl_car_clk_disable(5) ...                                               
I> tegrabl_car_rst_set(CORE, 5) ...                                             
I> tegrabl_car_rst_set(APB, 5) ...                                              
I> tegrabl_car_clk_enable(5) ...                                                
I> tegrabl_car_rst_clear(APB, 5) ...                                            
I> tegrabl_set_ctrl_state(5)                                                    
I> CLR PCIE_APB:6                                                               
I> tegrabl_pcie_soc_init: (5):                                                  
I> APPL initialization ...                                                      
I> poweron phys                                                                 
I> tegrabl_locate_pcie_ctrl_in_dt: found match at 0x141a0000                    
I> tegrabl_power_on_phy: power on phy @0x3eb0000                                
I> tegrabl_power_on_phy: power on phy @0x3ec0000                                
I> tegrabl_power_on_phy: power on phy @0x3ed0000                                
I> tegrabl_power_on_phy: power on phy @0x3ee0000                                
I> tegrabl_power_on_phy: power on phy @0x3ef0000                                
I> tegrabl_power_on_phy: power on phy @0x3f00000                                
I> tegrabl_power_on_phy: power on phy @0x3f10000                                
I> tegrabl_power_on_phy: power on phy @0x3f20000                                
I> PCIe controller-5 link is up                                                 
I> tegra_pcie_info[5].cfg0_base = 0x3a000000                                    
I> tegra_pcie_info[5].cfg1_base = 0x3a020000                                    
I> tegra_pcie_info[5].atu_dma_base = 0x3a040000                                 
I> tegra_pcie_bus[5].mem = 0x3a200000                                           
I> Scanning busnr: 0 devfn: 0                                                   
I> PCIe IDs: 0x1ad010de                                                         
I> PCIe RID_CC: 0x60400a1                                                       
I> Scanning busnr: 1 devfn: 0                                                   
I> PCIe IDs: 0x501915b7                                                         
I> PCIe RID_CC: 0x1080201                                                       
I> PCI Config: I/O=0x3a100000, Memory=0x3a200000                                
I> MEM64 bar_num=0 bar=0x3a200000                                               
I> MEM64 bar_num=4 bar=0x3a204000                                               
I> Number of PCIe devices detected: 2                                           
I> NVME page size: 4096                                                         
I> NVMe serial number: 221231804258                                             
I> NVMe model number: WDC WDS240G2G0C-00AJM0                                    
I> NVMe firmware revision: 231050WD                                             
I> block_count: 468862128                                                       
I> supported_lba: 0                                                             
I> block_size_log2: 0x9                                                         
I> tegrabl_create_io_queue_cmd: queue size: 2                                   
I> tegrabl_create_io_queue_cmd: queue size: 2                                   
I> nvme device id 000a0005                                                      
I> nvme-5 params source =                                                       
I> Found 1 partitions in NVME (instance 5)                                      
I> Look for boot partition                                                      
I> Fallback: assuming 0th partition is boot partition                           
I> Detect filesystem                                                            
I> Loading kernel-bootctrl from partition                                       
E> Cannot find partition kernel-bootctrl                                        
E> Cannot open partition kernel-bootctrl                                        
W> tegrabl_get_kernel_bootctrl: failed to read primary bootctrl data            
I> Loading kernel-bootctrl_b from partition                                     
E> Cannot find partition kernel-bootctrl_b                                      
E> Cannot open partition kernel-bootctrl_b                                      
W> tegrabl_get_kernel_bootctrl: failed to read recovery bootctrl data           
W> tegrabl_get_kernel_bootctrl: use default dummy boot control data             
I> Loading extlinux.conf ...                                                    
I> Loading extlinux.conf binary from rootfs ...                                 
I> rootfs path: /nvme/boot/extlinux/extlinux.conf                               
I> Loading extlinux.conf sig file from rootfs ...                               
I> rootfs path: /nvme/boot/extlinux/extlinux.conf.sig                           
I> Validate extlinux.conf ...                                                   
I> T19x: Authenticate extlinux.conf (bin_type: 54), max size 0x2000             
I> Encryption fuse is not ON                                                    
I> L4T boot options                                                             
I> [1]: "primary kernel"                                                        
I> Enter choice:                                                                
[0064.151] I> Continuing with default option: 1                                 
[0064.151] I> Loading kernel ...                                                
[0064.151] I> Loading kernel binary from rootfs ...                             
[0064.152] I> rootfs path: /nvme/boot/Image                                     
[0064.324] I> Loading kernel sig file from rootfs ...                           
[0064.324] I> rootfs path: /nvme/boot/Image.sig                                 
[0064.325] I> overload load_size to 34484232 (from 34484240)                    
[0064.325] I> Validate kernel ...                                               
[0064.326] I> T19x: Authenticate kernel (bin_type: 37), max size 0x5000000      
[0064.640] I> Encryption fuse is not ON                                         
[0064.669] I> Loading kernel-dtb ...                                            
[0064.670] I> No kernel-dtb binary path                                         
[0064.670] I> Continue to load from partition ...                               
[0064.670] W> No valid slot number is found in scratch register                 
[0064.671] W> Return default slot: _a                                           
[0064.671] I> A/B: bin_type (38) slot 0                                         
[0064.671] I> Loading kernel-dtb from partition                                 
[0064.673] E> Cannot find partition kernel-dtb                                  
[0064.677] E> Cannot open partition kernel-dtb                                  
[0064.681] E> A/B loader failure                                                
[0064.684��                                                                    
[0000.025] W> RATCHET: MB1 binary ratchet value 4 is too large than ratchet lev.
[0000.034] I> MB1 (prd-version: 1.5.1.7-t194-41334769-98030a79)                 
[0000.039] I> Boot-mode: Coldboot                                               
[0000.042] I> Chip revision : A02P                                              
[0000.045] I> Bootrom patch version : 15 (correctly patched)                    
[0000.050] I> ATE fuse revision : 0x200                                         
[0000.054] I> Ram repair fuse : 0x0                                             
[0000.057] I> Ram Code : 0x0                                                    
[0000.059] I> rst_source : 0xb                                                  
[0000.062] I> rst_level : 0x1                                                   
[0000.065] I> Boot-device: QSPI                                                 
[0000.068] I> Qspi flash params source = brbct                                  
[0000.072] I> Qspi using bpmp-dma                                               
[0000.075] I> Qspi clock source : pllp                                          
[0000.079] I> QSPI Flash Size = 32 MB                                           
[0000.082] I> Qspi initialized successfully                                     
[0000.086] W> No valid slot number is found in scratch register                 
[0000.092] W> Return default slot: _a                                           
[0000.095] I> Active Boot chain : 0                                             
[0000.098] I> Boot-device: QSPI                                                 
[0000.101] I> Qspi flash params source = brbct                                  
[0000.107] W> MB1_PLATFORM_CONFIG: device prod data is empty in MB1 BCT.        
[0000.113] I> Temperature = 37500                                               
[0000.116] W> Skipping boost for clk: BPMP_CPU_NIC                              
[0000.120] W> Skipping boost for clk: BPMP_APB                                  
[0000.124] W> Skipping boost for clk: AXI_CBB                                   
[0000.128] W> Skipping boost for clk: AON_CPU_NIC                               
[0000.132] W> Skipping boost for clk: CAN1                                      
[0000.136] W> Skipping boost for clk: CAN2                                      
[0000.140] I> Boot-device: QSPI                                                 
[0000.143] I> Boot-device: QSPI                                                 
[0000.146] I> Qspi flash params source = mb1bct                                 
[0000.150] I> Qspi using bpmp-dma                                               
[0000.153] I> Qspi clock source : pllc_out0                                     
[0000.157] I> Qspi reinitialized                                                
[0000.160] I> Qspi flash params source = mb1bct                                 
[0000.165] I> ECC region[0]: Start:0x0, End:0x0                                 
[0000.169] I> ECC region[1]: Start:0x0, End:0x0                                 
[0000.174] I> ECC region[2]: Start:0x0, End:0x0                                 
[0000.178] I> ECC region[3]: Start:0x0, End:0x0                                 
[0000.182] I> ECC region[4]: Start:0x0, End:0x0                                 
[0000.186] I> Non-ECC region[0]: Start:0x80000000, End:0x100000000              
[0000.192] I> Non-ECC region[1]: Start:0x0, End:0x0                             
[0000.196] I> Non-ECC region[2]: Start:0x0, End:0x0                             
[0000.201] I> Non-ECC region[3]: Start:0x0, End:0x0                             
[0000.205] I> Non-ECC region[4]: Start:0x0, End:0x0                             
[0000.210] E> FAILED: Thermal config                                            
[0000.218] E> FAILED: MEMIO rail config                                         
[0000.228] I> Boot-device: QSPI                                                 
[0000.231] I> Qspi flash params source = mb1bct                                 
[0000.240] I> Qspi flash params source = mb1bct                                 
[0000.251] I> Qspi flash params source = mb1bct                                 
[0000.318] I> Qspi flash params source = mb1bct                                 
[0000.327] I> Qspi flash params source = mb1bct                                 
[0000.356] I> Qspi flash params source = mb1bct                                 
[0000.367] I> MB1 done                                                          
                                                                                
����main enter                                                                  
SPE VERSION #: R01.00.14 Created: Sep 19 2018 @ 11:03:21                        
HW Function test                                                                
Start Scheduler.                                                                
in late init                                                                    
��                                                                              
  [0000.375] I> Welcome to MB2(TBoot-BPMP) (version: 00.00.2018.32-mobile-938a8)
[0000.376] I> DMA Heap @ [0x526fa000 - 0x52ffa000]                              
[0000.377] I> Default Heap @ [0xd486400 - 0xd48a400]                            
[0000.377] E> DEVICE_PROD: Invalid value data = 70020000, size = 0.             
[0000.383] W> device prod register failed                                       
[0000.387] I> Boot-device: QSPI                                                 
[0000.390] I> Boot_device: QSPI_FLASH instance: 0                               
[0000.395] I> QSPI Flash Size = 32 MB                                           
[0000.401] I> Qspi initialized successfully                                     
[0000.402] I> qspi flash-0 params source = boot args                            
[0000.725] I> sdmmc DDR50 mode                                                  
[0000.727] I> sdmmc-3 params source = safe params                               
[0000.732] I> Found 47 partitions in QSPI_FLASH (instance 0)                    
[0000.734] W> Cannot find any partition table for 00000003                      
[0000.735] W> Cannot find any partition table for 00010003                      
[0000.736] W> No valid slot number is found in scratch register                 
[0000.737] W> Return default slot: _a                                           
[0000.737] I> Active Boot chain : 0                                             
[0000.738] I> parsing oem signed section of bpmp-fw header done                 
[0000.742] I> bpmp-fw binary init read from storage                             
[0000.747] I> oem authentication of bpmp-fw header done                         
[0000.761] I> bpmp-fw binary done read from storage                             
[0000.761] I> bpmp-fw: Authentication init Done                                 
[0000.762] I> parsing oem signed section of cpubl header done                   
[0000.766] I> cpubl binary init read from storage                               
[0000.770] I> bpmp-fw: Authentication Finalize Done                             
[0000.775] I> oem authentication of cpubl header done                           
[0000.783] I> cpubl binary done read from storage                               
[0000.784] I> cpubl: Authentication init Done                                   
[0000.789] I> parsing oem signed section of rce header done                     
[0000.794] I> rce binary init read from storage                                 
[0000.798] I> Relocating BR-BCT                                                 
[0000.801] I> cpubl: Authentication Finalize Done                               
[0000.805] I> oem authentication of rce header done                             
[0000.810] I> rce binary done read from storage                                 
[0000.814] I> rce: Authentication init Done                                     
[0000.818] I> parsing oem signed section of ape header done                     
[0000.823] I> ape binary init read from storage                                 
[0000.828] I> rce: Authentication Finalize Done                                 
[0000.832] I> oem authentication of ape header done                             
[0000.837] I> ape binary done read from storage                                 
[0000.841] I> ape: Authentication init Done                                     
[0000.845] I> parsing oem signed section of tos header done                     
[0000.850] I> tos binary init read from storage                                 
[0000.854] I> ape: Authentication Finalize Done                                 
[0000.859] I> oem authentication of tos header done                             
[0000.866] I> tos binary done read from storage                                 
[0000.868] I> tos: Authentication init Done                                     
[0000.872] I> parsing oem signed section of bpmp-fw-dtb header done             
[0000.878] I> bpmp-fw-dtb binary init read from storage                         
[0000.883] I> tos: Authentication Finalize Done                                 
[0000.889] I> oem authentication of bpmp-fw-dtb header done                     
[0000.892] I> bpmp-fw-dtb binary done read from storage                         
[0000.897] I> bpmp-fw-dtb: Authentication init Done                             
[0000.902] I> parsing oem signed section of cpubl-dtb header done               
[0000.908] I> cpubl-dtb binary init read from storage                           
[0000.913] I> bpmp-fw-dtb: Authentication Finalize Done                         
[0000.964] I> oem authentication of cpubl-dtb header done                       
[0000.965] I> cpubl-dtb binary done read from storage                           
[0000.965] I> cpubl-dtb: Authentication init Done                               
[0000.966] I> parsing oem signed section of eks header done                     
[0000.967] I> eks binary init read from storage                                 
[0000.968] I> cpubl-dtb: Authentication Finalize Done                           
[0000.968] I> oem authentication of eks header done                             
[0000.973] I> eks binary done read from storage                                 
[0000.977] I> eks: Authentication init Done                                     
[0000.981] I> eks: Authentication Finalize Done                                 
[0000.985] I> EKB detected (length: 0x410) @ VA:0x52714400                      
��NOTICE:  BL31: v1.3(release):b5eeb33f7                                        
NOTICE:  BL31: Built : 12:15:32, Jul 26 2021                                    
ipc-unittest-main: 1519: Welcome to IPC unittest!!!                             
ipc-unittest-main: 1531: waiting forever                                        
ipc-unittest-srv: 329: Init unittest services!!!                                
hwkey-agent: 41: hwkey-agent is running!!                                       
hwkey-agent: 315: key_mgnt_processing .......                                   
hwkey-agent: 223: Setting EKB key 0 to slot 14                                  
hwkey-agent: 178: Init hweky-agent services!!                                   
luks-srv: 40: luks-srv is running!!                                             
luks-srv: 157: Init luks-srv IPC services!!                                     
platform_bootstrap_epilog: trusty bootstrap complete                            
��                                                                              
                                                                                
welcome to lk                                                                   
calling constructors                                                            
initializing heap                                                               
creating bootstrap completion thread                                            
top of bootstrap2()                                                             
initializing platform                                                           
bpmp: platform_init                                                             
tag is e73a758761f0c6d24a1e69a2ac6b5035                                         
tag_show initialized                                                            
dt initialized                                                                  
mail initialized                                                                
chipid initialized                                                              
fuse initialized                                                                
sku initialized                                                                 
speedo initialized                                                              
ec_get_ec_list: found 45 ecs                                                    
ec initialized                                                                  
ec_mrq initialized                                                              
vmon_populate_monitors: found 3 monitors                                        
vmon initialized                                                                
adc initialized                                                                 
fmon_populate_monitors: found 73 monitors                                       
fmon initialized                                                                
fmon_mrq initialized                                                            
reset initialized                                                               
nvhs initialized                                                                
391 clocks registered                                                           
clk_mrq_init: mrq handler registered                                            
clk initialized                                                                 
nvlink initialized                                                              
io_dpd initialized                                                              
io_dpd initialized                                                              
thermal initialized                                                             
i2c5 controller initialized                                                     
initialized i2c mrq handling                                                    
i2c initialized                                                                 
regulator initialized                                                           
avfs_clk_platform_init: bad clk id in clock@cluster1_avfs                       
avfs_clk_platform initialized                                                   
soctherm initialized                                                            
aotag initialized                                                               
powergate initialized                                                           
dvs initialized                                                                 
pm initialized                                                                  
pg_late initialized                                                             
strap initialized                                                               
tag initialized                                                                 
emc initialized                                                                 
clk_dt initialized                                                              
avfs_ccplex_platform initialized                                                
tj_max: dt node not found                                                       
tj_init initialized                                                             
uphy_mrq_init: mrq handler registered                                           
uphy_dt initialized                                                             
uphy initialized                                                                
safereg_init: period 80 ms                                                      
ec_late initialized                                                             
��                                                                              
  ��mrq initialized                                                             
��[0001.342] I> Welcome to Cboot                                                
��WARNING: no registered clock for FMON_NAFLL_CLUSTER1 (id 281)                 
fmon_post initialized                                                           
��[0001.343] I> Cboot Version: t194-cfa2bc91                                    
[0001.345] I> CPU-BL Params @ 0xf2820000                                        
[0001.349] I>  0) Base:0x00000000 Size:0x00000000                               
[0001.353] I>  1) Base:0xf1100000 Size:0x00100000                               
��clk_set_parent failed for clk i2c2, parent pll_aon (-22)                      
clk_set_parent failed for clk i2c8, parent pll_aon (-22)                        
clk_dt_late initialized                                                         
machine_check initialized                                                       
pm_post initialized                                                             
dbells initialized                                                              
avfs_clk_platform_post initialized                                              
dmce initialized                                                                
cvc initialized                                                                 
ccplex_avfs_hw_init: nafll_cluster0: not monitored                              
ccplex_avfs_hw_init: nafll_cluster2: not monitored                              
ccplex_avfs_hw_init: nafll_cluster3: not monitored                              
avfs_clk_mach_post initialized                                                  
regulator_post initialized                                                      
rm initialized                                                                  
sc7_diag initialized                                                            
thermal_test initialized                                                        
serial_late initialized                                                         
clk_post initialized                                                            
clk_dt_post initialized                                                         
mc_reg initialized                                                              
pg_post initialized                                                             
dyn_modules initialized                                                         
sku_debugfs initialized                                                         
speedo_debugfs initialized                                                      
adc_debugfs initialized                                                         
Failed to register PTO counter for id 281                                       
Failed to register PTO counter for id 281                                       
Failed to register PTO counter for id 281                                       
Failed to register PTO counter for id 281                                       
clk_debugfs initialized                                                         
emc_debugfs initialized                                                         
dvs_debugfs initialized                                                         
fmon_debugfs_init_one: no clock debugfs node to attach FMON_NAFLL_CLUSTER1      
fmon_debugfs initialized                                                        
vmon_debugfs initialized                                                        
pg_debugfs initialized                                                          
profile_fs initialized                                                          
debugfs_cons initialized                                                        
mail_fs initialized                                                             
profile initialized                                                             
cvc_debugfs initialized                                                         
dmce_debugfs initialized                                                        
ec_debugfs initialized                                                          
rm_rail_debugfs_init: /rm/vdd_cpu: failed                                       
rm_rail_debugfs_init: /rm/vdd_cpu: failed                                       
rm_debugfs initialized                                                          
soctherm_debug initialized                                                      
gr_reader initialized                                                           
mods initialized                                                                
dt_fs initialized                                                               
debugfs_mrq initialized                                                         
debug_mrq initialized                                                           
debug_safereg initialized                                                       
initializing target                                                             
calling apps_init()                                                             
starting app shell                                                              
entering main console loop                                                      
] ��[0001.358] I>  2) Base:0xf2000000 Size:0x00200000                           
[0001.512] I>  3) Base:0xf1200000 Size:0x00200000                               
[0001.516] I>  4) Base:0xf1000000 Size:0x00100000                               
[0001.521] I>  5) Base:0xf0f00000 Size:0x00100000                               
[0001.525] I>  6) Base:0xf3800000 Size:0x00400000                               
[0001.530] I>  7) Base:0xf1c00000 Size:0x00400000                               
[0001.534] I>  8) Base:0xf0e00000 Size:0x00100000                               
[0001.538] I>  9) Base:0xf0d00000 Size:0x00100000                               
[0001.543] I> 10) Base:0xf3000000 Size:0x00800000                               
[0001.547] I> 11) Base:0x40000000 Size:0x00040000                               
[0001.552] I> 12) Base:0xf0c00000 Size:0x00100000                               
[0001.556] I> 13) Base:0x40046000 Size:0x00002000                               
[0001.561] I> 14) Base:0x40048000 Size:0x00002000                               
[0001.565] I> 15) Base:0xac000000 Size:0x00004000                               
[0001.570] I> 16) Base:0x4004a000 Size:0x00002000                               
[0001.574] I> 17) Base:0xf0b00000 Size:0x00100000                               
[0001.579] I> 18) Base:0x4004c000 Size:0x00002000                               
[0001.583] I> 19) Base:0xf2200000 Size:0x00600000                               
[0001.588] I> 20) Base:0x4004e000 Size:0x00002000                               
[0001.592] I> 21) Base:0xf0ad0000 Size:0x0000c000                               
[0001.597] I> 22) Base:0x00000000 Size:0x00000000                               
[0001.601] I> 23) Base:0xf0ae0000 Size:0x00020000                               
[0001.605] I> 24) Base:0xf6000000 Size:0x02000000                               
[0001.610] I> 25) Base:0x40050000 Size:0x00002000                               
[0001.614] I> 26) Base:0x40040000 Size:0x00006000                               
[0001.619] I> 27) Base:0xf1800000 Size:0x00400000                               
[0001.623] I> 28) Base:0xf4c00000 Size:0x01400000                               
[0001.628] I> 29) Base:0xf1400000 Size:0x00400000                               
[0001.632] I> 30) Base:0x00000000 Size:0x00000000                               
[0001.637] I> 31) Base:0x00000000 Size:0x00000000                               
[0001.641] I> 32) Base:0xf8000000 Size:0x08000000                               
[0001.646] I> 33) Base:0x00000000 Size:0x00000000                               
[0001.650] I> 34) Base:0xf3c00000 Size:0x01000000                               
[0001.655] I> 35) Base:0xab000000 Size:0x01000000                               
[0001.659] I> 36) Base:0xa0000000 Size:0x0b000000                               
[0001.663] I> 37) Base:0xf2800000 Size:0x00800000                               
[0001.668] I> 38) Base:0x80000000 Size:0x20000000                               
[0001.672] I> 39) Base:0xb0000000 Size:0x08000000                               
[0001.677] I> 40) Base:0x00000000 Size:0x00000000                               
[0001.681] I> 41) Base:0x00000000 Size:0x00000000                               
[0001.686] I> 42) Base:0x00000000 Size:0x00000000                               
[0001.690] I> 43) Base:0x00000000 Size:0x00000000                               
[0001.695] I> 44) Base:0x00000000 Size:0x00000000                               
[0001.699] I> 45) Base:0x00000000 Size:0x00000000                               
[0001.704] GIC-SPI Target CPU: 0                                                
[0001.707] Interrupts Init done                                                 
[0001.709] calling constructors                                                 
[0001.712] initializing heap                                                    
[0001.715] I> Heap: [0xa0699b80 ... 0xab000000]                                 
[0001.719] initializing threads                                                 
[0001.722] initializing timers                                                  
[0001.725] creating bootstrap completion thread                                 
[0001.729] top of bootstrap2()                                                  
[0001.732] CPU: MIDR: 0x4E0F0040, MPIDR: 0x80000000                             
[0001.737] initializing platform                                                
[0001.740] E> DEVICE_PROD: Invalid value data = 0, size = 0.                    
[0001.745] W> device prod register failed                                       
[0001.749] I> Bl_dtb @0xaaf00000                                                
[0001.754] W> "plugin-manager" doesn't exist, creating                          
[0001.757] W> "ids" doesn't exist, creating                                     
[0001.761] W> "connection" doesn't exist, creating                              
[0001.765] W> "configs" doesn't exist, creating                                 
[0001.777] E> failed to read label property for node 158736: 13                 
[0001.779] E> failed to read reg property for node 158800: 13                   
[0001.782] E> failed to read reg property for node 158852: 13                   
[0001.788] E> failed to read reg property for node 158936: 13                   
[0001.794] I> Find /i2c@3160000's alias i2c0                                    
[0001.796] I> Reading eeprom i2c=0 address=0x50                                 
[0001.825] I> Device at /i2c@3160000:0x50                                       
[0001.826] I> Reading eeprom i2c=0 address=0x57                                 
[0001.826] E> I2C: slave not found in slaves.                                   
[0001.826] E> I2C: Could not write 0 bytes to slave: 0x00ae with repeat start t.
[0001.827] E> I2C_DEV: Failed to send register address 0x00000000.              
[0001.828] E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae a.
[0001.835] E> eeprom: Failed to read I2C slave device                           
[0001.840] I> Eeprom read failed 0x3526070d                                     
[0001.845] I> Find /i2c@c240000's alias i2c1                                    
[0001.848] I> Reading eeprom i2c=1 address=0x50                                 
[0001.878] I> Device at /i2c@c240000:0x50                                       
[0001.878] I> create_pm_ids: id: 3668-0001-300-B, len: 15                       
[0001.878] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:03
[0001.879] I> create_pm_ids: id: XXXX-XXXX-XXX-X, len: 15                       
[0001.880] I> config: mem-type:ff,power-config:ff,misc-config:ff,modem-config:f3
[0001.889] I> Adding plugin-manager/ids/3668-0001-300=/i2c@3160000:module@0x50  
[0001.897] W> "i2c@3160000" doesn't exist, creating                             
[0001.901] W> "module@0x50" doesn't exist, creating                             
[0001.905] I> Adding plugin-manager/ids/XXXX-XXXX-XXX=/i2c@c240000:module@0x50  
[0001.912] W> "i2c@c240000" doesn't exist, creating                             
[0001.917] W> "module@0x50" doesn't exist, creating                             
[0001.923] I> Adding plugin-manager/cvm                                         
[0001.925] W> "chip-id" doesn't exist, creating                                 
[0001.929] I> Adding plugin-manager/chip-id/A02P                                
[0001.934] I> Plugin-manager override starting                                  
[0001.938] I> node /plugin-manager/fragment-pcie-c5-rp matches                  
[0001.946] I> node /plugin-manager/fragement-tegra-wdt-en matches               
[0001.952] I> node /plugin-manager/fragement-tegra-sdhci-sd-dis matches         
[0001.959] I> Disable plugin-manager status in FDT                              
[0001.960] I> Plugin-manager override finished successfully                     
[0001.966] I> gpio framework initialized                                        
[0001.970] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio' drir
[0001.978] I> tegrabl_gpio_driver_register: register 'nvidia,tegra194-gpio-aon'r
[0001.984] I> tegrabl_tca9539_init: i2c bus: 1, slave addr: 0x46                
[0001.992] W> fetch_driver_phandle_from_dt: failed to get node with compatible 9
[0001.999] W> fetch_driver_phandle_from_dt: failed to get node with compatible 9
[0002.006] W> tegrabl_tca9539_init: failed to fetch phandle from dt             
[0002.012] I> tegrabl_tca9539_init: i2c bus: 1, slave addr: 0x44                
[0002.019] W> fetch_driver_phandle_from_dt: failed to get node with compatible 9
[0002.027] W> fetch_driver_phandle_from_dt: failed to get node with compatible 9
[0002.034] W> tegrabl_tca9539_init: failed to fetch phandle from dt             
[0002.041] I> fixed regulator driver initialized                                
[0002.049] I> register 'maxim' power off handle                                 
[0002.050] I> virtual i2c enabled                                               
[0002.052] I> registered 'maxim,max20024' pmic                                  
[0002.056] I> tegrabl_gpio_driver_register: register 'max20024-gpio' driver     
[0002.063] I> Boot-device: QSPI                                                 
[0002.065] I> Boot_device: QSPI_FLASH instance: 0                               
[0002.071] I> QSPI source rate = 204000 Khz                                     
[0002.074] I> Requested rate for QSPI clock = 34000 Khz                         
[0002.079] I> BPMP-set rate for QSPI clk = 34000 Khz                            
[0002.084] I> QSPI Flash Size = 32 MB                                           
[0002.092] I> Qspi initialized successfully                                     
[0002.092] I> qspi flash-0 params source = boot args                            
[0002.096] I> create_pm_ids: id: 3668-0001-300-B, len: 15                       
[0002.101] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:03
[0002.112] I> create_pm_ids: id: XXXX-XXXX-XXX-X, len: 15                       
[0002.117] I> config: mem-type:ff,power-config:ff,misc-config:ff,modem-config:f3
[0002.132] I> sdmmc-3 params source = safe params                               
[0002.134] I> Found 47 partitions in QSPI_FLASH (instance 0)                    
[0002.154] W> Cannot find any partition table for 00000003                      
[0002.167] W> Cannot find any partition table for 00010003                      
[0002.175] I> regulator 'vdd-hdmi-5v0' already enabled                          
[0002.180] I> regulator 'vdd-hdmi-5v0' already enabled                          
[0002.180] E> tegrabl_display_init_regulator: hdmi cable is not connected       
[0002.181] E> tegrabl_display_get_pdata, failed to parse dtb settings           
[0002.185] E> invalid display type                                              
[0002.186] E> cannot find any other nvdisp nodes                                
[0002.186] E> no valid display unit config found in dtb                         
[0002.187] W> display init failed                                               
[0002.188] I> Load in CBoot Boot Options partition and parse it                 
[0002.194] E> Error -9 when finding node with path /boot-configuration          
[0002.200] E> tegrabl_cbo_parse_info: "boot-configuration" not found in CBO fil.
[0002.207] I> Using default boot order                                          
[0002.211] I> boot-dev-order :-                                                 
[0002.214] I> 1.sd                                                              
[0002.216] I> 2.usb                                                             
[0002.217] I> 3.nvme                                                            
[0002.219] I> 4.emmc                                                            
[0002.221] I> 5.net                                                             
[0002.223] I> Hit any key to stop autoboot:  

I then tried running the following with the SSD not connected:
sudo ./flash.sh --no-flash jetson-xavier-nx-devkit-emmc mmcblk0p1
sudo ./flash.sh -r jetson-xavier-nx-devkit-emmc mmcblk0p1

I then reconnected the SSD and it booted up. I used lsblk and it showed nvme0n1p1 was mounted at root. But I want to be able to flash and boot directly from the SSD without having to flash the emmc first.

So, could you flash and boot up successfully with NVMe SSD?

Flashing to eMMC first is the necessary step for Xavier NX to boot from NVMe SSD.
You could refer to the note from the link you refer to:
Jetson AGX Xavier series devices use boot firmware that is stored only on internal eMMC memory. Consequently this type of device cannot boot from USB or NVMe SSD until its internal eMMC has been flashed.

So there is no way to directly flash to an SSD connected to the Xavier NX without flashing the eMMC first?
The only option is to flash eMMC and SSD separately?

You have to make sure that you could boot up with the eMMC before flash NVMe SSD. Then, you could flash different NVMe SSD w/o flashing the eMMC first.

1 Like