SSD-Boot flashing guide

The guide for experienced users

This guide describes how to set up your system to boot partially or fully from an M.2 SSD, depending on your module choice.

This guide is intended for experienced users only.

Partial SSD boot for Jetson Nano, NX, TX2 NX

The Jetson Nano, NX and TX2 NX modules do not support native boot purely from the SSD.

To still benefit from the SSD speed and size, this guide describes how to move your Root FS to your SSD.

You can also use the Partial SSD boot flashing guide for the Jetson Xavier/Orin series, but we recommend the Native SSD boot guide for Jetson Xavier/Orin systems.

Note: If you run in to problems, there is also another resource from JetsonHacks: “Jetson Xavier NX – Run from SSD” which you can find on Google.

Before you start

  • Please make sure your system is set up and running according to our simple or advanced flashing guide from SECTION 2 or SECTION 3.

Locate and identify storage device

Ubuntu

Note

Jetson system

With the disc program you can find your device as shown in the Picture.

In this example: /dev/sdb1

The first thing you need to do is to identify the storage device you are intending to use.

Make sure your intended SSD storage device does not hold valuable data, as the following steps will format this device.

SSD-Storage device:

When working with NVMe SSD, your device name should look like this: /dev/nvme0n1p1

The ending p1 stands for partition one. In the following steps, you must remove the partition information from the device path. See the following example:

<YOUR_STORAGE_DEVICE> = /dev/nvme0n1

USB-Storage device:

When working with external USB devices, your device name should look like this: /dev/sdb1

The ending 1 stands for partition one. In the following steps, you must remove the partition information from the device path. See the following example:

<YOUR_STORAGE_DEVICE> = /dev/sdb

Set up Root FS on SSD

Please execute the following steps to copy your Root FS to your SSD-Boot storage.

Format the storage device

DeviceExample

Jetson system

create partition
sudo parted <YOUR_STORAGE_DEVICE> mklabel gpt

Create the Root FS partition

DeviceExample

Jetson system

resize partition
sudo parted <YOUR_STORAGE_DEVICE> mkpart APP 0GB <YOUR_ROOTFS_SIZE>

Create file system

DeviceExample

Jetson system

make filesystem
sudo mkfs.ext4 <YOUR_STORAGE_DEVICE>1

Copy the existing Root FS to the storage device

DeviceExample

Jetson system

copy_rootfs.sh
sudo mount <YOUR_STORAGE_DEVICE> /mnt
sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude={"/dev/","/proc/","/sys/","/tmp/","/run/","/mnt/","/media/*","/lost+found"} / /mnt/

Switch boot device to SSD

You need to change your root target in exlinux.conf to the SSD. This is necessary so that the operating system knows where to find the system files.

Open exlinux.conf

DeviceExample

Jetson system

sudo nano /boot/exlinux/exlinux.conf

Modify the exlinux.conf by changing the root path

DeviceExample

Jetson system

extlinux entry
LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=<YOUR_STORAGE_DEVICE>1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

After a reboot, your system will start from the SSD

Validate

You can validate the SSD boot by using the following test

DeviceExample

Jetson system

df output
test@test-desktop:~$ df /
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/nvme0n1p1 122507912 14618752 102744904  13% /

Wen <Your_Storage_device> shows up to what you have set it, you successfully moved your Root FS and booted from SSD.

You now have a functioning system ready for your needs.

Native SSD boot for Jetson AGX Xavier, AGX Orin, Xavier NX series

This guide is only applicable for the Jetson AGX Xavier, Xavier NX and AGX Orin series. These series support direct boot from NVMe SSD.

Note: If you run in to problems, there is also another resource from JetsonHacks “Jetson Xavier NX – Run from SSD” that might help you out.

Before you start

  • Please follow the steps described in the Advanced flashing guide (experienced users). The same steps apply if you want your system to boot from the SSD. You only must change one command from the Advanced flashing guide (experienced users) to apply the native SSD boot.

Flash system

Please change the command as displayed below.

The crossed-out command is just for reference and must not be executed!

DeviceExample

Host PC

sudo ./flash <your_module> mmcblk0p1

sudo ./nvsdkmanager_flash.sh --storage nvme0n1p1

After following the Advanced flashing guide and replacing the command as discribet you now have a functioning system ready for your needs.

Last updated