Is it possible to set up 5.0.2 boot from nvme by only flashing eMMC first?

We are currently on Jetpack 4.4.1 with our xavier nx deployment. The process is as follows:

  • Flash 4.4.1 to eMMC on SoMs in office using massflash
  • Ship SoMs to factory, SoMs and NVMes are installed into carrier board and assembled into enclosure. At this point the SoM is thermally bound to enclosure and no longer physically accessible
  • Units come back to office, NVMe is initialized with data from the eMMC via an rsync command initiated over network. Uses this approach to implement booting from NVMe: GitHub - jetsonhacks/rootOnNVMe: Switch the rootfs to a NVMe SSD on the Jetson Xavier NX and Jetson AGX Xavier This is not truly booting from NVMe.

I am aware that since Jetpack 4.6 it’s possible (and I have confirmed in testing) to boot directly from NVMe by configuring extlinux.conf.

We have now reached a critical mass of reasons to upgrade to Jetpack 5.x, reasons such as Ubuntu 18.04 based OS is too old to do things, getting security patches, etc.

Couple of questions:

  • I tried to do some testing with a similar approach on 5.0.2 (flash eMMC to 5.0.2, rsync rootfs over to NVMe, try to use this old rootOnNVMe method to boot off eMMC and systemctl switch-root to get root running off NVMe…) and WAS NOT ABLE to tell the bootloader to boot off NVMe at all. The question is assuming we want to not completely change our hardware production process is: Is it even possible anymore on 5.0.2? Is it possible to flash 5.0.2 first and do something, anything, at a later step to initialize the operating system on an installed NVMe? If not, could we at least pre-load some disk image onto all of these NVMe drives prior to installation so that we may boot from them? (the answer has got to be yes here, the question is how complex would this be…)
  • Since jetpack 5 has changed boot loader to UEFI and the entire system is completely different, extlinux.conf is no longer the place where we configure boot order to put NVMe boot first. What is the new place to configure it?
  • Massflash in 5.0.2 is now using an initrd process. This is different from before. I’m hoping that the new process could be to just prepare our image and flash it to an NVMe and then we image and replicate it across all the NVMes that we will install. At this point only the QSPI would need to be flashed to our SoMs. So, we could potentially shorten the initial SoM flashing preparation step in our production process since we could be switching from massflashing the entire rootfs image to only flashing QSPI in this process. We would need to be installing pre-imaged NVMes during assembly at the factory however.

Hi unphased,

As you know, JP5 is different from JP4 such as using UEFI instead. Please use initrd method to flash image into external NVMe. If you want boot from NVMe, you might need to modify the UEFI’s boot-order using efibootmgr or the UEFI GUI.
Flashing Support — Flashing to an NVMe Drive

If you do not need rootfsAB a custom UEFI might help you. With it you can set it to boot from NVMe without the need to attach the system to a serial console first.

Yes serial console workflow is not really workable. Can do it if absolutely necessary.

does the efibootmgr workflow require serial console though? I hope I will be able to find a way to deploy this in production with a reasonable workflow.

Haven’t got an answer on whether imaging the NVMe would work, of course I will use initrd to make the initial one and then just image that. Would it work, or are partitions individually signed to the device? (we are Not doing secure boot yet)

You may also refer to Workflow 6: Initrd Massflash from Linux_for_Tegra/tools/kernel_flash/README_initrd_flash.txt for your use case.

Try the following command after you finish l4t_initrd_flash.sh to switch your board booting from NVMe.

$ sudo ./flash.sh jetson-xavier-nx-devkit nvme0n1p1

Or the following instruction to modify and re-build UEFI.
Initrd flash boot order - #26 by WayneWWW

Both of above methods do not need serial console.

Thank you @KevinFFF for the guidance and link, and @seeky15 for your input. The link is your thread also, and the discussion there is informative for me.

I am doing tests now with a Jetpack 4.4.1-flashed Xavier SoM and will find out if sudo ./flash.sh jetson-xavier-nx-devkit nvme0n1p1 will be sufficient if done after Workflow 6 or 11 (or maybe 10?) with my current test setup.

@KevinFFF Wouldn’t sudo ./flash.sh jetson-xavier-nx-devkit nvme0n1p1 cause the flash script to try to flash the entire set of partitions into the nvme? Are you mentioning it because it is going to ā€œpoint QSPI to target booting NVMeā€? Supposing this works, how could I go about isolating only this step, to make it ONLY target booting from NVMe?

Another item is that It’s not clear to me if it’s possible to restore a given SoM already with EMMC populated to some kind of ā€œcleared factory stateā€, or even if that would help simplify or solve any of these issues. I’ll make more noise about that if I’m able to put my hardware into bad states where I need to do that…

Frankly right now it will already be good progress if I can just prepare a bootable NVMe (so I’m somewhat delighted to find the existence of workflow 11) and if replicating it to more NVMe devices will allow for UEFI to be capable of being interactively configured (one initial time!) to boot off NVMe, that’s still something we could conceivably implement in our still-not-completely-optimized device assembly process, but it would be very good to eliminate such a step. For example… We could potentially put up with this extra manual step for a few hundred units while we wait for a follow up release if that would make for a more streamlined way to flash SoMs that are set from the beginning to boot from NVMe.

In attempting workflow 10, example 2 (since it really is all I want)…

