External boot drive cannot be updated

I updated the system with latest jetpack for TX2 last night and found that the external drive cannot be updated or upgraded even it is a boot/root drive. The update procedure flashed the eMMC all over again. All my installed programs were gone. As a result, the eMMC became the boot drive again.

Is this happened to all Jetson products?
How do I update the system without using sdkmanager?

Hi,

TX2 does not support flashing to external drives, so I guess you also did it by something like first flashing to the eMMC, copying the rootfs to an external drive, and mounting it there, right?

You should be able to do it the same way on the newer version.

Yes. I followed the above link to make a sata drive as boot drive. I am not sure if it works this time or not because the system has been updated. It works for L4T 28.1 but it probably doesn’t works for L4T 32.7.4.

Can I clone/copy the contents from eMMC to an external drive with “dd” command?

I think that should be feasible.
Just make sure you don’t miss any files in the rootfs.

I cloned the eMMC to a sata drive with “dd” and it works but my 512G SSD is reduced to 32G(29G) as a result. How do I fix this problem.

Hi,

cloning a partition is different from cloning the whole storage device, with which the partition table is also copied.

Sounds like you did the wrong one.

Thank you.

Is it better to reformat the target drive before using dd?

Hi,

since you just need rootfs to be on your SSD, whereas other bootloader stuff will still reside in eMMC, you may format your SSD into one single partition, and make sure you only copy the partition itself instead of the entire eMMC.

Then modify /boot/extlinux/extlinux.conf on both devices so root now points to the SSD. Like, root=/dev/sda1, for example.

Another option, if you can keep the disk unmounted (or read-only), is to use a repartitioning tool which understands the filesystem. An example is “gparted”. You could make a clone, and then use “gparted” to resize the partition.

I resized the partition with gparted and modified the extlinux.conf to assign the sata drive as boot drive but it doesn’t work. Fortunately, the system could still bootup from eMMC. Last time, it could not startup without the sata drive after modifying the extlinux.conf.

Hi,

did you modify extlinux.conf in both the eMMC and your SATA drive?
You should be able to mount the SATA drive when booting from eMMC.

No. I only modified the extlinux.conf in eMMC, the same as what I did last time.

Then please give it a try.

I already reformatted the drive. I will try it after copying the partition again.

After reformatting the sata drive, the system stuck in booting processing and fail to startup. The external drive may have something to do with the eMMC.

How do I fix it?

So it fails to boot from both the eMMC and the SATA drive?
What do you get from UART now?

I haven’t connected the TX2 to a terminal yet. This is the last resort.

Then please either start over again, or attach UART log when the device fails to boot.

Do you mean to flash the eMMC with sdkmanager again?

Hi,

Yes.
I can’t help much here because we don’t have UART log, and don’t know the reason why it fails to boot.
So re-flashing may be a way to fix it.