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.