Jetson Xavier NX from cyberdog reflash

accidentally after trying to do backup of ubuntu it crashed and now i cant do anything with it, even old lubuntu backup cant boot bcs its was updated, i have a second cyberdog maybe i can transfer old boot to xavier somehow, im new to all of it and i scared to brick second ? i tried building iso from jetson-image repo it only boots to bash, even if i try to set recovery partition it wont show up in the sdk manager, what do i do ?




I can’t help much on this, but is this “cyberdog” a third party carrier board and module, and not a Jetson developer’s kit? If so, then likely they provide the flash software. The firmware for such devices will likely differ from a dev kit.

Also, if you do use the NVIDIA flash content (which is probably incorrect unless the providers of this other carrier board say to use the NVIDIA content), and if your host PC Ubuntu is too new, then you might try flashing on command line. However, if this is an Xavier, and not an Orin, then there is no chance that L4T R36.x (JetPack 6) will work. This would be limited to L4T R35.x (JetPack 5).

Can you tell us if (A) the manufacturer of the cyberdog has information saying that the NVIDIA flash software is correct, and (B), can you try JetPack 5 (or JetPack 6 started with “sdkmanager --archived-versions”)? If you still have the “LInux_for_Tegra/” directory from L4T R35.x, then it would be somewhere under “~/nvidia/nvidia_sdk/JetPack...version.../Linux_for_Tegra/”, and we could try a command line flash from almost any release of Linux for the host PC. Need to know the above first though.

i cant see a device now in lsusb, i was having problmes running stock lubutun 18 from xiaomi, and updated through sdk manager without problems, but then i was doing backup of a nmve with clonezilla my laptop crashed a backup, and now i cant connect a xavier nx to flash it, i still have LInux_for_Tegra/ from installation
i can only boot to recovery partition from iso i build with jetson-image but if try download type-c port on board to connect it it dont show up

A lot more information is needed. We have to know first what the creators of this device (carrier board) say the requirements are for flashing; there is a strong change they’ve edited the device tree/firmware. What you flash it with absolutely must be compatible from that manufacturer, or the manufacturer must say that NVIDIA’s software can be used.

Also, if this is using NVIDIA’s software, then only the Ubuntu releases compatible within the published Jetson software is possible without some pretty severe conditions. Adapting to other releases of Ubuntu or Linux during actual flash doesn’t really start until L4T R36.x, and Xavier is not compatible with R36.x. Whatever “stock lubuntu” from xiaomi is, we need to know if it was designed for your specific Jetson (they may have adapted it).

Often a device not showing up in recovery mode is related to using a VM, but otherwise a recovery mode device should at least show up in lsusb. What is the exact Linux release used on your host PC, and is it native, or is it a VM?

It is possible to dump a emmc files from working xavier nx in working cyberdog ? to flash this board ?

You can always clone if you can put the Jetson in recovery mode. Clone works against just the rootfs. There are some backup and restore scripts, but they try to work with other partitions as well.

I want to emphasize that Jetsons do not have a hardware BIOS. What they have is the software equivalent. Every flash is essentially flashing not only the boot chain and o/s, it is also flashing the BIOS. If the BIOS and boot chain are incorrect for a given o/s, then boot will fail even if the flash succeeds.

What follows is for Jetson developer kits, and not for third party carrier boards (although third party carrier boards could be adapted).

Each L4T major release has a given “equivalent” BIOS compatibility. The o/s itself is married to that release. If you had two Xaviers with R35.x on them, but different o/s customizations, then in theory you could clone the o/s of one (the root filesystem, or rootfs), and then simply overwrite the other with that clone and it would work. There are a few extra caveats, e.g., the filesystems would have to be the same size rootfs. There might be a need to edit a partition UUID as well.

The firmware can live in both the o/s partition and the boot content (if security fuses are burned, then it can only live in boot content). If you also had an Xavier with L4T R32.x, then you could not succeed in booting the R32.x clone onto an R35.x boot content, nor the reverse.

Cloning of just the rootfs though is a simple thing. The clone should work from any carrier board even if the system won’t boot. One caveat is that if the partition itself is broken (we are not speaking of partition content, we are speaking of the partition itself), then cloning might fail.

If you were to take an Xavier NX dev kit, clone the rootfs, and then manually adjust the clone to use the Cyberdog firmware, then it might work. You might also need to work on the initrd since any modules in that are expecting the donor clone to have compatible kernel/module pairs.

If you look at the NVIDIA flash content you will have a directory “Linux_for_Tegra/”. If you go there, and list these files:
ls jetson*.conf
…and then remove the suffix from each file name so there is no “.conf”, then these are all flash targets. Command line flash or clone works with that. For flash you’ll note that targets are really made up of a combination of the module and the carrier board; you only care about the carrier board during flash, not during clone. Extracting that clone is still simple even on your non-NVIDIA carrier board (but as mentioned, putting that clone onto the Cyberdog, or vice-versa, will not be so easy due to differences in carrier board firmware).

i ordered a dev board, with that i think i can clone a emmc partitions and flash it to boot old backup, or even have a working board that boots in ubuntu, how can i try build a firmware with command ? i have all files in my nvidia sdk folder, im using native ubuntu 20.04 on my hp laptop, even if a can build is this possibe to flash it all on a m2 drive without xavier been available in sdk-manager ? sorry for my bad english

Using an external boot device (e.g., m.2 slot drive) greatly complicates things. What you want to do is possible, but it is far more complicated than it might look at first.

To start with, the firmware which might exist in the old non-NVIDIA system will differ. You would have to adjust that firmware. That firmware can exist in a number of locations outside of the o/s itself. I am going to recommend against it, although you might try once.

A dev kit uses the command line l4t_initrd_flash.sh script (see “Linux_for_Tegra/tools/kernel/flash/”, and the README files. Because Jetsons do not have an actual BIOS what this does is the equivalent of reprogramming the BIOS itself during flash to use eMMC content to point at the external device indirectly through an initrd temp filesystem. You would probably have to edit the initrd itself.

If this were pure eMMC without external device, then one could flash the dev kit normally, but simply use the other clone (there would likely be adjustments for partition size). Most of that extra content though is wrong when switching to an external boot device.

Do you have a clone of the rootfs itself? Or do you still have a device you can create an image of the rootfs on a separate Linux host PC? If so, then you could bring the dev kit up normally (using l4t_initrd_flash.sh), and then loopback mount the clone of the rootfs; that clone would be fully accessible, and could then be used to rsync individual parts of the original into the new dev kit. Home directories and many locations are trivial to do this with over ssh and rsync. It just depends on what you are trying to save (the location).

Please note that clone tools tend to clone more than the rootfs. The clone I am talking about is a raw clone of a single partition.

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