If you tried to install JetPack 4.5 into an USB device instead of a microSD card you probably followed the first steps of the docs and stopped when you couldn’t find the script ./flash.sh. That’s because at the beggining of that guide it’s said that you must download the lastest Tegra, but it’s currently possible only from the SDK Manager, that is delivered as a .deb binary, recommended to be installed in a x64 computer with 8gb of RAM.
Then, from the SDKM, select your board, accept the license, and select “Download packages and install later”.
That takes a while. While you wait for the download to end, install the required package:
$ sudo apt-get install qemu-user-static
Files are downloaded to your ~/Downloads/nvidia/sdkm_downloads dir. Once it’s done downloading go to that dir and uncompress there the file "Jetson*_aarch64.tbz2”.
Then, from a terminal, enter sub dir “rootfs” in the newly expanded dir and run:
$ sudo tar xpf ../../Tegra*.tbz2
Then go back one dir ($ cd ..) and run:
$ sudo ./apply_binaries.sh
From there on, you can follow the docs for putting your device into forced recovery mode (you will need jumper wires) and flashing the system image to an USB drive.
Your flash.sh is now there, in dir ~/Downloads/nvidia/sdkm_downloads/Linux_for_Tegra.
UPDATE: I was having issues following this method, like the initial setup script not running, so I tried the suggestion by TWarren and worked great.
What I did:
Write the JetPack 4.5 image to a microSD card, boot your Jetson and complete the initial configuration.
Create GPT partition table on USB device with only one ext4 partition with the label “APP” (the docs suggest so, but it’s probably not significant)
Clone the mounted and running system to the USB device (method suggested by the Arch Wiki): $ sudo e2image -ra -p /dev/mmcblk1 /dev/sda1 -f
Edit /boot/extlinux/extlinux.conf on USB device to boot from /dev/sda1 instead of /dev/mmcblk1.
(I tried with de UUID and LABEL instead of /dev/sda but it didn’t work, I guess the initrd isn’t able to access them).
Turn the Jetson off, remove the microSD card, and reboot.
Keep in mind that you will be cloning your rootfs, with passwords, SSH and GPG keys included.
answer:
e2image 1.44.1 (24-Mar-2018)
e2image: Bad magic number in super-block while trying to open /dev/mmcblk0
Couldn’t find valid filesystem superblock.
Found a gpt partition table in /dev/mmcblk0
Perform a clean restore of a JetPack 4.5.1 to a microSD card using Etcher on a Mac
Booting my Nano from that SD card and performing all the necessary setup
Power off the Nano and clone the microSD card to a USB drive on a Mac using Etcher app - sadly using e2image method resulted in some weird errors when I booted into the resulting system on a USB
Connect both a USB drive we’ve created and microSD card we’ve used as a source and power on the Nano
Edit /boot/extlinux/extlinux.conf on both the microSD card and on the USB drive we’ve created to boot from /dev/sda1 instead of /dev/mmcblk1" which in my case was mmcblk0p1
Reboot the Nano with both microSD card in it and USB drive attached - it’ll boot from a USB drive but will find the information on a boot source on a microSD card for this time - and will overwrite this to search for in on a USB drive for the future boots!
Power off the Nano, remove the microSD card and turn it on - it’ll successfully boot from a USB drive (at least that worked for me)
Sadly it’s been a week of trial and error before I finally found a solution for myself. Hope it’ll help someone else as well
Than you! If there isn’t still an official USB image it is probably because they are still working on it and solving bugs. If there’s no urgency, like a dying microSD in my case, it might be better to wait some weeks for the official USB image and guide.
I was lucky and only lost 3 days looking for a solution that worked, but I see it’s not a definitive one.
Sadly my luck did not last for long - for some reason after I installed a MS Visual Studio and edited a Bluetooth configuration file to properly work with headsets and speakers my Jetson stopped booting from USB again 😓
Will have to wait for some time to get it fixed as well - too unreliable as of now
I have tried the first method a bunch of times, the closest I got was the installer failing to run. Currently trying the copy and reboot method that @in_sympathy had a bit of luck with but we will see how far I get.
After carefully following what the docs said, I was received by the same Ubuntu login screen, unable to actually login because default Ubuntu passwords didn’t work.
Try the method I described with e2image o maybe rsync, but on the fresh booted Jetson Nano, running the cloning command from tty2 with only the essential processes running.
I’ve even modified kernel modules in cloned system and it hasn’t broken.
After using e2iage I am now able to boot from a 120GB USB SSD ,but if I run df -kh it seems as if the SSD is only 30 GB in size (I was using a 32GB microSD for the original install):
You can expand the partition using gparted or similar software.
You will have to do it from another computer or from the nano running from a microSD since the partition must be unmounted to be resized. Do not “move” it, just expand it to fit the remaining space (visually at the right in gparted).
I see they apparently found the problem and will be updating the docs. We’re still waiting for a ready-to-flash image, I hope It’s on the way.
When my system dies, I’ll try again following the docs and will mark this post as obsolete if it works.
I am trying to follow the documentation on how to boot from USB for a jetson NX, but I am stuck. When I go to run the flash.sh script, i have no idea what i have to put in as my “valid board name”. How do I figure out what my board name is?