

In the video, we use a Samsung T5 500 GB USB SSD. You can use a 16GB card for this process. You should do this on a freshly flashed Micro SD card. As in most things technical, the initrd and initramfs are not strictly equivalent, but for the purposes of this discussion we treat them the same. Note: In the video, we refer to the initramfs. It takes less than a minute to build a new initrd with the change, and we’re off and running. The idea is to include the USB firmware in the initrd so that the USB drive is available early on in the boot cycle. However, one of our readers (a special thanks to George!) pointed out a much easier way in a post they wrote on the Jetson Nano Developer Forum! That is a fairly lengthy process that takes ~45 minutes. In a previous article, we recompiled the Linux kernel to include the USB firmware to circumvent this issue. The system then loads the USB firmware to make the USB drive available. You can’t talk to the USB drive, so the system falls back to the SD card as the rootfs. By the time the root file system gets mounted in the boot process, the USB controller is not yet initialized.
WILL HAVING THE GRUB ON USB DRIVE EFFECT HDD DRIVERS
While the actual USB drivers are built in to the Linux kernel, the firmware for the USB devices themselves are not. What we would like to do is load the kernel, and then switch over to the USB drive. The initrd is a minimal file system, with just enough for loading the kernel. Why is this difficult?ĭuring the boot process, the Jetson bootloaders use an initrd (initial ramdisk) to load a temporary file system into memory to load the Linux kernel. Here we will load the Linux kernel from the SD card, but we will Pivot the Root to point the rootfs to files on the USB drive. It’s really clever and quite tricky.īy default, the bootloader loads the Linux kernel from the SD card and then configures the rootfs to point to files on the SD card. The basic idea is that the boot loader loads a memory image with minimal support for key attached peripherals, and then loads over itself with the Linux kernel specified. Remember that the term ‘boot’ is shorthand for the slang term ‘bootstrapping’, that is, pulling ones self up by their own boot straps. However, this is not possible using the current configuration of the boot loader on the Jetson Nano. Typically most larger computers boot directly to the disk drive. The end result is that the system will be much snappier in response because the disk access is much faster. In fact, we can add one of those types of drives to the Jetson Nano through the USB 3.0 port! We will cover setting up our USB drive so that it can be the “root file system” or rootfs for the Nano. Typically these are built into the computer, though you can add an external one also. Most desktop/laptop computers use a different type of external storage, such as a Hard Disk Drive ( HDD) or Solid Sstate Disk ( SSD). Also, even though Micro SD cards are much better now than they have been in the past, the cards have a reputation of low reliability in long term or heavy use. In the overall scheme of things, this device provides relatively slow access. The SD card holds the operating system, applications and any data in use. For external storage, the Jetson Nano uses a Micro SD Card.
