Recover SSD (os) from eMMC?

It seems I broke my OS filesystem beyond repair. The box boots from SSD and works fine, except my opencv-cuda-python problem. As I am unable to fix this after I made some major mistakes while deleting opencv-references - I would like to start from factory settings again.
The support of my box told me

In easy way, if you have still use your Jetson with your external drive (SSD or SD card), you can delete it and re-transfer the file system from eMMC drive.

That seems the perfect idea, despite the fact, that they did not send me a guide how to do this.

Until now, I only found recipies for flashing using a second linux-pc (host?) and some hints about the APP-partition. Do I really need to flash my box or is it possible to delete the SSD and copy/rsync the files+links from the EMMC? (to me flashing sounds like modifying eMMC)

This is the guide from support - untested.
I will sign it as solution, after I have tested it.

  • df -h confirm, that the SSD is mounted at / (root)
  • sudo modify /boot/extlinux/extlinux.conf
    • root=/dev/nvme0n1p1root=/dev/mcblk0p1
  • filemanager: internal storage (eMMC)
    • sudo modify ./boot/extlinux/extlinux.conf
      • root=/dev/nvme0n1p1root=/dev/mmcblk0p1
  • sudo reboot
    • df -h confirm, that eMMC is now mounted at /
  • format SSD ext4 (e.g. via gnome-disks - quick-format)
    • volue name rootFS, internal disk for use with lunux systems only (ext4)
  • download and extract this zipped script
    • the script uses rsync to copy and then undoes the manual modifications in the conf-files
  • device: /dev/nvme0n1p1
  • sudo ./change_rootfs_storage_direct-emmc_to_ssd.sh /dev/nvme0n1p1 … some minutes
  • sudo reboot
  • df -h to check if ssd is correctly mounted as / again

Using docker next time will hopefully never get me into such pain . )

I would say if you want to check such issue, you should enable the uart log.

Full boot log can only be seen from this.

This procedure (typo-corrected version) worked for me, to restore my SSD-file-system from eMMC within 15 minutes.

I use nano to edit conf-files in terminal
(doing backup-copies before modifying is always a good idea)

  • df -h confirm that SSD is mounted at / (root)
  • sudo nano /boot/extlinux/extlinux.conf
    • change: root=/dev/nvme0n1p1root=/dev/mmcblk0p1
  • find path for internal storage (e.g. via filemanager): <path-to-emmc>
    • sudo nano <path-to-emmc>/boot/extlinux/extlinux.conf
      • change: root=/dev/nvme0n1p1root=/dev/mmcblk0p1
  • sudo reboot
    • df -h confirm, that eMMC is now mounted at /
  • format SSD ext4 (e.g. via gnome-disks - quick-format)
    • volue name rootFS, internal disk for use with linux systems only (ext4)
  • download and extract this zipped script
    • the script uses rsync to copy and then undoes the manual modifications in the conf-files
      • sudo ./change_rootfs_storage_direct-emmc_to_ssd.sh /dev/nvme0n1p1 … some minutes
  • sudo reboot
  • df -h to check if ssd is correctly mounted as / again

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