Why does --no-flash require an attached TX2 in recovery mode?

root@L087:/usr/src/jetpack/64_TX2/Linux_for_Tegra_tx2# (time sudo ./flash.sh --no-flash smartsense-1 mmcblk0p1) 2>&1 | tee sources/flash.output 
./tegraflash.py --chip 0x18 --applet "/usr/src/jetpack/64_TX2/Linux_for_Tegra_tx2/bootloader/mb1_recovery_prod.bin" --cmd "dump eeprom boardinfo cvm.bin" --skipuid 
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.0022 ] Generating RCM messages
[   0.0032 ] tegrarcm_v2 --listrcm rcm_list.xml --chip 0x18 --download rcm /usr/src/jetpack/64_TX2/Linux_for_Tegra_tx2/bootloader/mb1_recovery_prod.bin 0 0
[   0.0041 ] RCM 0 is saved as rcm_0.rcm
[   0.0046 ] RCM 1 is saved as rcm_1.rcm
[   0.0046 ] List of rcm files are saved in rcm_list.xml
[   0.0046 ] 
[   0.0046 ] Signing RCM messages
[   0.0057 ] tegrasign_v2 --key None --list rcm_list.xml --pubkeyhash pub_key.key
[   0.0067 ] Assuming zero filled SBK key
[   0.0105 ] 
[   0.0105 ] Copying signature to RCM mesages
[   0.0130 ] tegrarcm_v2 --chip 0x18 --updatesig rcm_list_signed.xml
[   0.0158 ] 
[   0.0159 ] Boot Rom communication
[   0.0168 ] tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml --skipuid
[   0.5062 ] 
Error: Return value 8
Command tegrarcm_v2 --chip 0x18 --rcm rcm_list_signed.xml --skipuid
Reading board information failed.

My sequence is:

  • flash.sh --no-flash to create the system image, etc
  • build docker image
  • later on…
  • run docker image with ENTRYPOINT=‘sudo flash.sh -r jetson-tx2 mmcblk0p1’

Why does the initial run with --no-flash require a TX2 in recovery mode?

I couldn’t say for sure, maybe this is just a bug. I will speculate though that perhaps the final setup of the image requires knowing some detail about the board which is going to be flashed.

A normal flash creates a loopback image which is nearly identical to the “rootfs/” directory. What differs is that some of the “/boot” files will change during creation of the image based on the board being flashed. How much of that “/boot” edit is based on command line arguments and how much is based on reading the board ID I don’t know.

hello smacdonald,

it’s true that you’ll need to put TX2 in recovery mode even running with “–no-flash” command.

because it needs to read board information from EEPROM in the beginning of the flash progress.
you could execute the default flashing commands, and check this from the console messages.
thanks