I am trying to run

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash jetson-xavier-nx-devkit-qspi internal

And it produces the output:

āÆ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash jetson-xavier-nx-devkit-qspi internal 
/home/slu/iai_data/2022-12-15/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash_internal.sh --no-flash --no-flash jetson-xavier-nx-devkit-qspi internal
Please install the Secureboot package to use initrd flash for fused board
************************************
*                                  *
*  Step 1: Generate flash packages *
*                                  *
************************************
Create folder to store images to flash
Generate image for internal storage devices
Generate images to be flashed
 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/flash.sh --no-flash --sign  jetson-xavier-nx-devkit-qspi internal

###############################################################################
# L4T BSP Information:
# R35 , REVISION: 1.0
###############################################################################
copying soft_fuses(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-soft-fuses-l4t.cfg)... done.
./tegraflash.py --chip 0x19 --applet "/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/mb1_t194_prod.bin" --skipuid --soft_fuses tegra194-mb1-soft-fuses-l4t.cfg --bins "mb2_applet nvtboot_applet_t194.bin" --cmd "dump eeprom boardinfo cvm.bin;reboot recovery"
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands

[   0.0139 ] Generating RCM messages
[   0.0160 ] tegrahost_v2 --chip 0x19 0 --magicid MB1B --appendsigheader /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/mb1_t194_prod.bin zerosbk
[   0.0170 ] Header already present for /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/mb1_t194_prod.bin
[   0.0266 ] tegrasign_v3.py --key None --getmode mode.txt
[   0.0268 ] Assuming zero filled SBK key
[   0.0287 ] tegrasign_v3.py --file /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/mb1_t194_prod_sigheader.bin --key None --length 1136 --offset 2960 --pubkeyhash pub_key.key
[   0.0289 ] Assuming zero filled SBK key
[   0.0304 ] Warning: pub_key.key is not found
[   0.0288 ] tegrahost_v2 --chip 0x19 0 --updatesigheader /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/mb1_t194_prod_sigheader.bin /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/mb1_t194_prod_sigheader.hash zerosbk
[   0.0344 ] tegrabct_v2 --chip 0x19 0 --sfuse tegra194-mb1-soft-fuses-l4t.cfg.pdf sfuse.bin
[   0.0365 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x19 0 --sfuses sfuse.bin --download rcm /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/mb1_t194_prod_sigheader.bin 0 0
[   0.0369 ] RCM 0 is saved as rcm_0.rcm
[   0.0398 ] RCM 1 is saved as rcm_1.rcm
[   0.0399 ] RCM 2 is saved as rcm_2.rcm
[   0.0401 ] List of rcm files are saved in rcm_list.xml
[   0.0401 ]
[   0.0401 ] Signing RCM messages
[   0.0454 ] tegrasign_v3.py --key None --list rcm_list.xml --getmontgomeryvalues montgomery.bin --pubkeyhash pub_key.key
[   0.0454 ] Assuming zero filled SBK key
[   0.0491 ] Warning: pub_key.key is not found
[   0.0455 ] Copying signature to RCM mesages
[   0.0471 ] tegrarcm_v2 --chip 0x19 0 --updatesig rcm_list_signed.xml
[   0.0481 ] Boot Rom communication
[   0.0497 ] tegrarcm_v2 --chip 0x19 0 --rcm rcm_list_signed.xml --skipuid
[   0.0502 ] RCM version 0X190001
[   0.2550 ] Boot Rom communication completed
[   2.2736 ] tegrarcm_v2 --isapplet
[   2.2748 ] Applet version 01.00.0000
[   2.6906 ] tegrarcm_v2 --ismb2
[   3.1224 ] tegrahost_v2 --chip 0x19 --align nvtboot_applet_t194_aligned.bin
[   3.1261 ] tegrahost_v2 --chip 0x19 0 --magicid PLDT --appendsigheader nvtboot_applet_t194_aligned.bin zerosbk
[   3.1273 ] adding BCH for nvtboot_applet_t194_aligned.bin
[   3.1378 ] tegrasign_v3.py --key None --list nvtboot_applet_t194_aligned_sigheader.bin_list.xml --pubkeyhash pub_key.key
[   3.1380 ] Assuming zero filled SBK key
[   3.1396 ] Warning: pub_key.key is not found
[   3.1381 ] tegrahost_v2 --chip 0x19 0 --updatesigheader nvtboot_applet_t194_aligned_sigheader.bin.encrypt nvtboot_applet_t194_aligned_sigheader.bin.hash zerosbk
[   3.1421 ] tegrarcm_v2 --download mb2 nvtboot_applet_t194_sigheader.bin.encrypt
[   3.1428 ] Applet version 01.00.0000
[   3.5558 ] Sending mb2
[   3.5559 ] [................................................] 100%
[   3.5729 ] tegrarcm_v2 --boot recovery
[   3.5737 ] Applet version 01.00.0000
[   4.9871 ] tegrarcm_v2 --isapplet
[   5.1143 ] tegrarcm_v2 --ismb2
[   5.1152 ] MB2 Applet version 01.00.0000
[   5.5670 ] tegrarcm_v2 --ismb2
[   5.5683 ] MB2 Applet version 01.00.0000
[   5.9543 ] Retrieving board information
[   5.9564 ] tegrarcm_v2 --oem platformdetails chip chip_info.bin
[   5.9573 ] MB2 Applet version 01.00.0000
[   6.3898 ] Saved platform info in chip_info.bin
[   6.3938 ] Chip minor revision: 2
[   6.3938 ] Bootrom revision: 0xf
[   6.3939 ] Ram code: 0x0
[   6.3939 ] Chip sku: 0xde
[   6.3940 ] Chip Sample: non es
[   6.3946 ] Retrieving EEPROM data
[   6.3947 ] tegrarcm_v2 --oem platformdetails eeprom cvm /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/cvm.bin
[   6.3958 ] MB2 Applet version 01.00.0000
[   6.8219 ] Saved platform info in /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/cvm.bin
[   6.8607 ] Rebooting to recovery mode
[   6.8628 ] tegrarcm_v2 --ismb2
[   6.8636 ] MB2 Applet version 01.00.0000
[   7.2805 ] Rebooting to recovery mode
[   7.2829 ] tegrarcm_v2 --reboot recovery
[   7.2840 ] MB2 Applet version 01.00.0000
Board ID(3668) version(301) sku(0001) revision(D.0)
lz4c installed at /usr/bin/lz4c
Compressing /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/tegra194-a02-bpmp-p3668-a00.dtb ...
Copy /home/slu/iai_data/2022-12-15/Linux_for_Tegra/kernel/dtb/tegra194-p3668-0000-p3509-0000.dtb to /home/slu/iai_data/2022-12-15/Linux_for_Tegra/kernel/dtb/tegra194-p3668-0000-p3509-0000.dtb.rec
NVDISP+UEFI in bootloader/nvdisp-init.bin ..
Generated UUID abab7bb7-85b2-463d-976e-180c7b16aa8a for mounting root APP partition.
copying bctfile(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-memcfg-p3668-0001-a00.cfg)... done.
copying bctfile1(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-memcfg-sw-override.cfg)... done.
copying minratchet_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-ratchet-p3668.cfg)... done.
copying device_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-bct-device-qspi-p3668.cfg)... done.
copying misc_cold_boot_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-misc-sd-l4t.cfg)... done.
copying misc_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-misc-flash.cfg)... done.
copying pinmux_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p3668-a01.cfg)... done.
copying gpioint_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-gpioint-p3668-0001-a00.cfg)... done.
copying pmic_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-pmic-p3668-0001-a00.cfg)... done.
copying pmc_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-padvoltage-p3668-a01.cfg)... done.
copying prod_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-prod-p3668-0001-a00.cfg)... done.
copying scr_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-scr-cbb-mini-p3668.cfg)... done.
copying scr_cold_boot_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-scr-cbb-mini-p3668.cfg)... done.
copying bootrom_config(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-reset-p3668-0001-a00.cfg)... done.
copying dev_params(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-br-bct-qspi-l4t.cfg)... done.
copying dev_params_b(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-br-bct_b-qspi-l4t.cfg)... done.
Existing bootloader(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/nvtboot_cpu_t194.bin) reused.
copying initrd(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/l4t_initrd.img)... done.
Making Boot image... done.
/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/tegraflash.py --chip 0x19 --key  --minratchet_config tegra194-mb1-bct-ratchet-p3668.cfg --cmd sign boot.img kernel
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands

