How can I reinstallation the ubuntu and repartition for TX1?

Hello everyone,I receive a new TX1 kit,but eMMC memory is so small for my project. I buy a 128G SATA SSD,and mounted it successfully in Ubuntu 14.04. But I want to reinstallation the SYSTEM on SSD, how can i do it?

Consider having your original installation stay in place on eMMC as a backup. This allows you to keep boot configuration on the Jetson while still having everything else on the SSD. If you were to flash to an alternate boot device (other than mmcblk0p1/eMMC), then you could not boot without the alternate device being present. Should you simply edit a boot entry in “/boot/extlinux/extlinux.conf”, then kernel and dtb files (and initrd if R24.2) would remain on eMMC’s “/boot”, though everything else can still move to SSD (flash would not be required, it’s a file edit combined with SSD setup). There may also be fewer complications with this scheme due to no need for the boot loader itself having no need to support the SATA port (the SSD would not be accessed until the kernel is loaded, thus only the kernel would need to know how to load it).

One way to do the SSD work would be to create a first partition on the SSD of the size you want (I’m guessing 128GB) via gdisk or similar. Then format that as ext4 (mkfs.ext4). Mount this on your host (I’ll pretend it is “/dev/sdb1” for the sake of argument, but adjust to your situation…also assuming R24.2), for example:

sudo -s
gdisk /dev/sdb
# ...create a single Linux partition...save and exit...
mkfs.ext4 /dev/sdb1
mount /dev/sdb1 /mnt
cd /mnt
tar xvfj Tegra_Linux_Sample-Root-Filesystem_R24.2.0_aarch64.tbz2
cd <whereverLinuxForTegraDirectoryIs>
./apply_binaries.sh -r /mnt
umount /mnt
exit
# shut down the host and remove disk and connect to Jetson

While the Jetson is booted to the original install, edit “/boot/extlinux/extlinux.conf” with whatever editor you like. You’ll see a boot entry like this:

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
      APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 <b>root=/dev/mmcblk0p1</b> rw rootwait

Changing “root=/dev/mmcblk0p1” to “/dev/sda1” will leave configuration via “/boot” on eMMC, but then transfer to the SSD instead. You could copy this original entry and make an edited version the default while leaving the original. If you used a serial console you could pick which entry to use at boot time. An example would be this for extlinux.conf:

TIMEOUT 30
DEFAULT <b>sda1</b>

MENU TITLE p2371-2180 eMMC boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
      APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 root=/dev/mmcblk0p1 rw rootwait

LABEL <b>sda1</b>
      MENU LABEL <b>sda1</b>
      LINUX /boot/Image
      INITRD /boot/initrd
      FDT /boot/tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb
      APPEND fbcon=map:0 console=tty0 console=ttyS0,115200n8 androidboot.modem=none androidboot.serialno=P2180A00P00940c003fd androidboot.security=non-secure tegraid=21.1.2.0.0 ddr_die=2048M@2048M ddr_die=2048M@4096M section=256M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 debug_uartport=lsport,0 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=${lp0_vec} nvdumper_reserved=${nvdumper_reserved} core_edp_mv=1125 core_edp_ma=4000 gpt android.kerneltype=normal androidboot.touch_vendor_id=0 androidboot.touch_panel_id=63 androidboot.touch_feature=0 androidboot.bootreason=pmc:software_reset,pmic:0x0 net.ifnames=0 <b>root=/dev/sda1</b> rw rootwait