Questions about installing jetpack

I was following

http://docs.nvidia.com/jetpack-tk1/index.html#developertools/mobile/jetpack_install.htm%3FTocPath%3DJetPack%20TK1|_____3

to install jetpack on my jetson tk1 board and immediately I ran into a problem

“exec format error” appeared in my terminal and a few random garbage files that were all squares with numbers in them.

I also noticed that my board has a built in storage of 12.5 gigs when it was advertised as having 16 gigs. I have 6.3gigs of free space and the guide here

http://docs.nvidia.com/jetpack-tk1/index.html#developertools/mobile/jetpack_main.htm%3FTocPath%3DJetPack%20TK1|_____0

says that it requires at least 10gigs…

I’m guessing I should use an SD card or a sata drive for this one then… Has anyone been able to successfully just install the nvidia jetpack out of the box without issue?

Was your jetpack install command run from your desktop x86 host? There will be an error if run from Jetson since it is ARMv7 and jetpack runs from x86.

The 12.5 GB you see is because that is the default partition size in L4T R21.x. I don’t know about jetpack options, but if installing L4T by itself the size would be maximum via “-S 14580MiB” option to flash.sh. Some of the 16GB is taken by the boot loader, formatting, and boot environment.

The JetPack software needs to be installed on an x86 Ubuntu 14.04 host. You will see the x86 machine listed as Host in the documentation. JetPack is used to flash firmware and development tools onto the Jetson board itself using the supplied mini USB cable. JetPack contains x86 binaries used to flash the Jetson Dev kit.

As far as built in storage, the Jetson has multiple partitions. From a Terminal execute:

$ lsblk

which will list all the partitions.

How do I run it from x86 instead of ARMv7?

Stupid question, but does flashing just add/change/remove files related to the kernal / os and leaves things like documents alone?

x86 is your standard desktop computer CPU. It just means one of the common Intel or AMD CPUs. Jetpack must be run from one of these after installing linux. ARMv7 would be the CPU architecture of a Jetson, since it uses the ARM Cortex-A15 instead of x86…Jetson was intended as a recipient of what this program does from another host machine, and not as the one executing the flash program.

Flash and Jetpack completely erases everything on the Jetson. Nothing is left of the original install. There are somewhat involved ways of backing up a Jetson to the image used in a flash and thus the flash would end up being mostly a copy of the backed up image.

Does host os of jetpack need to be 86 or 64 bit ubuntu?

Host is any Intel-format standard desktop PC CPU running linux. It can be 32 bit or 64 bit (or at least I think 32 bit works, I have not heard of anyone trying). The reason the linux must be Ubuntu is because Jetson uses Ubuntu packaging as the basis of host side package installs. If you have linux but not Ubuntu on your host you can run individual package installs one at a time, but not via Jetpack.

There was a guide I read that recommended ubuntu 12.04 for some reason, if I unpacked jetpack on a host ubuntu 12.04 then flashed it to the jetson board, then upgraded to ubuntu 14.04 will I be ok?

As far as I know Ubuntu version 12.04 was the first version which was compatible with the packages from Jetpack. I believe it will not matter if you have anything between 12.04 and 14.04. There may be packages to upgrade or add since you updated your host, but it should work without too much effort.

FYI, I use Fedora for my host Linux version…I can’t test Jetpack because of this. Everything possible with an Ubuntu host is possible on Fedora and other flavors of Linux…just not with the pre-made scripts for Ubuntu.

Ok, so are all versions of ubuntu beyond 14.04 incompatable with jetpack then?

Also, whenever I flash ubuntu onto my jetson board, is it recommended never to do an upgrade of the OS with sudo apt-get upgrade or sudo apt-get dist-upgrade?

Only upgrade by flashing new versions of jetpack?

I think all versions from 12.04 forward are compatible. It is possible a version beyond 14.04 will be incompatible, but probably not for a while.

I recommend upgrades…but for safety reasons and sanity of self I suggest backing up libglx.so first. See:
https://devtalk.nvidia.com/default/topic/775070/embedded-systems/notice-on-apt-get-upgrade-libglx-so-corruption/

ahh thank you so much for replying and helping btw!

I’m still a noob to linux so I hope I don’t irritate you with more questions! :P

I’m going to be using a virtual box with ubuntu 14.04, but it occured to me… does having the file type in of the vm on setup being VDI matter? Or does it have to be HDD (parallels hard disk)?

also, does the ubuntu host have to be 32 or 64 bit?

There have been issues in the past on virtual machines. The issue is that an underlying file system type which is not native linux has no possibility of preserving all of the attributes supported by the linux file types. Virtual machines have the possibility of being placed on top of something like the Windows NTFS file system…which will fail miserably. Imagine creating and copying device special files (which are essentially a piece of a linux kernel driver…windows does not know about linux drivers) when the file system has no ability to represent this. If your virtual machine uses a true linux file system type (such as ext2, ext3, ext4, reiserfs, XFS) then your odds of success go up dramatically…but there may still be nuances which interfere. If the file system type is pure linux, give it a try…if not I wouldn’t go through the effort. Incidentally, meta file systems such as NFS also are a problem, even if hosted under linux.

As for host 32 or 64 bit I don’t think it will matter. Pretty much everyone running desktop linux these days does use 64 bit, so I won’t guarantee it, but 32 bit likely won’t hurt anything.

don’t quite understand what you just said >.> sorry! But I am using ext4 in the vm ubuntu 14.04. I’m currently looking for a safe way to make the vm work, I waited a long time for it to download and install in my vm.

also, does ubuntu 12.04 or 14.04 matter?

How do you restart the installation? As in how do you get back to the flash OS window? Or do I have to reinstall all of jetpack again (please no…)?

Ubuntu host version should not matter. Since I do not have an Ubuntu host (I use Fedora) I don’t know what the result is for re-running the Jetpack installer. The part which flashes L4T onto the Jetson should not care…this should be capable of running as many times as you want. As for the packages which install to the host itself all I can say without testing is “it depends”. This is why I personally install L4T and host applications separately.

So it does not matter if it’s 32 or 64 bit so long as it’s ubuntu 12.04 - 14.04 that is the host machine which you install the jetpack to, then flash it to the jetson board.

It is possible that packaging could demand 64 bit but probably not. There were more 32 bit systems back when 12.04 was out. What goes into the Jetson will not care as long as the host makes the attempt. There are some packages which get installed to the host as well when using Jetpack, these might possibly fail. Give it a try. I don’t have a 32 bit machine to test from, or else I’d test it.

ahh ok, because in the VM whenever i did it with 32 bit i got an encoding error and random garbage text documents began appearing in the jetpack folder.

Also, is this flash supposed to be from a live cd or from a fully installed ubuntu machine?