[   0.0008 ] Generating signature
[   0.0031 ] tegrasign_v3.py --key  --getmode mode.txt
[   0.0033 ] Assuming zero filled SBK key : not reading
[   0.0029 ] Generating ratchet blob
[   0.0047 ] tegrabct_v2 --chip 0x19 0 --ratchet_blob ratchet_blob.bin --minratchet tegra194-mb1-bct-ratchet-p3668.cfg
[   0.0055 ] FwIndex: 1, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 2, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 3, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 4, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 5, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 6, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 7, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 11, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 12, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 13, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 14, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 15, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 16, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 17, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 18, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 19, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 30, MinRatchetLevel: 0
[   0.0060 ] FwIndex: 31, MinRatchetLevel: 0
[   0.0060 ]
[   0.0061 ] header_magic: 414e4452
[   0.0275 ] tegrahost_v2 --chip 0x19 --align 1_boot_aligned.img
[   0.0300 ] tegrahost_v2 --chip 0x19 0 --magicid KRNL --ratchet_blob ratchet_blob.bin --appendsigheader 1_boot_aligned.img zerosbk
[   0.0307 ] adding BCH for 1_boot_aligned.img
[   0.6398 ] tegrasign_v3.py --key  --list 1_boot_aligned_sigheader.img_list.xml --pubkeyhash pub_key.key
[   0.6400 ] Assuming zero filled SBK key : not reading
[   0.6993 ] Warning: pub_key.key is not found
[   0.7010 ] tegrahost_v2 --chip 0x19 0 --updatesigheader 1_boot_aligned_sigheader.img.encrypt 1_boot_aligned_sigheader.img.hash zerosbk
[   1.0837 ] Signed file: /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/temp_user_dir/boot_sigheader.img.encrypt
l4t_sign_image.sh: Generate header for boot_sigheader.img.encrypt
l4t_sign_image.sh: chip 0x19: add 0x281c000 to offset  0x8 in sig file
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for boot_sigheader.img.encrypt
l4t_sign_image.sh: the signed file is /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/temp_user_dir/boot_sigheader.img.encrypt
Making recovery ramdisk for recovery image...
Re-generating recovery ramdisk for recovery image...
/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader /home/slu/iai_data/2022-12-15/Linux_for_Tegra
36144 blocks

