Installation from SD card to an SSD (without needing the SD card to boot afterwards)

The SD card is connected all the time.

I have tried the SDKM method, initrd script and jetsonhacks/bootFromExternalStorage script. All seem to fail similarly.

Could it be that my host PC is missing some dependency (?) Link below says that I must have NetworkManager? I use networkd in my netplan configuration instead of NetworkManager.

https://developer.ridgerun.com/wiki/index.php/NVIDIA_Jetpack_Flashing_with_initrd

Hi, I write scripts that boot to SSD by pivoting the root after boot from SD, which happens very fast because the SD card doesnā€™t fully boot, just the very initial stages of the boot are done on SD and the rest on SSD.

However, I note from comments that a lot of people donā€™t like this. I would like to understand the reason why?

Does it relate to some eventual commercial use whereby you donā€™t want the customer to be able to pull out the SD card?

Or is it perceived that this method will be much slower? (I suspect itā€™s likely only a fraction of a second or a second slower). Because to set this up seems to involve a lot less problems.

Any insights into the thinking behind this would be appreciated.

Cheers,
Kim Hendrikse

Actually, I see that this post:

Suggests that there might be a way where I can combine both the use of running one script to perform the migration as well as not needing the SD card afterwards, so then likely I can make the best of both worlds ultimately. So if this is unnecessary chat.

Kim

Hi @KimHendrikse,

You will only need the SD card, to flash the NVMe. Once the NVMe is flashed, you can remove the SD card, and never use it if you wish :)
All subsequent installs can be done on the board itself. For the majority of the packages that are deployed using SDKManager are covered by simply installing nvidia-jetpack.

And you cant have a single script that can flash a disk, boot from that disk and install software on it all in one go. SDKManager does do what you need, but you will need to setup an external PC, which will obfuscate the steps for you. However, we are here in this post due to the issues we faced with SDKManager.

Actually what I mean was that you would write the SD card, boot from it, download a script and then run it. After that shutdown, remove the SD card and restart. Consequent startups would boot from the SSD, that should be possible I think. No SDKmanager involved.

Essentially, all what you say above except scripted. Which is what Iā€™ve done for the pre-Orin versions of the boards. The difference now is that it looks like the booting process will now boot directly from the nvme drive if itā€™s present and setup, which means I can take my script one step further and automate this part for the Orin series.

Thanks for the nice indepth explanation in your posting btw.

Kim

Hi @KimHendrikse,

Here you go, Iā€™ve scripted it for you.

How it flashes NVMe, and subsequent installation of NVIDIA jetpack and deepstream are documented.

Regards

Super, Nice work!!

Kim

1 Like

Today I succeeded in flashing to NVMe using the SDK manager.

The problem was assumably resolved by either one of these two changes since my last try:

  1. I switched back to NetworkManager (I was using netplan and systemd-networkd to configure my network)
  2. I updated SDK manager to the newest version which appeared after my last post (if there was a bug fix?)

I assume not using NetworkManager was the cause of my problems.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.