I am new to using the Jetson TX2 and have been reading/watching tutorials on how to install jetpack 3.0. It seems I need a host pc/laptop with linux OS to flash the Jetson. As I don’t have a linux PC or VM with it installed, is there a way of flashing the jetson solely just using the jetson? Thanks for the help in advanced.
Not possible. The actual flash executable is a Linux x86_64 binary. JetPack, when used to aid flashing, has a further requirement of Ubuntu 14.04 (though 16.04 works with some limitations on packages going to host…it doesn’t sound like you care about host packages anyway).
Something which makes it so a Jetson can’t self-flash is that unlike a desktop PC there is no BIOS. The boot loader does everything the BIOS does and more…so you’d have to do some major work on U-Boot for self-flash to work. Even then I’m not so sure that you could run a flash environment while the system is in recovery mode.
Thanks for your response. I mainly want Jetpack so I can do CUDA programming. I mainly use the Linux PC’s at University which has all the things installed on the system and am inexperienced with setting up PC’s for development. I will create a VM with ubuntu 14.04 and follow the instructions to install jetpack 3.0. :)
Maybe you can help me on another matter. When I’m trying to install the CUDA toolkit on the ubuntu that comes with the Jetson TX2, there are two type of “local” downloads. One is “runfile” and one is “deb.” I understand the cluster and network one but don’t know which of the other two i should be downloading for the tx2. Thanks so much for your help mate.
One thing about a VM…find out what options you have for USB setup. The port used for passing through to the Jetson during a flash should be USB2 mode, and if you can increase its buffer size, find the option to do so. On a VM a flash working part way and then failing with an error is almost always the USB port needing tweaks.
Part of what JetPack does is download packages from the internet. Initially these go on the host.
Linux in general usually has some sort of package repository it can download optional packages from. For example, Debian, Fedora, and Ubuntu all have their own standard public repositories for their package formats. To use other repositories you need to enable them (basically adding a URL). JetPack will install a package on the Jetson which points at a URL custom to the CUDA code and related packages you might be interested in. The trick is that instead of the URL pointing at a remote site it points at a directory in “/var” of the file system…it is a local repository instead of a remote repository. Once that is in your Jetson can retrieve, install, or query for any package in that repo without the internet. This is a large part of what JetPack needs the internet for…to first retrieve the package pointing to the local repository it must use, and second to actually install that repository into the Jetson’s “/var”.
To run JetPack on the host you chmod the “.run” file to be executable (“chmod u+rx *.run”), then just run it (e.g., “./whatever.run”). The other files will be added or used by JetPack. Basically you could download just the .deb if you wanted to have access on your host pointing at the remote repo…JetPack will take care of this, but you could just install the .deb and be able to query for packages like CUDA for your desktop…JetPack may offer some additional setup automation steps though (JetPack does more than simply add those packages).
Thanks for all your help! It’s much appreciated.