VMs are not supported, but some people do get them to work. The problem is that during flash the recovery mode Jetson will repeatedly disconnect and reconnect from USB, and a VM tends to fail to keep ownership of the device (the parent o/s tends to interfere). If you can get around that through configuration, then you can use a VM. You will find many threads on these forums about different VMs.
The TK1 is basically end of life other than maintenance. You can still purchase third party TK1 devices, e.g., from Toradex, but these are the only available TK1s. The instructions are still valid.
Do note that JetPack is only a front end for other installation details. The actual flash is a combination of the “driver package” and “sample root filesystem”. If you were to use JetPack to flash, then JetPack would download those two packages, unpack them, run apply_binaries.sh, and then flash. The optional packages which JetPack installs are a separate step from flash and occur after flash has completed and ssh is available. You can manually flash on command line, and then at a later date add additional packages through JetPack (you’d need to deselect flash).
I mention this because the latest JetPack for a TK1 is JetPack3.0:
…and this would install L4T R21.5, but there is a patch update L4T R21.8. Major L4T release changes are incompatible with the “optional packages” of other releases, but the packages you can install from JetPack3.0 are compatible with L4T R21.5 through R21.8.
If you are interested in command line, then the various releases are listed here, and within each release you can get documentation for flashing and other details:
Should you flash on command line you will find the same problems with a VM which would also be found using JetPack in a GUI environment, but you could flash from other distributions, e.g., from Fedora (some oddball distributions enable some ext4 64-bit extensions by default, and you might need to edit to exclude those, but most distributions do not enable 64-bit ext4 extensions as a default and will all work without effort).
The use of command line goes something like this:
Download driver package and sample rootfs (usually a “tar xvfj package.tar.bz2”).
Unpack the driver package as a regular user (usually an “sudo tar xvfj package.tar.bz2”).
cd to the “Linux_for_Tegra/rootfs/” directory and unpack the sample rootfs with sudo.
cd back to “Linux_for_Tegra/”.
Run “sudo ./apply_binaries.sh”. From now on the flash software is set up and you can flash as many times as you want without repeating the previous steps.
Put the TK1 in recovery mode, connect the micro-B USB cable, verify you see the recovery mode TK1 with any output from “lsusb -d 0955:7140”. Flash:
sudo ./flash.sh jetson-tk1 mmcblk0p1
Note that you need a lot of disk space. The image alone will end up taking about 16GB of host PC disk space, and other content means you probably should have about 22GB of space before you consider unpacking packages.