gzip: /home/slu/iai_data/2022-12-15/Linux_for_Tegra/kernel/Image: not in gzip format
_BASE_KERNEL_VERSION=5.10.104-tegra
find: ā€˜/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib’: No such file or directory
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/mv': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/mv /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/mv
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/sync': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/sync /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/sync
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/sbin/blockdev': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/sbin/blockdev /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/blockdev
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/cut': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/cut /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/cut
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/cksum': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/cksum /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/cksum
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/sha1sum': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/sha1sum /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/sha1sum
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/seq': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/seq /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/seq
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/dirname': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/dirname /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/dirname
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/tr': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/tr /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/tr
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/du': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/du /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/du
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/sbin/mtd_debug': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/sbin/mtd_debug /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/mtd_debug
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//ld-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//ld-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//ld-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libc-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libc-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libc-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libdl-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libdl-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libdl-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libm-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libm-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libm-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libnsl-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libnsl-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libnsl-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libnss_files-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libnss_files-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libnss_files-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libnss_nis-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libnss_nis-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libnss_nis-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libpthread-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libpthread-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libpthread-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libresolv-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libresolv-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libresolv-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//librt-2.31.so': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//librt-2.31.so /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//librt-2.31.so
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libwrap.so.0': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libwrap.so.0 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libwrap.so.0
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libaudit.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libaudit.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libaudit.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libpam.so.0': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libpam.so.0 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libpam.so.0
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libpam_misc.so.0': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libpam_misc.so.0 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libpam_misc.so.0
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libsystemd.so.0': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libsystemd.so.0 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libsystemd.so.0
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//liblzma.so.5': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//liblzma.so.5 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//liblzma.so.5
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libgcrypt.so.20': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libgcrypt.so.20 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libgcrypt.so.20
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libgpg-error.so.0': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libgpg-error.so.0 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libgpg-error.so.0
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libutil.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libutil.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libutil.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libcrypt.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libcrypt.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libcrypt.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libz.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libz.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libz.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libcap.so.2': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libcap.so.2 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libcap.so.2
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libcap-ng.so.0': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libcap-ng.so.0 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libcap-ng.so.0
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libprocps.so.8': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libprocps.so.8 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libprocps.so.8
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libnss_compat.so.2': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libnss_compat.so.2 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libnss_compat.so.2
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libmnl.so.0': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libmnl.so.0 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libmnl.so.0
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libdbus-1.so.3': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libdbus-1.so.3 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libdbus-1.so.3
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libreadline.so.8': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libreadline.so.8 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libreadline.so.8
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libtinfo.so.6': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libtinfo.so.6 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libtinfo.so.6
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libdevmapper.so.1.02.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libdevmapper.so.1.02.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libdevmapper.so.1.02.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libblkid.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libblkid.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libblkid.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libuuid.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libuuid.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libuuid.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libudev.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libudev.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libudev.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libselinux.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libselinux.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libselinux.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libpcre.so.3': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib//libpcre.so.3 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libpcre.so.3
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libssl.so.1.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libssl.so.1.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/libssl.so.1.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libgssapi_krb5.so.2': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libgssapi_krb5.so.2 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libgssapi_krb5.so.2
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libkrb5.so.3': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libkrb5.so.3 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libkrb5.so.3
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libk5crypto.so.3': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libk5crypto.so.3 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libk5crypto.so.3
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libkrb5support.so.0': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libkrb5support.so.0 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libkrb5support.so.0
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libcrypto.so.1.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libcrypto.so.1.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libcrypto.so.1.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//liblz4.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//liblz4.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//liblz4.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libelf.so.1': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/lib//libelf.so.1 /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib//libelf.so.1
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtd.ko': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtd.ko /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtd.ko
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtdblock.ko': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtdblock.ko /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtdblock.ko
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtd_blkdevs.ko': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtd_blkdevs.ko /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/modules/5.10.104-tegra/kernel/drivers/mtd/mtd_blkdevs.ko
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/mtd/devices/qspi_mtd.ko': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/mtd/devices/qspi_mtd.ko /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/modules/5.10.104-tegra/kernel/drivers/mtd/devices/qspi_mtd.ko
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/spi/spi-tegra210-qspi.ko': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib/modules/5.10.104-tegra/kernel/drivers/spi/spi-tegra210-qspi.ko /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//lib/modules/5.10.104-tegra/kernel/drivers/spi/spi-tegra210-qspi.ko
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/etc/ssh/sshd_config': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/etc/ssh/sshd_config /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//etc/ssh/sshd_config
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/sbin/sshd': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/sbin/sshd /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/sshd
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/su': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/su /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/su
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/whoami': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/whoami /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/whoami
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/passwd': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/passwd /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/passwd
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/which': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/which /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/which
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/ps': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/ps /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/ps
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/ping': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/ping /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/ping
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/sbin/dhclient-script': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/sbin/dhclient-script /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//sbin/dhclient-script
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/ip': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/ip /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/ip
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/run-parts': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/run-parts /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/run-parts
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/w.procps': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/w.procps /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/w
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/scp': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/scp /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/scp
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/find': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/find /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/find
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/xxd': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/xxd /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/xxd
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/head': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/head /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/head
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/kmod': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/kmod /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/kmod
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/diff': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/usr/bin/diff /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/diff
sed: can't read /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//etc/ssh/sshd_config: No such file or directory
command is failed
Error: failed to generate images
Cleaning up...

