Recovery jetson tx2


i am trying to recovery jetson tx2, but i can put to continue button, please help me. Thanks a lot

and now, i can’t exit recovery mode :<

Recovery mode is just a custom USB mode (meaning it requires a custom driver to see it as a device…the flash software is in fact that driver). Recovery mode, in and of itself, does not actually modify the Jetson in any way unless flash software has run. Resetting power resets recovery mode, and this is part of the hardware so it is rather difficult to fail and remain in recovery mode.

Any time the recovery pin is held to ground during either (A) power on or (B) power reset the Jetson will go into recovery mode. This is like a shift key on a keyboard producing a capital letter, and so there is no requirement to hold the pin down for any length of time other than during the power on or power reset event. You’d let go of the recovery pin once the Jetson is powered on. If flash has not been attempted, then there will be no change to the Jetson even if you do this many times.

Don’t mistake lack of a GUI for recovery mode or other failure. You really need to get a serial console boot log if you want to know what is going on. Without that it is quite difficult to debug and the only advise would be to flash again. If you can get the serial console log, then this would help a lot (serial console can log boot stages too, not just Linux).

Is this a TX2 dev kit? Or is this using a third party carrier board? Third party carrier boards use a different device tree (firmware) most of the time.

If you have a monitor attached, is it purely HDMI, or does it have any adapter?

i want recovery tx2 because it is full. i want discovery it from zero. Can you guide me “How to recovery jetson TX2” tutorial. Thanks a lot

If the issue is one of running out of space, then you might consider cloning it if you wish to save what you have on it. A clone gives you an exact copy of the rootfs partition. Clone provides both a raw clone and a sparse clone; raw clones can be loopback mounted, modified, examined, and used for flash, whereas sparse clones can be smaller (the sparse clone size approaches the raw clone size as the partition fills, so your sparse clone will be nearly as large as the raw clone). Sparse clones tend to be used only for flashing.

If you take any clone, whether it be sparse or raw, and whether you’ve deleted content off of it to save space or not, and name it “system.img” and place it on the host PC’s “Linux_for_Tegra/bootloader/” directory, then use the “-r” flag for command line flash, then what you get is your clone instead of a default install. Meaning your clone is restored along with whatever edits you make. If you find content to delete to add space, then the flash will solve the problem. It is a good idea to have a clone for backup anyway.

You could clone with any L4T R32.x release, although you’d want to restore with the same release you used to create the original install. Beware that your host PC with the flash software will need a lot of space. If your TX2 partition is 16 GB, then expect to need 32 GB of free space just for the clone.

A typical clone of a dev kit would be to put it in recovery mode and attach the USB to the host PC. Then, from the Linux_for_Tegra/ directory:
sudo ./flash.sh -r -K APP -G my_backup.img jetson-tx2 mmcblk0p1

This would produce my_backup.img (sparse, not so useful, you might want to delete it) and my_backup.img.raw (very useful).

You can loopback mount this to remove content which might let you boot again:

sudo mount -o loop ./my_backup.img.raw /mnt
cd /mnt
# Now explore, find stuff, e.g., something in "`/mnt/home/`", and delete only things
# that won't hurt to be missing.

# Be sure to examine:
head -n 1 /mnt/etc/nv_tegra_release

# Write the answer down as this is the version of flash software you would use to restore with.
# This is the L4T release.

# You can umount if you are in the directory:
cd
sudo umount /mnt

This clone is now a backup. Try to not lose it. Warning: Files this large take a lot of time just to copy. You could use mv to place this as “bootloader/system.img”, but then you risk losing it. I recommend, from “Linux_for_Tegra/”:

cp ./my_backup.img.raw ./bootloader/system.img

Then flash on command line, but tell it to reuse the image instead of generating a new one:
sudo ./flash.sh -r jetson-tx2-devkit mmcblk0p1

Note that flash software can be found via L4T release here:
https://developer.nvidia.com/linux-tegra
(for flash use the version you found in /etc/nv_tegra_release)

Note that if the image is not the default size that you will need to specify size. If this is needed, then post in this thread what the exact size is of the system.img when it is created via the my_backup.img.raw (e.g., “ls -l my_backup.img.raw”).

The following assumes this is a a TX2 developer kit. Different hardware or models would require changes.

If you wish to download the flash software manually instead of allowing JetPack to do so, then you would:

  1. Download the “driver package” and “sample root filesystem” (technically, you don’t need the latter since you are only restoring a clone, but I will include this in the steps).
  2. Unpack the driver package as a regular user, which creates “Linux_for_Tegra/”.
  3. Within “Linux_for_Tegra/rootfs/” unpack the sample root filesystem with sudo.
  4. cd back to “Linux_for_Tegra/” and run command “sudo ./apply_binaries.sh
    (apply_binaries.sh is used only once on the sample root filesystem; if you are installing clones then you don’t need to do this; if the sample rootfs is not unpacked, then this will in fact fail).
  5. Put the TX2 in recovery mode with USB attached.
  6. sudo ./flash.sh -r jetson-tx2-devkit mmcblk0p1

Your clone is now restored if the image was the default size.

Note: It is somewhat easier if you just want to flash it with a default image.

opps, i have just put tx2 to recovery mode and upload sdkmanager, unfortunately, when i replug in and plug in power, then hold the button power, it still in recovery mode. i connect tx2 with a monitor by HDMI cable and it doesn’t work

HDMI cannot be used to determine if it works or not. What is it that makes you think it is still in recovery mode? Most likely it is not (unless the recovery button has been held down or no reboot has occurred).

The usual configuration of a Jetson is to be a custom USB device when in recovery mode. When fully booted the Jetson provides a virtual wired network router. Both are device mode, both use the same USB IDs. Unless you’re watching serial console and have a full boot log you can’t really say that either the flash failed or that the unit is not booting.

It is common for video to fail for some minor correctable reason, but once again, you would typically need serial console to log in to correct it. Do you have a serial console boot log?

After i use sdkmanager to recovery Jetson tx2. Don’t have No dialog boxes are appearing. Then i push the power button to turn off tx2 then turn on. I pluged in the hdmi from tx2 to my monitor. but it doesn’t work. Don’t have anything in my mornitor

You need a serial console boot log. There is no better tool for finding out what is going on, and it is fairly simple.

Thanks for support. I recovery tx2 successfully. But i have a question. Can i install ubuntu 20. on jetson tx2

No. The TX2 froze feature updates at Ubuntu 18 (L4T R32.x). Ubuntu 20 (L4T R35.x) is available on Xavier and Orin. Ubuntu 22 (L4T R36.x developer preview) requires Orin.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.