I will move the complete installation of my Jetson Nano from the micro SD card to an SSD hard drive. I hope that this will result in much more performance and fewer problems caused by defective mirco SD cards. Because currently I use the Nano on my donkey car. There I draw many 10.000 pictures and Json files on the mirco SD-card, which are heavily used for read and write access. Also, the SSD hard disk is about 4 times faster than the micro SD card when it comes to copying the recorded training files, etc.
Thank you:
At this point I would like to thank JetsonHacks for the perfect tutorial. This can be found in the original on the following page:
URL: jetson nano run on usb drive
List of components
I chose the following USB 3.0 SSD hard drive, because it can be easily connected to the Jetson Nano via USB cable and its tree shape is very compact so it fits well on my donkey car.
Together with the SSD hard disk and the performance hungry AI examples, a strong power supply had to be purchased. My choice was a 5V power supply with 5A. With this one I had no more sporadic crashes.
The following power supply unit should work. Unfortunately I did not find the power supply I use on Amazon.
For mobile use, I recommend the following PowerBank which has proven to be very useful for me. Interesting is the USB-C connection which supplies 5V and 5A and is therefore ideal for the power supply of the Jetson Nano.
Installation
The first thing Jetson Hacks downloads is the repository rootOnUSB. This repository contains everything needed to create a new boot image with USB 3.0 support.
Command: git clone https://github.com/JetsonHacksNano/rootOnUSB
Command: cd rootOnUSB
Before building the new kernel, make a backup of the original boot image. You can find this in the /boot/ folder and the name of the boot image is “Image”. Copy the file into a BackUp folder e.g. in the directory /home/<User Name>/BackUp.
The following command builds the new kernel with USB 3.0 support. The construction of the new boat image takes about 45 minutes.
Befehl: ./buildKernel.sh
Prepare SSD hard disk
While the kernel is built, the SSD hard disk can be prepared in parallel. Now connect this to the Jetson Nano and go to the program Disks. In the program Disks the SSD hard disk is then selected.
The following picture shows the program Disks and the marked SSD hard disk. In the top right corner of the menu, select the “Format Disc” item.
The next window then shows the menu for formatting the hard disk. There select “Compatible with modern systems and hards disks > 2TB” as shown and tap on Format.
A message appears asking if we are really sure we want to format the hard disk. Click on Format again here.
After the hard disk is formatted, a partition must be created. To do this, select the SSD hard disk under Disks again and press the “+” on the left side of the window to create a partition.
The following dialog will then appear. This is where the size of the hard disk is defined.
Then click on Next in the upper left corner.
In the dialog that now appears, a label can be set for the partition. I have named the hard disk “NanoUSBSSD”. Furthermore the file system “Ext4” must be selected. This is the first item in the “Type” section as shown in the following picture. Then tap on Create in the top right-hand corner.
After a few seconds the partition with the Ext4 file system is created and the status of the SSD should show “OK”.
Now the hard disk is prepared and the kernel is still being built.
Booting the new image
After the kernel or boot image has been successfully built, the script “buildKernel.sh” copies this image to the right place in the /boot/ directory.
The following picture shows the output after the script has run through.
Now is the time for the nano to be restarted.
Command: sudo reboot
Copy files to the SSD hard disk
After the Nano has booted with the newly built image, all files are copied from the micro SD card to the SSD hard disk. Again there is a script from Jetson Hacks that does the work for us.
Please change back to the rootOnUSB folder.
Command: cd rootOnUSB
Now the copy process can be started with the following command.
Command: ./copyRootToUSB.sh -v <Volume Label>
In my case the call with the forgiven label of the SSD hard disk looks like this.
Command: ./copyRootToUSB.sh -v NanoUSBSSD
The copying process takes a few minutes.
Change boot order
To ensure that the operating system is really loaded from the SSD hard disk, an adjustment must be made. To do this, please open the file “/boot/extlinux/extlinux.conf” in a text editor and change it as follows
Command: sudo nano /boot/extlinux/extlinux.conf
Simply copy the existing entry on the micro SD card and adjust it as shown. It is important to note that the new boot drive is no longer the micro SD card but the /dev/sda1 drive. Also the original entry with the micro SD card must be changed from “pimary” to e.g. “SD_Karte”.
TIMEOUT 30
DEFAULT primary
MENU TITLE p3450-porg eMMC boot options
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} rootfstype=ext4 root=/dev/sda1 rw rootwait
LABEL sd-card
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} rootfstype=ext4 root=/dev/mmcblk0p1 rw rootwait
In the following picture you can see the change.
Now the Nano can be rebooted and the operating system should be loaded from the SSD hard disk.
Command: sudo reboot
You can see that the change from the mirco SD card to the SSD hard disk was successful, when you use the command “df -h” the root directory shows about 449 GB of storage space.
Command: df -h
Below you can see the output of my Jetson Nano.
(env) donkey@donkey:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 449G 19G 408G 5% /
devtmpfs 1,8G 0 1,8G 0% /dev
tmpfs 2,0G 12K 2,0G 1% /dev/shm
tmpfs 2,0G 18M 2,0G 1% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 2,0G 0 2,0G 0% /sys/fs/cgroup
tmpfs 397M 120K 397M 1% /run/user/1000
/dev/mmcblk0p1 30G 18G 11G 64% /media/donkey/847320a9-f217-4c2b-826c-2db9a77f6c52
(env) donkey@donkey:~$
Summary
A big thanks goes to Jetson Hacks for the very good instructions on how to change the Jetson Nano from a micro SD card to a USB SSD hard drive. I am now very much looking forward to being able to operate my Donkey Car with the SSD hard drive. So I do not have the constant problems that the micro SD card does not tolerate the constant read / write access. Also the performance is much better.
Recent Comments