Why is it trying to ungzip Image?

āÆ l kernel/Image* 
-rw-rw-r-- 1 slu slu 13M Aug 10 23:37 kernel/Image.gz
-rw-rw-r-- 1 slu slu 33M Aug 10 23:37 kernel/Image

I have manually moved Image.gz into Image, and now it’s

<snip>
Making recovery ramdisk for recovery image...
Re-generating recovery ramdisk for recovery image...
/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader /home/slu/iai_data/2022-12-15/Linux_for_Tegra
36144 blocks
_BASE_KERNEL_VERSION=5.10.104-tegra
find: ā€˜/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/lib’: No such file or directory
cp: cannot stat '/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/mv': No such file or directory
warning: cp -f /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/bin/mv /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/ramdisk_tmp//bin/mv
<snip>

Why is it trying to do some stuff with rootfs when I’m just trying to flash QSPI?

Edit: OK I think I’m supposed to download and unpack the rootfs separately, so it’s there for the script to go fetch these things that are on there. Stay tuned…

To answer your two questions:

Why is the rootfs required when flashing QSPI?
Your board connects to the host when in recovery mode. Then the flash script will send an initramdisk (Created from your rootfs) to the board and boot with it. From within that booted ramdisk environment it will flash the QSPI. I had some issues with removing some components from my image, also kernel config changes which caused the flash process to fail, since parts which were required could not be found.

Flashing with 5.0.2
No matter which workflow you will choose, the script will always use a prebuilt UEFI binary. In that binary EMMC boot is set to come before NVMe. So when you flash with your target to be NVMe, it will still flash that UEFI binary with the boot target set to EMMC.
Three options:

  • Remove your emmc content during flashing, so that it will not be bootable
  • Modify your UEFI via serial console to point to NVMe directly after the first boot (Nvidia suggests this)
  • Flash your EMMC with an extlinux.conf which tells the system to boot from NVMe

I feel like this is a bug and should be addressed by nvidia, have not heard that they are going to in 5.0.3 though…

Thanks. This is very helpful.

So I was able to get past the first step of Workflow 10, Example 2, that is, ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash jetson-xavier-nx-devkit-qspi internal, once I’ve prepped the downloaded rootfs.

However the Second step of Workflow 10 Example 2 is failing like this:

<snip>
Existing spefile(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/spe_t194.bin) reused.
Existing wb0boot(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/warmboot_t194_prod.bin) reused.
Existing tosfile(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/tos-optee_t194.img) reused.
Existing eksfile(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/eks.img) reused.
copying soft_fuses(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-soft-fuses-l4t.cfg)... done.
copying dtbfile(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/kernel/dtb/tegra194-p3668-0000-p3509-0000.dtb)... done.
Copying nv_boot_control.conf to rootfs
/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/tegraflash.py --chip 0x19 --key  --minratchet_config tegra194-mb1-bct-ratchet-p3668.cfg --cmd sign kernel_tegra194-p3668-0000-p3509-0000.dtb kernel_dtb
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands

[   0.0115 ] Generating signature
[   0.0141 ] tegrasign_v3.py --key  --getmode mode.txt
[   0.0142 ] Assuming zero filled SBK key : not reading
[   0.0139 ] Generating ratchet blob
[   0.0158 ] tegrabct_v2 --chip 0x19 0 --ratchet_blob ratchet_blob.bin --minratchet tegra194-mb1-bct-ratchet-p3668.cfg
[   0.0166 ] FwIndex: 1, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 2, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 3, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 4, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 5, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 6, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 7, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 11, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 12, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 13, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 14, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 15, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 16, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 17, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 18, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 19, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 30, MinRatchetLevel: 0
[   0.0173 ] FwIndex: 31, MinRatchetLevel: 0
[   0.0173 ]
[   0.0174 ] header_magic: d00dfeed
[   0.0200 ] tegrahost_v2 --chip 0x19 --align 1_kernel_tegra194-p3668-0000-p3509-0000_aligned.dtb
[   0.0228 ] tegrahost_v2 --chip 0x19 0 --magicid KDTB --ratchet_blob ratchet_blob.bin --appendsigheader 1_kernel_tegra194-p3668-0000-p3509-0000_aligned.dtb zerosbk
[   0.0236 ] adding BCH for 1_kernel_tegra194-p3668-0000-p3509-0000_aligned.dtb
[   0.0343 ] tegrasign_v3.py --key  --list 1_kernel_tegra194-p3668-0000-p3509-0000_aligned_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   0.0344 ] Assuming zero filled SBK key : not reading
[   0.0356 ] Warning: pub_key.key is not found
[   0.0368 ] tegrahost_v2 --chip 0x19 0 --updatesigheader 1_kernel_tegra194-p3668-0000-p3509-0000_aligned_sigheader.dtb.encrypt 1_kernel_tegra194-p3668-0000-p3509-0000_aligned_sigheader.dtb.hash zerosbk
[   0.0413 ] Signed file: /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra194-p3668-0000-p3509-0000_sigheader.dtb.encrypt
l4t_sign_image.sh: Generate header for kernel_tegra194-p3668-0000-p3509-0000_sigheader.dtb.encrypt
l4t_sign_image.sh: chip 0x19: add 0x4f0e9 to offset  0x8 in sig file
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for kernel_tegra194-p3668-0000-p3509-0000_sigheader.dtb.encrypt
l4t_sign_image.sh: the signed file is /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra194-p3668-0000-p3509-0000_sigheader.dtb.encrypt
        populating kernel to rootfs... done.
        populating initrd to rootfs... done.
        populating kernel_tegra194-p3668-0000-p3509-0000.dtb to rootfs... done.
