FYI, 4.6.3 and 4.6.1 are releases of JetPack, which is the GUI installer, and must run on an Ubuntu 16.04 or 18.04 host PC. What actually gets flashed is “Linux for Tegra” (“L4T”, which is Ubuntu plus NVIDIA drivers). The current L4T release can be found with “head -n 1 /etc/nv_tegra_release”. Note that a given release of L4T is tied to a specific JetPack release, and so the terminology is still somewhat interchangeable.
Simply changing the apt repository is not an actual upgrade. This does indeed make the packages of another release available. For newer releases there are commands to make this upgrade. However, you are starting with a release which I think is older than when such upgrades from one release to another were first enabled. I think you’ll have to flash, which in turn means using an Ubuntu 16.04 or 18.04 host PC with JetPack/SDK Manager added to that PC.
Documents and downloads are available here (either link will get you there):
Note that if this is any Xavier, then you can use L4T R35.x/JetPack 5.x+. If using JetPack 5.x+, then the host PC can be either Ubuntu 18.04 or 20.04.
Flash will erase the current content, but you can first clone to keep a reference copy (this takes a lot of space, and instructions differ depending on whether it is an SD card model or an eMMC model).
Thank you for the quick reply.
The FYI was a great learning experience.
Due to business constraints, I want to use 4.6.1/L4T R32.7.1. (Because I have not investigated the impact of the security update from 4.6.1 to 4.6.3, I am worried that pytorch etc. will not be usable)
Before doing this I burned 4.6.1 with SDK Manager and restored the 4.3 image. As a result, I gave up because the NVIDIA logo was displayed and the reboot was repeated.
At that time, I put System.img of 4.3 under Linux_for_Tegra/bootloader of 4.6.1 and executed it with the following command. “sudo ./flash.sh -r -k APP jetson-xavier mmcblk0p1”
To flash and restore the image (which I understand is better), is there anything wrong with the above steps?
Where to start to fix that situation?
The above is mixing 4.3 and 4.6.1 (boot content versus rootfs). Quite often (not always) mixing the boot content of one release with the rootfs (the o/s) of another release will fail in the way you described. I’ll suggest making things entirely 4.3 or 4.6.1, but not a mix.
The boot content of a given release needs to be compatible with the rootfs (which is what a clone provides…the rootfs, but not the boot content). Sometimes and older and newer release are compatible (in terms of boot content and rootfs), but often not. Regardless, CUDA and many other related softwares (those which depend on a GPU driver) are dependent upon the rootfs and won’t care about the boot content. In other words, if you upgrade JetPack to a newer release, but use an older rootfs and get lucky and it works, then the GPU-dependent content is still stuck with the older release which generated that rootfs.
You need to fully flash, including a new rootfs, if you want to move to 4.6.3, and not reuse the image. You can save a lot of content and then add it back in at 4.6.3, but direct clone would still use the wrong JetPack release.