enabling usb 3.0 support in jetson TK1 without flashing rootfs

I have modified the jetson-tk1.conf as required to enable USB 3.0. From what I understand, i’m required to flash the entire rootfs, kernel and bootloader to the target device from my linux pc. Is it possible to enable usb 3.0 in the jetson board without doing all this? Because I have modified a lot in the device rootfs and dont want to make a backup of everything. Is there an easier method to do this?

The comments in jetson-tk1.conf include the need to not only change the ODMDATA, but also “requires firmware load from userspace or initial ramdisk”. I’m not sure where the firmware or userspace requirements are fulfilled, but this seems to imply that some configuration needs to exist at boot time. Which means at least boot loader flash.

I can’t guarantee it, but if I personally wanted to save rootfs, I’d flash bootloader+kernel (this should spare data, but flash is never without risk). The risk is actually rather minimal, provided you follow a few of the more subtle requirements, and the kernel should be available which is an exact copy of the running kernel (although I don’t know where to access older versions for R19.2, which is the L4T which Jetson shipped with). So far as the “more subtle” requirements go:

  1. Any L4T unpacking should be done as root (or sudo), and permissions preserved, e.g., the "-p" option on tar.
  2. Non-linux partitions are not capable of preserving linux permissions, unpack and use ONLY linux file systems for unpack destinations.
  3. Info says to use the apply_binaries.sh script...do this.
  4. Some flavors of linux do not automatically create /dev/loop0...make sure it actually exists. If not, as root run "losetup --find" and then see if it has been created. Not a requirement unless you flash the whole system; kernel+bootloader should not require this.

The default for kernel+bootloader flash is to use fastboot.bin in the bootloader directory. Jetson arrives this way. All kernels using this will need the flash script for update of each and every kernel change.

The alternative to fastboot.bin is u-boot.bin, which I prefer; this requires a copy of zImage in the /boot directory, along with configuration files. I’m not sure if these files exist by default, but flashing the whole file system would definitely provide these. I can’t say what default arrives with, as I’m using R19.3 from full flash, but examples of files that would have to exist are the “.dtb" data tree blob files, the main u-boot config “extlinux.conf”, and a few "jetson-tk1_extlinux.conf.” files, and the kernel itself (zImage). Once you have u-boot, you never have to flash again to add new kernels…you just edit extlinux.conf and place your zImage here (I add uname -r after each zImage, and add entries for each in extlinux.conf).