Making system.img...
/home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs/boot/extlinux/extlinux.conf is not found, exiting...
Error: Failed to generate images for external device
Cleaning up...

This is interesting since this error is pointing to a problem with extlinux.conf and you mention extlinux.conf in your third bullet. I am aware of extlinux.conf as the config file that I edited in the EMMC when I was testing Jetpack 4.6 to make it boot directly off NVMe.

A very optimistic interpretation of this could be that I simply need to figure out what to prepare as an extlinux.conf to do what I want here.

I am not sure if you are working with 4.x or 5.0.2 here. I have only experience with the 5.0.2 currently, so disregard this if you’re on an earlier version.

What is failing there would usually look like this:

	Setting "FDT /boot/dtb/kernel_tegra194-....dtb" successfully in the extlinux.conf...done.
	populating rootfs from /work/work/Linux_for_Tegra/rootfs ... 	populating /boot/extlinux/extlinux.conf ... done.

So I assume your rootfs folder does not contain any file under /boot/extlinux/extlinux.conf.
The flash script will modify this file, and the device tree file right before flashing, so that you always got the right configuration on your system, whatever is currently set in the rootfs.

The file should usually be there if you ran your apply_binaries.sh successfully.

Thanks, it looks like apply_binaries is a necessary step that I was not aware of. And that printed some output with a lot of pipes in it, and i also saw another topic that hints that I did not unpack the rootfs properly (with sudo), so I’m trying that now, and also it probably helps to not include that downloaded rootfs tarball inside of the Linux_for_Tegra/rootfs/ dir!

sudo apply_binaries.sh was successful, and I have indeed gotten past this step, it looked like this:

Making system.img...
        Setting "FDT /boot/dtb/kernel_tegra194-p3668-0000-p3509-0000.dtb" successfully in the extlinux.conf...done.
        populating rootfs from /home/slu/iai_data/2022-12-15/Linux_for_Tegra/rootfs ...

Thanks.

Since steps 1 and 2 of Workflow 10 Example 2 have now completed for me, perhaps this is now in a state where if I find out what commands to use, I could maybe update the extlinux.conf to point to NVMe and then make it re-generate the Images and then I may have a good starting point for booting off NVMe. Do you agree?

Tried to do the flash (step 3):

āÆ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only      
/home/slu/iai_data/2022-12-15/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash_internal.sh  --usb-instance 5-4.4 --device-instance 0 --flash-only --external-device nvme0n1p1 -c "./tools/kernel_flash/flash_l4t_nvme.xml" -S 8GiB jetson-xavier-nx-devkit external
**********************************************
*                                            *
*  Step 1: Build the flashing environment    *
*                                            *
**********************************************
/home/slu/iai_data/2022-12-15/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash_internal.sh: line 735: /home/slu/iai_data/2022-12-15/Linux_for_Tegra/tools/kernel_flash/initrdflashimgmap.txt: No such file or directory
Cleaning up...

Google has zero results for initrdflashimgmap.txt.

The issue here will be that, as you saw, the flash script will modify your extlinux.conf before flashing.
So right after flashing, it will not be set to what you have set in your rootfs.

As far as I know you won’t be able to trick the script into writing /dev/nvme0n1p1 in there while flashing to emmc.

The only really hacky idea I could come up with is creating one ā€œfakeā€ rootfs for your emmc. And one ā€œrealā€ for your NVMe. In the emmc, you could place a startup script that will modify your extlinux.conf upon the first boot, so that the next boot will be from NVMe.

Anyway I’d not really suggest that. It might break with whatever nvidia will do in their next update…

The right way is to flash the UEFI with the variable set correctly. As i’ve understood that will be supported with the next release, but who knows when that will come. Also I do not know if it will be supported by a variable or if we still will have to compile the UEFI binary ourselves…

Since NVIDIA does not support flashing and booting NVMe currently my company will probably have to do the Serial setup step after flashing, until the flash scripts are capable of flashing correctly right out of the box.

I have compiled the UEFI myself, it is possible but a bit cumbersome…It does not support A/B rootfs booting anymore though if you do that…

Not really a satisfying answer…I know

place a startup script that will modify your extlinux.conf upon the first boot, so that the next boot will be from NVMe.

You know it’s funny that you suggest this. For our previous 4.4.1 based massflash, I made a startup script which streamlines the production workflow: When you massflash, the device boots up after flash completes. This is not ideal because it does not help for identifying any possible failures (and they happen when hundreds are done in batches!).

I made a one-time initial autoshutdown service. I carefully configured the systemd service to run, and what it does is uninstall itself and then shut down. This way the devkit boards used to do the flashing will end up in a powered down state with LED off if the flash was successful, and the LED will be on if the flash failed on that device for any reason.

