Nano 4GB kit boot issues from SSD

Hi, I’m just getting started with Jetson Nano and have the 4Gb dev kit which has been running fine and so decided to ditch the 128GB SD card to boot from USB since I plan on saving / processing large video files etc. I just connected and got running from an external 250Gb Samsung 860 EVO SSD connected via a USB to SATA cable.
However it appears I can only boot the Nano if I first remove both the keyboard and mouse. Otherwise it just shows the NVidia logo on a loop. Originally I was using a Logitech wireless keyboard and mouse and thought it may be a power issue so connected up wired keyboard / mouse. No difference…
I then bought an external USB powered hub (Startech) and have the same problems. My main PSU is a recommended 5v 4A branded PSU (all bought from R.S Components so should be fine). The extlinux.conf file is pointing to the correct UUID so am not sure why there appears some USB device conflict…
Just bought the 2Gb kit as well as I’m hoping also to run that from a 500Gb SSD but just waiting on parts arriving.
Is there something I’m missing or I could check. As you may tell, I’m a complete newbie to Jetson but have previously been working on Arduino many years.

Hello,

I am not sure why you have to remove keyboard/mouse to boot nano. Did you configure anything before?

Hi Wayne. I had previously tried the boot from USB using an older method without success and so it may be something left over from that time. I’ve just received another 500Gb ssd so will try a fresh install. Was just reluctant before as I have tons of hours of tutorials on my original ssd that I don’t want to lose. So, I’ll try again this evening and hopefully this time it will work out.

How about you tell us what is your method to boot from ssd? We can verify your steps first.

Also, actually, if you follow the method provided by NV, you shall not erase any data on your ssd, because the flash work happens on emmc device or sdcard, depends on which kind of nano module you are using.

So, just downloaded the SD image 451 right now onto a 32Gb SD card. Started up Ok on my Jetson 4Gb dev kit.
Attached brand new 500Gb Samsung 870Evo, formatted as system disk, partitioned etc. copied root to USB, modified the extlinux.conf file on the SSD to point to itself as primary boot. The system wont boot at all when removing the SSD - This is the JetsonHacks method so I guess that doesn’t work.
I’ll have to research this ‘NV’ way you mention but a real novice here…and quickly losing the will to live…

I see. Please let me explain what causes your problem and attach the document to you.

Actually, what I was trying to say is this kind of method not really erase or cause any problem to your data on ssd. If you unplug the ssd from the jetson nano and plug it to some other host pc, I believe you shall still see the data on it.

The real problem of that method from jetsonhacks is: this method not really “boot from ssd” and it does not allow you to hotplug the usb ssd. It is easy to get confused here so let me share some detail…
The method from jetsonhacks is actually doing below steps:

Start the boot sequence → bootloader to check the “boot order” → the boot order says “sd > usb ssd” → Search the “extlinux.conf” and kernel from sd card (This is “boot from sd card”) → the “extlinux.conf” tells the kernel to use the file system on USB ssd.

Thus, when you remove the USB from your jetson nano, the last step here goes wrong. Kernel is not able to find your usb ssd as file system. Thus, it stuck in initrd.

The real key point here is to change the boot order and do not touch the extlinux.conf on your sdcard so that nano has a way to fallback when usb drive is gone.
Please refer to this document → Flashing to a USB Drive

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0HM0HA

And you need to prepare the usb-ttl cable as below tutorial. You need have an interface to change the boot order when bootloader appears.

When you see “uboot” words appear in serial console, type anything on your keyboard to interrupt it and enter interactive mode.

Under such mode, use below command to change boot order.

printenv boot_targets
setenv boot_targets usb0 mmc1 mmc0 nvme0 pxe dhcp
saveenv
boot

#edit: add few statements inline

Ok, I tried following along the tutorial but there are folders missing - like Linux_for_Tegra and having to negate the use of rootfs/ before the usr… and several things not matching up.

Thanks for your help thus far but this is beyond me as getting several errors / warnings. Yep I have the necessary cables for serial debug but have spent too much time trying to get this working so far. I guess I just run from SD card and may revisit this later on. Seems the Nano could have been great for my project but alas they may go into the drawer of ‘bits’ along with the beaglebone until I can find some motivation or easy way to get this running. Even once getting it running with the external drive, I’d still need to get it running with the RPI HD camera which also seems beyond my capability, (although had it running on my new 2Gb board… somehow)…

So, farewell and thanks for your time, It was worth a try

Sure. It is up to you.

But still let me explain what are those missing.

The “Linux_for_Tegra” is a driver package downloaded by our sdkmanager tool. This package provides the full tool to flash/re-install every jetson platform (jetson nano/tx1/tx2…). The sdcard image you are using is also from this package. We just make sdcard image as an easy entry for some users.

If you switch to the forum of other platforms which are not using sdcard image (e.g. Tx1/Tx2), you will notice everyone is using this package.

Wayne, I’m still alive and kicking… Well I persevere and boy did I have some more issues… I built a PC, installed Linux 20.04 but then found the SDK could only run on version 18.04… so rebuilt a Linux 18.04 install and am using a new 2GB Nano as test board - Finally got the SDK to run on my shiny new host PC and currently installing the components to the Nano… I have zero experience of Linux but I’m plodding along and hopefully I may learn something along the way. Thanks for your help previously I guess I have a long way to go but will stick with it. Just so frustrating typing in commands and not understanding what they do… anyways, I’ll give that document a try for USB booting and hopefully all will go ok. If not then more research… if I’m going to be using this Nano, it’s best I persevere and find out how to take advantage of it. Every day is a school day. Thanks again,