I have bought a TX2 recently, but my host computer has no internet access. The result is that I can’t install the JetPack L4T 3.0.
Although I knew that I can manually download “manifest.json” and “repository.json” in order to download the huge installation packs such as CUDA or Sample Root System, I was stuck at the beginning stage of “Component Manager”. On the bottom of the window it says “Downloading update lock”. Even I put the three downloaded files (update.lock, manifest.json, repository.json) in the directory, it ignores them and still tries to link the internet.
So is there a way to install JetPack L4T completely offline? Or is it possible to get the same software environment by myself without using the JetPack?
You can manually download the L4T components from the NVIDIA developer website, but not all (for example, the arm64 packages for TensorRT and VisionWorks are only provided by JetPack). I recommend that you temporarily get your host machine internet access, then let JetPack download the packages. At that point you can either install them manually on your Jetson or let JetPack do it. For JetPack to do it there needs to be a network connection between the host machine and Jetson so JetPack can run commands on the Jetson via SSH.
What is the exact Internet and private network setup you have for the Jetson and host, including temporary possibilities? Knowing more about the limitations of your current situation might make more suggestions possible.
Thank you for your reply. My Jetson TX2 board is able to connect to the host computer with Ethernet cable or USB cable, but the host PC has No Way to access the internet, even temporary possibility doesn’t exist.
I know the problem is a little weird but really hope to find some solution.
I shall give some more specific information. My host computer has no right to access the internet, but I can download install packages on some other computers and copy them to the host computer. I can find the download URLs in the “repository.json” for TensorRT and VisionWorks. However, the question is even I have downloaded all the needed files and copied them to the host computer, the Component Manager of JetPack L4T requires internet access so that the windows is blank and stuck, which means it cannot continue to the stage of downloading files.
And after I read your answer, I think it implies that it is possible to download all the packages and install them manually on the host computer. I am able to connect the TX2 and the host computer with Ethernet cable, may I ask is it possible to flash the OS on the TX2 without internet connection on the host computer?
If you use JetPack it will try to use the internet. If you use just command line and only run a flash, then you are fine with nothing more than a USB cable from the micro-B USB port on the Jetson to the host. This requires the driver package and the sample rootfs from here:
[url]https://developer.nvidia.com/embedded/linux-tegra[/url]
If you can run JetPack from another Linux computer with a network you can get some of the other packages as well for copy by disk to the host, and then to the Jetson. You’d have to do some work, but if interested it is possible with this and wget. See:
[url]https://devtalk.nvidia.com/default/topic/982848/jetson-tx1/tx1-specific-arm64-deb-repo-for-cuda-8/post/5063053/#5063053[/url]
(basically the repository.json file gives you clues on where to use wget to download packages JetPack would have downloaded…but this way does not require the Jetson to be connected at the time of download…nor is any automation available so it is manual)
The driver package and sample rootfs and many supporting packages (e.g., documentation, source code) are available separately. The CUDA and related packages are only available under JetPack (which is why I mentioned using wget based on URLs from a partial use of JetPack).
FYI, you can use a browser or download tool from another system to point at those addresses.
The files named in a URL can be directly pasted into a browser’s address. If the address is a downloadable file, then the browser should offer to download it. wget is just a browser which has only a command line to copy the file you point at to the local system…it is a highly cut down web browser. Regardless of which web browser you use (e.g., wget or firefox or chromium) a valid web URL naming a file should get the file. That list of URLs for files can be extracted from one of JetPack’s configuration files (there is some effort in sorting it out for the arm64/aarch64 version since JetPack also installs to a desktop host). For information on the file used to extract URLs see: https://devtalk.nvidia.com/default/topic/982848/jetson-tx1/tx1-specific-arm64-deb-repo-for-cuda-8/post/5063053/#5063053
Then examine the repository.json file, e.g., “less repository.json” in Linux, or any text editor on other operating systems.
An example would be this excerpt from one repository.json:
"description": "CUDA Toolkit for L4T. The NVIDIA CUDA Toolkit provides a comprehensive development environment for C and C++ developers building
GPU-accelerated applications.",
...snip...
"download": [
{
<b>"url": "http://developer.download.nvidia.com/devzone/devcenter/mobile/jetpack_l4t/006/linux-x64/cuda-repo-l4t-8-0-local_8.0.34-1_arm64.deb"</b>,
"checksum": "e54c7a521ed78ed02b4fe9f3d72cafd6d2bafe9e",
"cache": "jetpack_download/cuda-repo-l4t-8-0-local_8.0.34-1_arm64.deb",
"checksumType": "sha1",
"size": "1221853282"
}
The entry with “arm64” refers to a file intended for a Jetson TX1 or TX2. The entry with “amd64” refers to a desktop PC. You can eliminate any entry not arm64.
Pasting this into a web browser should get the “.deb” file:
There are significant requirements in the user environment for the chooser to run…I don’t know the details, but it is easy to believe a default Cygwin environment does not have everything you need. If you go the Cygwin route you are bound to be researching java version requirements, user space libraries, so on…I do not know what all of those requirements are, but it won’t be quick to research. Having a correct environment would be easier on a real install on an external disk that you can connect to the computer, or else a partition actually on that computer.
libxmu-dev and libxi-dev can be installed with whatever package tool that flavor of Linux has…e.g., in Ubuntu with “apt-get”, or Fedora with “dnf”. I have no idea which tool to use as the package manager for Cygwin. The repository.json only shows where to download CUDA files which are part of the release…other dependencies would only be found through standard operating system package management…these are not part of CUDA.
Not sure what us broken…you may post the error message for better advice.
You can try to reinstall it with JetPack from host, unselecting all (don’t flash) and just selecting cuda install in post-install steps. This requires the Jetson to be connected to network so that host can connect to it.
That will either return to you the path where you can find the file or will make it clear that the file is not represented at the filesystem. And if the file is not represented at the filesystem you may approach Jetpack installation method described in the previous post. That will require to connect Jetson with Host PC via type-B micro usb cable , [for post installation it is not required to set the device into the recovery mode, as far as I am concerned, since the post-install utilizes rather network connection, than usb cable ]. And approach installing cuda to the jetson
You can run JetPack at any time and just deselect the flash step. Select only the operation you want. Since flash uses recovery mode and the micro-B USB cable there is no chance of accidental flash if either you don’t have recovery mode on or the micro-B USB cable is not connected.
Be sure to check the console of JetPack while working with it in case it asks for a password or IP address. You may also want to be sure your host has package “ssh-askpass” (“sudo apt-get install ssh-askpass”).