That’s something I’ll revisit and set up later, or perhaps these large changes brought about by Jetpack 5 will make it obsolete or impossible (since I intend not to even load an OS on eMMC, and hope not to involve any NVMes during our SoM flashing step). Hopefully flashing only QSPI can be much faster and less error-prone. All I can say is this item is much lower on the checklist right now.

I suppose your setup is a bit different from mine. I am ok for now with leaving the eMMC dormant without any viable OS to boot since that keeps things simple and our application cannot run with only 16GB of eMMC capacity. So I am hoping if we can just only flash QSPI for the eMMC that it might help sidestep the frustrating problem you have described very well so far.

@KevinFFF I hope an NVIDIA rep can comment later today on the issue I’m blocked on now, which is

l4t_initrd_flash_internal.sh: line 735: <snip>Linux_for_Tegra/tools/kernel_flash/initrdflashimgmap.txt: No such file or directory

Meanwhile I’m going to see if Workflow 11 could at least give me viable bootable NVMe devices, and I could at least then make some progress testing that against the SoM flashed via e.g. SDK Manager.

When you are doing Example2 of Workflow10,
what commands do you use for Step1 and Step 2?

initrdflashimgmap.txt is generated from l4t_initrd_flash_internal.sh

echo "flashimg${dev_instance}=$(basename "${OUTPUT_FILE}")" | tee -a "${L4T_INITRD_FLASH_DIR}/${FLASH_IMG_MAP}"

There’s might be error from your generate_flash_initrd().

Step 1 I have posted above several times. Step 2 is done with:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash \
          --external-device nvme0n1p1 \
          -S 8GiB -c ./tools/kernel_flash/flash_l4t_nvme.xml \
          --external-only --append jetson-xavier-nx-devkit external

Yes, I have seen the same bits of the script immediately relating to that $FLASH_IMG_MAP variable. But the script is quite impenetrable.

There’s someone do Workflow 10 successful.
Please refer that to check if it could help:
Create custom nvme image for Jetson - #12 by julia_nitsch

You could try to use flash_l4t_external.xml instead.
Or you could add --showlogs for your command of Step3 to debug in detail.

I am trying Workflow 11, I have made these 3 different attempts to see if I can make it work. I have my NVMe device connected to the host x64 machine and it is /dev/sdn:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --direct sdn -c tools/kernel_flash/flash_l4t_external.xml --external-device nvme0n1p1 p3509-0000+p3668-0000-qspi-sd external    
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --direct sdn -c tools/kernel_flash/flash_l4t_external.xml --external-device nvme0n1p1 jetson-xavier-nx-devkit-emmc external     
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --direct /dev/sdn -c tools/kernel_flash/flash_l4t_external.xml --external-device nvme0n1p1 jetson-xavier-nx-devkit-emmc external

They all end up with

<snip>
[   0.0166 ] FwIndex: 30, MinRatchetLevel: 0
[   0.0166 ] FwIndex: 31, MinRatchetLevel: 0
[   0.0166 ]
[   0.0166 ] header_magic: d00dfeed
[   0.0185 ] tegrahost_v2 --chip 0x19 --align 1_kernel_tegra194-p3668-0001-p3509-0000_aligned.dtb
[   0.0205 ] tegrahost_v2 --chip 0x19 0 --magicid KDTB --ratchet_blob ratchet_blob.bin --appendsigheader 1_kernel_tegra194-p3668-0001-p3509-0000_aligned.dtb zerosbk
[   0.0210 ] adding BCH for 1_kernel_tegra194-p3668-0001-p3509-0000_aligned.dtb
[   0.0297 ] tegrasign_v3.py --key  --list 1_kernel_tegra194-p3668-0001-p3509-0000_aligned_sigheader.dtb_list.xml --pubkeyhash pub_key.key
[   0.0298 ] Assuming zero filled SBK key : not reading
[   0.0316 ] Warning: pub_key.key is not found
[   0.0330 ] tegrahost_v2 --chip 0x19 0 --updatesigheader 1_kernel_tegra194-p3668-0001-p3509-0000_aligned_sigheader.dtb.encrypt 1_kernel_tegra194-p3668-0001-p3509-0000_aligned_sigheader.dtb.hash zerosbk
[   0.0386 ] Signed file: /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra194-p3668-0001-p3509-0000_sigheader.dtb.encrypt
l4t_sign_image.sh: Generate header for kernel_tegra194-p3668-0001-p3509-0000_sigheader.dtb.encrypt
l4t_sign_image.sh: chip 0x19: add 0x4f10a to offset  0x8 in sig file
l4t_sign_image.sh: Generate 16-byte-size-aligned base file for kernel_tegra194-p3668-0001-p3509-0000_sigheader.dtb.encrypt
l4t_sign_image.sh: the signed file is /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/temp_user_dir/kernel_tegra194-p3668-0001-p3509-0000_sigheader.dtb.encrypt
Skip generating system.img
Existing tbcfile(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/nvdisp-init.bin) reused.
131072+0 records in
131072+0 records out
67108864 bytes (67 MB, 64 MiB) copied, 0.216919 s, 309 MB/s
        Sync'ing esp.img ... done.
