Flash Jetson TX2 error : CPU Bootloader is not running on device && Failed to execute commands with GenericInstaller

Some details on manually working with the “driver package” and “sample root filesystem” might help here. JetPack/SDKM is itself only a front end to this, and for adding optional extra packages. I’m not sure how JetPack/SDKM deals with alternate install locations (never tried), but this is how you would work with manual command line install.

Wherever you are at when you unpack the “driver package” you will end up with the “Linux_for_Tegra/” subdirectory. Whenever JetPack/SDKM runs, this directory exists only because it unpacked the driver package there. The driver package itself should not be unpacked with sudo and should only be unpacked as your regular user.

Once you have the driver package installed there will be an empty (other than a README) directory at “Linux_for_Tegra/rootfs/”. This is where you unpack the sample rootfs. You must be careful to use sudo in unpacking the sample rootfs since file permissions and ownerships must be preserved. This puts a lot of purely Ubuntu content into the “rootfs/”.

When NVIDIA drivers are added to the purely Ubuntu rootfs this can be called “Linux for Tegra” (or “L4T”). This is the actual content which is going to end up being used for generating an image and flashing with that image. The method of adding those drivers is to use sudo and run the command “sudo ./apply_binaries.sh” from the “Linux_for_Tegra/” directory. Once this is done you are ready to flash however many times you want without having to repeat any of those above steps again.

If your Jetson is in recovery mode and attached to the host with the micro-B USB cable, then this should flash:
sudo ./flash.sh jetson-tx2 mmcblk0p1

Keep in mind that while flashing is going on it will create images the size of the entire TX2 eMMC, and so this is going to consume a lot of space on the host PC. If you have 16GB of eMMC, then over 16GB will be used the first time flashing. If you have a Jetson with 32GB of eMMC, then over 32GB will be consumed from the host PC file space if it is the first flash. Additional flashes do generate the same size content, but it overwrites the current temporary content rather than saving the old generated content.

If you want to flash on command line, then you can log the flash like this:
sudo ./flash.sh jetson-tx2 mmcblk0p1 2>&1 | tee log_flash.txt
(text logs can be attached to the forum and are far easier to work with than images)

Hi,
Please check the ownership of the folder it will be $user $user, it should be root root to get it installed.

Hello everyone, I have encountered such a problem here. But I am a novice, and I don’t understand where the problem is and how to solve it. Hope someone can help me.
SDKM_logs_JetPack_4.2.3_Linux_for_Jetson_TX2_2021-05-20_14-54-09.zip (231.0 KB)

You don’t even put your board into recovery mode.

This is from your log.

Info: current working directory is /home/z/nvidia/nvidia_sdk/JetPack_4.2.3_Linux_GA_JETSON_TX2/Linux_for_Tegra
Info: exec_command: sudo ./flash.sh jetson-tx2 mmcblk0p1
###############################################################################

L4T BSP Information:

R32 , REVISION: 2.3

###############################################################################
Error: probing the target board failed.
Make sure the target board is connected through
USB port and is in recovery mode.

This is indeed a low-level mistake I made. What is the correct way to enter the recovery mode? What is the prompt to enter recovery mode?

Please check the quick start guide.

Hello, there is no verification of whether it is in recovery mode in the Quick Start Guide document of version 32.4.2. How do I know if I am currently in recovery mode?

One method is check the lsusb command on your host side. You shall see nvidia corp device on it. Also the tx2 will be in brick state where no peripherals should work. For example, the HDMI should be in blanked state.

FYI, the “recovery mode” button works like a shift key on a keyboard…you hold it down, tap some other key, and then let go of the button to modify the button. In the case of a real keyboard, then for example a “c” key would become a capital “C”, but the recovery mode only modifies power on. If the recovery key is held down while either the power is turned on, or when the power is reset, then you will be in recovery mode. You don’t have to hold the recovery button for any particular time, it just needs to be pressed during the power on or reset event, and you will be in recovery mode.

Note that recovery mode does not actually change a Jetson. What this does is boot the Jetson to an alternate mode where the Jetson becomes a custom USB device understood by the device driver on your host PC over USB. Different models of Jetsons have different identifiers, but if this is an ordinary TX2 dev kit, then this will show results from the host PC with the TX2 in recovery mode and the micro-B USB cable connected:
lsusb -d 0955:7c18

The 0955 is the manufacturer ID (NVIDIA), and the 7c18 is the device registered for NVIDIA’s USB devices for the TX2. You could list all NVIDIA devices without limiting to the TX2:
lsusb -d '0955:'

Thank you brothers for your help. I have successfully reinstalled and configured the development environment.