NVIDIA Tegra
NVIDIA Tegra Linux Driver Package

Development Guide
28.3 Release


 
Flashing Multiple Tegra Devices
 
Before You Begin
Creating mass flash image
Creating the Flash Command File
Connecting the Tegra Devices to the Host
Flashing Multiple Devices
Flashing the Devices
Use these procedures to flash multiple Tegra devices concurrently with one host system.
For flashing details, consult Flashing and Booting the Target Device.
Before You Begin
Before creating the flash command file, these prerequisites must be met:
All connected Tegra devices must be the same model and revision for the board and the chip
Connect a Tegra production device to the host system
Place the device in force recovery mode.
For information, consult To place the device in force recovery mode in the Quick Install Guide.
Download and extract an L4T release.
There are two options for downloading the release:
Manual download from the Jetson Download Center
Automated installation using the JetPack installer
Navigate to the installation location on L4T, typically this is at:
<top>/Linux_for_Tegra/
Where <top> is the directory where you installed the release.
Navigate to the the directory for your L4T Jetson device as follows:
TX1:
64_TX1/Linux_for_Tegra_64_tx1/
TX2/TX2i:
64_TX2/Linux_for_Tegra_64_tx2/
Creating mass flash image
Applies to: Jetson TX1 devices only.
To support BFS redundancy
If and only if BFS redundancy is required, then perform the following extra steps before To create a mass flash image:
1. Comment out the line in jetson-tx1.conf that starts, BOOTPARTSIZE=...
2. Rebuild the kernel to expose /dev/mmcblk0boot{0,1}.
3. Enter the command:
cd bootloader; ./mkbctpart -G bfsconf.xml
For more details on BFS, see <top>/bootloader/TX1_boot-firmware-redundancy.txt.
To support Secureboot
If and only if Secureboot is required, then perform the following extra steps before To create a mass flash image:
1. Burn Jetson's fuse for PKC hash.
2. Rebuild U-Boot.
For more details on Secureboot, see <top>/bootloader/README_secureboot.txt.
To create a mass flash image
1. Put the connected Jetson TX1 into RCM mode.
2. For non-secureboot (including BFS) only, run the command:
./nvmassflashgen.sh jetson-tx1 mmcblk0p1
For Secureboot only, run the command:
./nvmassflashgen.sh -x 0x21 -y PKC -u <keyfile> jetson-tx1 mmcblk0p1
Note:
nvmassflashgen.sh generates mfi.tbz2, which is basically a Bootloader directory tarball.
Creating the Flash Command File
Applies to: Jetson TX2 devices only.
To create the flash command file, execute one of these commands for your Jetson device:
TX1
$ sudo ./flash.sh --no-flash jetson-tx1 mmcblk0p1
TX2
$ sudo ./flash.sh --no-flash jetson-tx2 mmcblk0p1
TX2i
$ sudo ./flash.sh --no-flash jetson-tx2i mmcblk0p1
Upon successful execution, the flash command is stored in a text file available at:
bootloader/flashcmd.txt
Connecting the Tegra Devices to the Host
To eliminate low USB transfer performance and ensure that flashing is successful, connect the Tegra devices to the USB root ports of the host system with one device on one port as follows:
$ lsusb | grep NVidia
Bus 005 Device 012: ID 0955:7721 NVidia Corp.
Bus 003 Device 016: ID 0955:7721 NVidia Corp.
 
$ lsusb -t
/: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 1: Dev 12, If 0, Class=Vendor Specific Class, Driver=usbfs, 480M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
|__ Port 1: Dev 16, If 0, Class=Vendor Specific Class, Driver=usbfs, 480M
Flashing Multiple Devices
Applies to: Jetson TX1 devices only.
To flash multiple devices
1. Download the mfi.tbz2 image created by the procedure To create a mass flash image to each manufacturing host.
2. Untar mfi.tbz2 on each host:
tar xvjf mfi.tbz2
cd bootloader
This step takes about three minutes or less.
3. Connect a Jetson TX1 device to each manufacturing host.
4. Put each connected device into RCM mode.
5. Run the flash command on each host:
./nvmflash.sh [--showlogs]
Note:
nvmflash.sh saves all massflashing logs in the bootloader/mfilogs directory. Each log name has following format:
<hostname>_<time stamp>_<pid>_flash_<USB path>.log
Flashing the Devices
Applies to: Jetson TX2 devices only.
To flash the devices
1. Connect one TX2 device and boot it into recovery mode.
2. Run this command to create mass flash image:
$ sudo ./nvmassflashgen.sh jetson-tx2 mmcblk0p1
3. Untar mfi.tbz2:
$ tar xpvf mfi.tbz2
$ cd bootloader
4. Connect the other TX2 device(s) and boot them into recovery mode.
5. Flash the TX2 devices:
$ sudo ./nvmflash.sh --showlogs