¶ System environment construction and EMMC Firmware update
NOTICE:Ubuntu 18.04 host or virtual machine is required for firmware upgrade!!!
Firmware upgrade requires Ubuntu 18.04 host or virtual machine, and SDK Manager tool is used to upgrade.
This tutorial system environment uses VMware 16 virtual machine to install Ubuntu 18.04 system, which is only for learning.
If you have an Ubuntu virtual machine or host but it is not 18.04 and can accept the format of SD card or USB flash disk, please refer to the system environment construction method 2.
- Download the SDK Manager upgrade tool, open the browser, enter the website, and click Download SDK Manager.
https://developer.nvidia.com/zh-cn/embedded/jetpack
- Click to download SDK manager
- Click to download the. deb file
- Put the downloaded. deb file on your Ubuntu desktop
- Double click to open the. deb file, and then click "install" to install SDK MANAGER
- Double click the SDK manager icon to open the SDK manager
- Click LOGIN to log in to the NVIDIA account. A link will pop up in the browser. Enter the previous registered email and password to log in.
- At this point, we successfully log in to the SDK Manager
Equipment preparation
- Jetson Nano Board。
- Ubuntu18.04 virtual machine (or computer host)。
- 5V 4A power adapter。
- Jumper caps (or DuPont wires)。
- USB data cable (Micro USB interface, can transfer data)。
Hardware configuration (enter recovery mode)
-
Short-circuit the FC REC and GND pins with a jumper cap or a Dupont wire, the position is as shown below, under the core board.
-
Connect the Micro USB interface of Jetson Nano to the Ubuntu host with a USB cable (note that it is a data cable.
-
Connect the DC power supply to the circular power supply port, and wait for a while.
Firmware upgrade
First of all, make sure you have entered recovery mode! ! !
- Open the Ubuntu18.04 virtual machine (or computer host), run the SDK Manager to open the software.
- Set up the device to connect to the virtual machine
- Log in to the account, if the Jetson Nano is recognized normally, the SDK Manager will detect and prompt for options.
- In the JetPack option, take the JetPack4.6 system as an example, uncheck Host Machine, and click CONTINUE.
- Select Jetson OS, and remove the option of Jetson SDK Components. Check the protocol and click CONTINUE.
- It may prompt that the memory is insufficient, don’t worry about it, just click Continue.
- The path saved by Imager is fine by default. If you select Create, the path will be created automatically.
- Enter your virtual machine password
- The installation time is long, the following information will be prompted, just click Yes
- Starting from JetPack4.6.1, the preconfig window will pop up when using the SDK Manager firmware upgrade. Here, select Manual Setup - Jetson nano as shown in the figure below, and select Pre-config to set the username and password of the jetson nano upgraded system in advance. You can also choose Runtime to set the user name and password later.
- Wait for the download to complete the upgrade.
- After the upgrade is complete, remove the jumper cap from the bottom board, connect to the monitor, power on again, and follow the prompts to perform boot configuration (if it is pre-config set, enter the system directly after power on).
¶ Command flash
Equipment preparation
- Jetson Nano Board。
- Ubuntu18.04 virtual machine (or computer host)。
- 5V 4A power adapter。
- Jumper caps (or DuPont wires)。
- USB data cable (Micro USB interface, can transfer data)。
Hardware configuration (enter recovery mode)
-
Short-circuit the FC REC and GND pins with a jumper cap or a Dupont wire, the position is as shown below, under the core board。
-
Connect the Micro USB interface of Jetson Nano to the Ubuntu host with a USB cable (note that it is a data cable)。
-
Connect the DC power supply to the circular power supply port, and wait for a while.
-
The ubuntu virtual machine or host opens the terminal
-
Download link:
https://developer.nvidia.com/embedded/linux-tegra-r3261
- Download the 2 compressed packages shown in the figure
- Put the downloaded 2 compressed packages on the desktop of your virtual machine
- Open the virtual machine terminal and move the compressed package of the virtual machine desktop to the /home(~) directory, as shown in the figure below
cd Desktop/
sudo mv Jetson-210_Linux_R32.6.1_aarch64.tbz2 ~
sudo mv Tegra_Linux_Sample-Root-Filesystem-R32.6.1_aarch64.tbz2 ~
cd ..
ls
- Unzip the resources, as shown in the figure below
sudo tar -xjf Jetson-210_Linux_R32.6.1_aarch64.tbz2
cd Linux_for_Tegra/rootfs/
sudo tar -xjf ~/Tegra_Linux_Sample-Root-Filesystem_R32.6.1_aarch64.tbz2
cd ../
sudo ./apply_binaries.sh (If an error occurs, follow the prompts, and then re-enter the command)
Firmware upgrade
First of all, make sure you have entered recovery mode! ! !
- To upgrade the firmware, Jetson Nano needs to enter the recovery mode, connect to the Ubuntu computer, display flashed successfully, indicating that the burning is successful
cd ~/Linux_for_Tegra
sudo ./flash.sh jetson-nano-emmc mmcblk0p1
- After the upgrade is complete, remove the jumper cap from the bottom board, connect to the monitor, power on again, and follow the prompts to perform boot configuration.
Equipment preparation
1. Jetson Nano board.
2. U disk or mobile hard disk with USB interface (USB3.0 is recommended).
3. 5V 4A power adapter.
System installation
1. Connect the U disk to the Jetson Nano, check the device number of the U disk, such as sda, open the Jetson Nano terminal and enter
```
ls /dev/sd*
```
- Format the USB drive.
sudo mkfs.ext4 /dev/sda
- Modify the startup path
sudo vi /boot/extlinux/extlinux.conf
Find the statement APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0, change mmcblk0p1 to sda and save
- mount U disk
sudo mount /dev/sda /mnt
- Copy the system to the U disk (please wait patiently for no information to be printed during this process)
sudo cp -ax / /mnt
- Uninstall the U disk after the copy is complete (not unplug the U disk)
sudo umount /mnt/
- restart the system
sudo reboot
NOTICE:This operation will format the SD card
Equipment preparation
- Jetson Nano Board
- 5V 4A power adapter
- An SD card above 64G
Identify SD card
- Install the dtc software on the virtual machine
sudo apt-get install device-tree-compiler
- Download the tegra210-p3448-0002-p3449-000-b00.dtb file from the link and replace the tegra210-p3448-0002-p3449-000-b00.dtb file in Linux-for-Tegra/kernel/dtb
- After being replaced,for firmware upgrade, Jetson Nano needs to enter recovery mode and connect to Ubuntu computer.
If you use the SDK Manager software, please use the following command:
cd ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra
sudo ./flash.sh jetson-nano-emmc mmcblk0p1
If you are using a resource pack, please use the following command:
cd Linux_for_Tegra
sudo ./flash.sh jetson-nano-emmc mmcblk0p1
- Check if the SD card is recognized:
ls /dev/mmcblk*
- If the mmcblk1p1 device is recognized, it means that the SD card is recognized normally.
- format SD card
Under normal circumstances, the following prompt will appear:
If the following prompt appears, there is already a file system:
Unmount the SD card first:
sudo umount /media/(Here, press the Tab key to automatically complete)
Format the SD card again using the format command.
After formatting successfully, enter:
ls /dev/mmcblk*
- Mount the SD card
sudo mount /dev/mmcblk1 /mnt
- Copy the system to the SD card (please wait patiently for no information to be printed during this process)
sudo cp -ax / /mnt
- Unmount the SD card after the copy is complete (not unplug the SD card)
sudo umount /mnt
- Modify the startup path
sudo vi /boot/extlinux/extlinux.conf
Find the statement in the figure below and change mmcblk0p1 to mmcblk1p1
- restart the system
reboot
Equipment preparation
- Jetson Nano Board
- 5V 4A power adapter
- An SD card above 64G
Toggle SD card boot process
- Install the dtc software on the virtual machine
sudo apt-get install device-tree-compiler
- Enter the HW Imager kernel path and decompile the dts source file
If you use the SDK Manager software, please use the following command:
cd ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra/kernel/dtb (For different jetpacks, modify the corresponding path)
dtc -I dtb -O dts -o tegra210-p3448-0002-p3449-0000-b00.dts tegra210-p3448-0002-p3449-0000-b00.dtb
If you use the command line to burn, please use the following command:
cd Linux_for_Tegra/kernel/dtb
sudo dtc -I dtb -O dts -o tegra210-p3448-0002-p3449-0000-b00.dts tegra210-p3448-0002-p3449-0000-b00.dtb
- Modify the device tree
sudo gedit tegra210-p3448-0002-p3449-0000-b00.dts
- Ctrl+F, search keyword sdhci, find sdhci@700b0400 structure
Change status = "disabled"; in line 5771 to status = "okay";
After line 5804 mmc-ddr-1_8v; add
cd-gpios = <0x5b 0xc2 0x0>;
sd-uhs-sdr104;
sd-uhs-sdr50;
sd-uhs-sdr25;
sd-uhs-sdr12;
no-mmc;
After modification, click Save to save
- Back up the previous dtb file first
sudo cp tegra210-p3448-0002-p3449-0000-b00.dtb tegra210-p3448-0002-p3449-0000-b00-bak.dtb
- compile dtb file
sudo dtc -I dts -O dtb -o tegra210-p3448-0002-p3449-0000-b00.dtb tegra210-p3448-0002-p3449-0000-b00.dts
- For firmware upgrade, Jetson Nano needs to enter recovery mode and connect to Ubuntu computer.
If you use the SDK Manager software, please use the following command:
cd ~/nvidia/nvidia_sdk/JetPack_4.6_Linux_JETSON_NANO_TARGETS/Linux_for_Tegra
sudo ./flash.sh jetson-nano-emmc mmcblk0p1
If you are using a resource pack, please use the following command:
cd Linux_for_Tegra
sudo ./flash.sh jetson-nano-emmc mmcblk0p1
- If the mmcblk1p1 device is recognized, it means that the SD card is recognized normally.
- Modify the startup path
sudo vi /boot/extlinux/extlinux.conf
Find the statement in the figure below and change mmcblk0p1 to mmcblk1p1
- restart the system
reboot
Equipment preparation
- card reader
- SD card above 32G
Windows firmware upgrade process to SD card
- Download, install and launch SD Memory Card Formatter for Windows. After entering the following website, click the Accpt download at the bottom, and then install the software
https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/
- select card drive
- Select "Quick format"
- Click Format to start formatting, then click Yes on the warning dialog
- Download, install and start Etcher.
https://www.balena.io/etcher/
- Click on "Flash from file" (Select Image) and select the compressed image file you downloaded earlier.
- Click "Select target" and select the SD card you just formatted.
- Click on Flash!. If the microSD card is connected via USB3.0, it takes 10 minutes for Etcher to write and verify the image appointment.
- Finish
Jetpack mainly includes system images, libraries, APIs, developer tools, examples and some documentation. In the SDK Manager software, we first install the OS, which is the system image, and the uninstalled part is the SDK, as shown in the figure below, you can use the command to install directly or use the SDK Manger to install:
The SDK includes TensorRT, cuDNN, CUDA, Multimedia API, Computer Vision, and Developer Tools.
TensorRT: A high-performance deep learning inference runtime for image classification, segmentation, and object detection neural networks, which speeds up deep learning inference and reduces the runtime memory footprint of convolutional and deconvolutional neural networks.
cuDNN: The CUDA Deep Neural Network library provides high-performance primitives for deep learning frameworks, including support for convolutions, activation functions, and tensor transformations.
CUDA: The CUDA toolkit provides a comprehensive development environment for C and C++ developers building GPU-accelerated applications. The toolkit includes compilers for NVIDIA GPUs, math libraries, and tools for debugging and optimizing application performance.
Multimedia API: The Jetson Multimedia API provides a low-level API for flexible application development.
Computer Vision: VPI (Vision Programming Interface) is a software library that provides computer vision/image processing algorithms implemented on PVA1 (Programmable Vision Accelerator), GPU and CPU, where OpenCV is used for computer vision, image processing and machine learning The leading open source library, now featuring GPU acceleration for real-time operations, and VisionWorks2, a software development kit for computer vision (CV) and image processing.
Developer Tools: The Developer Tools CUDA toolkit provides a comprehensive development environment for C and C++ developers building GPU-accelerated applications. The toolkit includes compilers for NVIDIA GPUs, math libraries, and tools for debugging and optimizing application performance.
The above are some functions of the SDK. When the previous system is installed, only the basic system is installed. Other JetPack SDK components, such as CUDA, need to be further installed after the system starts normally. Here are the steps to install the SDK. If you want to install this part, please ensure that the TF card or U disk is the main system, because the downloaded content may cause the EMMC disk capacity to run out.
When using the SDK Manager to install the SDK, there is no need to set the nano to recovery mode, that is, there is no need to short-circuit the pins.
Power on and start the Nano normally
After Jetson Nano enters the system and starts normally, connect the Micro USB interface of Jetson Nano to the Ubuntu host with a USB data cable
Run the sdkmanager command on the Ubuntu host computer to open the SDK Manager (you need to install the SDK Manager first)
Similar to the previous operation of upgrading the firmware, the difference is that in the step, instead of checking the OS option, check the SDK' option, and then continue to the installation
After downloading the resources, a pop-up window will prompt to fill in the user name and password, just fill in the user name and password of the nano system
Wait for the SDK to be installed successfully
¶ Install using the command
Users who do not have ubuntu or a virtual machine can choose to install directly on Jetson Nano using the following instructions
sudo apt update
sudo apt install nvidia-jetpack