How can I flash jetpack 4.2.2 to my TX2?

Hi everyone,
I am trying to clone a TX2 to another. As I understand I can not clone everything as some part of TX2 is signed.
I tried some guides but couldnt succeed.
Currently I realized my TX2 have jetpack v4.2.2 but the new TX2 has 4.6.3. I couldnt find 4.2.2 in SDK manager. It has 4.5 and 3.3.4 lowest.
I downloaded L4T and sample rootfs and run the flash.h code but now tegra gone completely. green light on the carrier board getting on and off after some time powering on.

which way I should follow? can you guide me please.

Hello @emrahbaysan

Please open a terminal and type the following command below:
sdkmanager --archivedversions

After the SDK Manager opened, select “show all versions” at the “Target Operating System”.
You will see the older versions.

Merhaba Mehmet
Thank you for your suggestion. I already clicked the show older versions in SDK Manager gui but it didn’t show me the one I was expecting.
Do you think the terminal code will work different? If yes I’ll try first thing in the morning.

I don’t know when the cut-off date was, but some of the oldest of releases might not be in the newer JetPack via the “--archivedversions” (I’m sure it was quite a few releases back though). If --archivedversions does not work, can you download it here?
https://developer.nvidia.com/embedded/jetpack-archive

Thanks linuxdev. Hope it is there because the link you send also forwarding to SDK manager when I click to download JetPack 4.2.2. If you mean to download L4t, please let me know which package I should download as I downloaded driver package and sample rootfs but didn’t help me.

JetPack/SDK Manager is a GUI front end to the actual flash software. The L4T release is tightly bound to a given JetPack release, so to say you picked one or the other is to also pick the release of the other. You can find the same software, using either the L4T release view, or the JetPack release view, via one of these:

When working with a clone you would normally need the same JetPack and/or L4T release for the software performing the clone flash (you can grab a clone from a Jetson with most any release; it is the installation side which needs a matching release because this will also install the boot stages, and those must match the rootfs release).

Thanks @linuxdev, I read a lot of your answers and understand the point of matching the versions of the l4t of both side. Because of that I am looking to flash the new tx2 with 4.2.2 which old one (the one I want to clone) have this version. Then I’ll copy the cloned system.img file. Hope it may work after that.
But I need to figure out how to flash l4t 4.2.2 first

Hi emrahbaysan,

Are you using the devkit or custom board?

I don’t know the exactly reason why you want to use old Jetpack4.2.2 release.
But you can download the SD card image (for the devkit) of Jetpack 4.2.2 from the following link
JetPack 4.2.2 Archive | NVIDIA Developer

1 Like

Hi Kevin,
I have a camera system working with multiple TX2s. one of them have failed and i want to replace it. But replacement TX2 doesnt have the proper software installed and I want to clone one of the others.
Multiple attempts are failed and as I understand from previous posts I need to have same jetpack/l4t versions in the new board. below link to show you the carrier board.
https://www.leopardimaging.com/product/nvidia-jetson-cameras/nvidia-tx1tx2-carrier-cameras/li-tx1-cb/

Currently I have found the 4.2.2 and able to flash it over sdk manager. But I am facing an issue with it.
It starts flashing properly in recovery mode. in some point it restarts the TX2 and expecting to continue flashing for SDK components.
When I check the TX2 screen I can see the agreements to be approved but USB of the carrier board do not work. Keyboard is not functioning, even no power on the usb. Same carrier board is properly working with another TX2.
Means I have no control over the TX2 to continue the installation. SDK manager is not connecting to continue sdk components installation.
I took the TX2 back to recovery mode and SDK manager giving warning about ssh connection, even usb selected. I connected TX2 to a network and make it to get an IP address. But its same. SSH error. even usb or ethernet selected in sdk manager.
No idea how to continue currently.

@emrahbaysan So is the flash successfully finished or not?

Also, is this your first time flashing a device or not? Your comment sounds like so. You need to configure your user account in either headless or monitor to proceed.

Incidentally, since this is a third party carrier board, unless it is an exact duplicate of the dev kit carrier board, the device tree will differ. It is quite possible the software provided for the Leapard Imaging board differs from the 4.2.2 only by a device tree (it would be a bit rare, but perhaps this is a duplicate of the dev kit…but highly likely not). This means that you would need not just the dev kit 4.2.2 flash software, but instead you would want the board support package from Leapard (the same release they used when the rootfs was created). Does Leapard have their own flash software for that model?

Yes Wayne, it is first time for me. I couldn’t complete the flashing because I was not able to complete account creation because of usb is not working.

I’ll check with the leopard imaging if they have something for this as @linuxdev suggested.

Hi everyone,
I have contacted with the board producer and they send me dtb file to flash with kernel. USB worked after that and 4.2.2 flashing finalized successfully. thanks to @linuxdev

But I have another issue, not sure if i should open another sub, but I will ask from here.

I have flashed the jetpack 4.2.2 and copy the backup to it with below command
sudo ./flash.sh -r -k APP jetson-tx2 mmcblk0p1

When I restarted the new cloned tx2 I got an error mentioning /var/log cant be mounted.

when I search in forum I found @linuxdev 's comment in another sub . but not sure if it may help me.

Also i found (cant find now) another solution to remove mounting of /var/log from some settings. but not sure how it will affect. my aim is to create an exact copy of the master TX2.

One common point to consider is that there is a lot of boot content in other partitions. That content must be compatible with the rootfs. If at some point you only flash the rootfs, then it is possible the previous non-rootfs content is from the wrong release (unless that Jetson has been specifically flashed before with that release). If you flashed everything, but reused the rootfs from a clone, then the release being used to flash should be the same release which originally flashed the Jetson the clone came from.

Also, before you clone, make sure the Jetson has a clean filesystem. The point there is that if the Jetson is shut down improperly, e.g., power cut instead of a software command, then the filesystem corruption will also exist on the clone. Incidentally, you can loopback mount the raw clone on the host PC and see if it has corruption if you wish. Mounting it read-only from the host PC, directly mounting “bootloader/system.img” (if it is a raw image), is a useful test.

One does not normally back up the boot content. The idea is to install the boot content fresh with a release matching the original.

Unfortunately same result.
I have checked multiple times, get backup again from properly closed master device. Double checked the jet pack versions etc.
I am getting can’t mount /var/log error.
Can you suggest to pass this and find a way to mount on Linux?

Hi,

I would like to suggest another way to debug here.

Please follow this website and dump the boot up log from serial console.

This will tell more about your situation instead of depending what you saw on monitor.

Thanks @WayneWWW , I’ll try by tomorrow and update in here.

Hi @WayneWWW ,
I was struggling to reach to serial port as producer was placed a resistor wrong. we have reworked and able to reach it now.
You can find boot up log in attached txt file. looks like it can not find an ext4 file system.
tx2 boot-up log.txt (109.9 KB)

Hi @emrahbaysan

Just a reminder that, your log seems not copied correctly. As I saw, it looks like below… seems not quite readable.

Also, could you clarify this again about how did you flash your board exactly? I has been almost 2 weeks from you so actually I forgot about how you flashed your board.

And it sounds like it is a custom carrier board?