copying tbcdtbfile(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/kernel/dtb/tegra194-p3668-0001-p3509-0000.dtb)... done.
copying cfgfile(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/t186ref/cfg/flash_l4t_t194_spi_emmc_p3668.xml) to flash.xml... done.
done.
Existing flasher(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/nvtboot_recovery_cpu_t194.bin) reused.
Existing flashapp(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/tegraflash.py) reused.
Existing overlay_dtb(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/L4TConfiguration.dtbo) reused.
Existing overlay_dtb(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/tegra194-p3668-p3509-overlay.dtbo) reused.
Existing overlay_dtb(/home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/L4TRootfsInfo.dtbo) reused.
./tegraflash.py --bl nvtboot_recovery_cpu_t194.bin --sdram_config tegra194-mb1-bct-memcfg-p3668-0001-a00.cfg,tegra194-memcfg-sw-override.cfg  --odmdata 0xB8190000  --overlay_dtb L4TConfiguration.dtbo,tegra194-p3668-p3509-overlay.dtbo,L4TRootfsInfo.dtbo  --bldtb tegra194-p3668-0001-p3509-0000.dtb --applet mb1_t194_prod.bin --cmd "rcmboot" --soft_fuses tegra194-mb1-soft-fuses-l4t.cfg  --cfg flash.xml --chip 0x19 --minratchet_config tegra194-mb1-bct-ratchet-p3668.cfg --device_config tegra19x-mb1-bct-device-qspi-p3668.cfg --misc_cold_boot_config tegra194-mb1-bct-misc-l4t.cfg --misc_config tegra194-mb1-bct-misc-flash.cfg --pinmux_config tegra19x-mb1-pinmux-p3668-a01.cfg --gpioint_config tegra194-mb1-bct-gpioint-p3668-0001-a00.cfg --pmic_config tegra194-mb1-bct-pmic-p3668-0001-a00.cfg --pmc_config tegra19x-mb1-padvoltage-p3668-a01.cfg --prod_config tegra19x-mb1-prod-p3668-0001-a00.cfg --scr_config tegra194-mb1-bct-scr-cbb-mini-p3668.cfg --scr_cold_boot_config tegra194-mb1-bct-scr-cbb-mini-p3668.cfg --br_cmd_config tegra194-mb1-bct-reset-p3668-0001-a00.cfg --dev_params tegra194-br-bct-qspi-l4t.cfg,tegra194-br-bct_b-qspi-l4t.cfg  --bin "mb2_bootloader nvtboot_recovery_t194.bin; mts_preboot preboot_c10_prod_cr.bin; mts_mce mce_c10_prod_cr.bin; mts_proper mts_c10_prod_cr.bin; bpmp_fw bpmp-2_t194.bin; bpmp_fw_dtb tegra194-a02-bpmp-p3668-a00_lz4.dtb; spe_fw spe_t194.bin; tos tos-optee_t194.img; eks eks.img; kernel boot.img; kernel_dtb tegra194-p3668-0001-p3509-0000.dtb; bootloader_dtb tegra194-p3668-0001-p3509-0000.dtb" --skipuid  --secondary_gpt_backup  --bct_backup  --boot_chain A
saving flash command in /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/flashcmd.txt
saving Windows flash command to /home/slu/iai_data/2022-12-15/Linux_for_Tegra/bootloader/flash_win.bat
*** no-flash flag enabled. Exiting now... ***
Save initrd flashing command parameters to /home/slu/iai_data/2022-12-15/Linux_for_Tegra/tools/kernel_flash/initrdflashparam.txt
/tmp/tmp.6eLqOFV2dr /home/slu/iai_data/2022-12-15/Linux_for_Tegra
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
/tmp/tmp.6eLqOFV2dr/initrd /tmp/tmp.6eLqOFV2dr /home/slu/iai_data/2022-12-15/Linux_for_Tegra
53066 blocks
Cleaning up...

Above that output, they all print what this is internally calling flash.sh with:

/home/slu/iai_data/2022-12-15/Linux_for_Tegra/flash.sh  --no-flash --rcm-boot jetson-xavier-nx-devkit-emmc mmcblk0p1

Which is what causes *** no-flash flag enabled. Exiting now... ***

Since tools/kernel_flash/README_initrd_flash.txt is saying Workflow 11 preps the disk directly attached to the host system, and either because of some sticky config or a bug it’s not flashing to the board. Maybe I will try to dd the ./bootloader/system.img.raw to the NVMe and see if it will be a working bootable target. I hope so…

This message is expected due to using --no-flash parameter for flash.
Workflow 11 is used to generate a bootable external storage device, it would not flash into the board.

Besides, could you finish Workflow10 - Example 2 - Step3 with previous reference?

I couldn’t make any of this stuff work.

What did make progress for me was the following:

  • Use sdkmanager_1.9.0-10816_amd64.deb
  • Have nvme plugged into flash board
  • proceed with normal flash steps for 5.0.2 (rev.1) and choose NVMe as flash target
  • flash fails
  • SoM is in indeterminate state (comes up in DFU mode usb ID 7e19 even when not using jumper)
  • This actually successfully sets up the NVMe, as we later find out
  • remove NVMe from flash board
  • proceed with normal flash steps for 5.0.2 (rev.1) and choose eMMC as flash target
  • flash succeeds
  • boot off eMMC works
  • plug in NVMe
  • automatically boots off NVMe

I will be back to explore the flashing scripts, since I will obviously need to automate using them to roll out our next thousand or so units. I highly suspect that there is a significant difference between the 5.0.2 BSP package available for download and the 5.0.2 (rev.1) BSP as used by SDK Manager, but haven’t gone to lengths to confirm that yet.