I have flashed jetPack 4.6.2 on my jetson nano, now i want to boot from my usb SSD. I have flashed the SSD with the following instructions :
To set up a flash drive manually for booting
Applies to: Jetson Xavier NX series, Jetson Nano devices, Jetson AGX Xavier series, and Jetson TX1 only
1.For this method only, confirm that the device can boot successfully from eMMC. If it cannot, correct the problem by flashing to eMMC first.
2.Connect the flash drive to the host computer.
3.Check the flash drive’s device name (e.g. /dev/sdb):
$ sudo lsblk -p -d | grep sd
4.Create a new GPT:
$ sudo parted /dev/<sdx> mklabel gpt
Where <sdx> is the device name that your host computer assigned to the flash drive.
For example, if the host computer assigns the flash drive device name sdb, the command is:
$ sudo parted /dev/sdb mklabel gpt
5.Add the APP partition:
$ sudo parted /dev/<sdx> mkpart APP 0GB <size>
Where <size> is the size of the partition. It must be at least 16 GB. It may be larger if the flash drive has enough space.
For example, if <sdx> is sdb and the partition is to contain 16 GB, enter:
$ sudo parted /dev/sdb mkpart APP 0GB 16GB
The device name of the APP partition will be /dev/<sdx>1.
6.Format APP as an ext4 partition and mount it.
$ sudo mkfs.ext4 /dev/<sdx>1
$ sudo mount /dev/<sdx>1 /mnt
You may format APP as ext2 or ext3, but ext4 is strongly recommended because it is faster, more compact, and more reliable.
7.Connect the Jetson device to a host computer and put it into recovery mode, then enter the following commands to generate the rootfs without flashing the device:
$ cd Linux_for_Tegra/
$ sudo BOOTDEV=sda1 ./flash.sh --no-flash <board> sda1
$ sudo mkdir tmp_system
$ sudo mount bootloader/system.img.raw ./tmp_system
$ sudo rsync -axHAWX --numeric-ids --info=progress2 --exclude=/proc ./tmp_system/ /mnt
Where sda1 is the device name that the Jetson device will assign to APP.
8.Unmount the flash drive and disconnect it from the host computer:
$ sudo umount /mnt
$ sudo umount ./tmp_system
9.Plug the flash drive into the target device and power it on or reboot it.
10.If your device still boots from its internal storage, you may need to change the boot order. See [Flashing to an External Storage Device](https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3271/Tegra%20Linux%20Driver%20Package%20Development%20Guide/flashing.html#wwpID0E0RJ0HA) for instructions.
Then when i want to change to boot order with the following instructions :
### Changing Boot Order with CBoot
For devices that use CBoot to boot, you can change boot order in the CBoot environment after you have flashed the device:
1.Interrupt CBoot while it is loading the boot configurations from extlinux.conf by pressing any key.
2.Enter these commands to change the boot order and verify the change:
$ setvar boot-order <dev1> <dev2> <dev3> ...
$ printvar boot-order
You may specify any number of <dev> parameters. The valid values for these parameters are:
•emmc
•nvme
•nvme:C<n> (where <n> is the device number)
•nvme:pcie@<addr>, net (where <addr> is the device’s PCIe address)
•sd
•usb
3.To reboot, enter boot.
But i can’t interrupt Cboot while it’s loading, and when i enter the command setvar
in the terminal it returns command not found. Can someone help me please ?
Here the output of lsblk -f
:
jetson-nano@jetsonnano-desktop:~$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0 vfat L4T-README 1234-ABCD
sda
└─sda1 ext4 Jetson 4978be97-7e37-40bc-a3af-add2eb81b8d5 /media/jetso
mmcblk0
├─mmcblk0p1 ext4 cc712c75-719d-42cd-abfa-b11f778544fe /
├─mmcblk0p2
├─mmcblk0p3
├─mmcblk0p4
├─mmcblk0p5
├─mmcblk0p6
├─mmcblk0p7
├─mmcblk0p8
├─mmcblk0p9
├─mmcblk0p10
├─mmcblk0p11
├─mmcblk0p12
├─mmcblk0p13
├─mmcblk0p14
├─mmcblk0p15
├─mmcblk0p16
└─mmcblk0p17
mmcblk0boot0
mmcblk0boot1
mmcblk0rpmb
zram0 [SWAP]
zram1 [SWAP]
zram2 [SWAP]
zram3 [SWAP]