So long as you use u-boot, and /boot remains on eMMC, ordinary file copy (taking care to preserve permissions and other file traits) works. The /boot/extlinux/extlinux.conf can then just be edited for a new root= (or a second entry added to preserve the original as a rescue).
Just for illustration, if you were on your host and unpacked sample rootfs to a mounted SATA drive, the apply_binaries.sh could then be invoked using the “–root ” to the SATA drive and you would have a default install (other than being on SATA). Keep in mind that you need root authority to preserve permissions, as well as to create or manipulate device special files.
cd ~/
mkdir tmp
cd tmp
wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/Tegra124_Linux_R21.4.0_armhf.tbz2
wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v4.0/Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2
sudo tar -vxjf Tegra124_Linux_R21.4.0_armhf.tbz2
cd Linux_for_Tegra/rootfs
sudo tar jxpf ../../Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2
cd ..
sudo ./apply_binaries.sh
sudo mount /dev/sda1 /mnt
cd rootfs
sudo cp -a * /mnt && sync
sudo umount /mnt
cd /boot/extlinux
sudo cp jetson-tk1_extlinux.conf.usb extlinux.conf
sudo shutdown -r now