Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update: Flashing methods #689

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
169 changes: 150 additions & 19 deletions docs/Edge/NVIDIA_Jetson/reServer_Industrial_Getting_Started.md
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ reServer industrial has 5 RJ45 GbE ports, 4 of which are PoE PSE ports for provi

## Flash JetPack

reServer Industrial comes pre-installed with JetPack 5.1.1 on a 128GB SSD along with the necessary drivers. This includes SDK components such as CUDA, CUDNN and TensorRT. However, if you want to reflash Jetpack to the included SSD or to a new SSD, you can follow the steps.
reServer Industrial comes pre-installed with JetPack 5.1.1 on a 128GB SSD along with the necessary drivers. This includes SDK components such as CUDA, CUDNN and TensorRT. However, if you want to reflash Jetpack to the included SSD or to a new SSD, you can follow the steps below. Currently we only provide guidance for JP5.1.1 and we will keep updating this in the future.

:::note
If you want to use SSDs with reServer Industrial, we only recommend you choose the [128GB](https://www.seeedstudio.com/M-2-2280-SSD-128GB-p-5332.html), the [256GB](https://www.seeedstudio.com/NVMe-M-2-2280-SSD-256GB-p-5333.html), [512GB](https://www.seeedstudio.com/NVMe-M-2-2280-SSD-512GB-p-5334.html), and the [1TB](https://www.seeedstudio.com/NVMe-M-2-2280-SSD-1TB-p-5767.html) versions from Seeed.
Expand All @@ -257,7 +257,43 @@ You need to prepare the following hardware before getting started with reServer
- HDMI cable
- Keyboard and Mouse

### Download System Image
### Enter Force Recovery Mode

Now you need to enter recovery mode on the reServer Industrial board in order to flash the device. Connect a USB Type-C cable between **DEVICE** port and your PC. Use a pin and insert into the **REC** hole to press the recovery button and while holding this, connect the included **2-Pin Terminal block power connector** to the power connector on the board (make sure to use the 2 screws to screw the terminal in place) and connect the included power adapter with a power cord to turn on the board

<div align="center"><img width ="650" src="https://files.seeedstudio.com/wiki/reServer-Industrial/4.jpg"/></div>

:::note
Make sure you power on the device while holding the RECOVERY button or otherwise it will not enter recovery mode
:::

On the Ubuntu host PC, open a Terminal window and enter the command **lsusb**. If the returned content has one of the following outputs according to the Jetson SoM you use, then the board is in force recovery mode.

- For Orin NX 16GB: **0955:7323 NVidia Corp**
- For Orin NX 8GB: **0955:7423 NVidia Corp**
- For Orin Nano 8GB: **0955:7523 NVidia Corp**
- For Orin Nano 4GB: **0955:7623 NVidia Corp**

### Different Methods of Flashing

Here we offer 2 different methods of flashing.

1. Download the entire system image we have prepared which includes NVIDIA JetPack, hardware periheral drivers and flash to device
2. Download official NVIDIA L4T, use the included hardware periheral drivers and flash to device

:::note
The first method download is around 14GB and the second method download is about 3GB
:::

<!-- Code -->

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

<Tabs>
<TabItem value="method1" label="Method 1">

#### Download System Image

- **Step 1:** Download the system image to your Ubuntu PC corresponding to the board you are using

Expand Down Expand Up @@ -292,52 +328,147 @@ You need to prepare the following hardware before getting started with reServer
</tbody>
</table>

The source code for the above images can be found [here](https://github.com/Seeed-Studio/Linux_for_Tegra)

- **Step 2:** Extract the generated file

```sh
tar -xvf <file_name>.tar.gz
```

### Enter Force Recovery Mode
#### Flash to Jetson

Now you need to enter recovery mode on the reServer Industrial board in order to flash the device. Connect a USB Type-C cable between **DEVICE** port and your PC. Use a pin and insert into the **REC** hole to press the recovery button and while holding this, connect the included **2-Pin Terminal block power connector** to the power connector on the board (make sure to use the 2 screws to screw the terminal in place) and connect the included power adapter with a power cord to turn on the board
- **Step 1:** Navigate to the extracted file from before and execute the flash command as follows

<div align="center"><img width ="650" src="https://files.seeedstudio.com/wiki/reServer-Industrial/4.jpg"/></div>
```sh
cd mfi_reserver-orin-industrial
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1 --network usb0 --showlogs
```

:::note
Make sure you power on the device while holding the RECOVERY button or otherwise it will not enter recovery mode
:::
Now it will start to flash the system image to the board. If the flashing is successful, you will see the below output

On the Ubuntu host PC, open a Terminal window and enter the command **lsusb**. If the returned content has one of the following outputs according to the Jetson SoM you use, then the board is in force recovery mode.
<div align="center"><img width ="650" src="https://files.seeedstudio.com/wiki/reComputer-Industrial/99.png"/></div>

- For Orin NX 16GB: **0955:7323 NVidia Corp**
- For Orin NX 8GB: **0955:7423 NVidia Corp**
- For Orin Nano 8GB: **0955:7523 NVidia Corp**
- For Orin Nano 4GB: **0955:7623 NVidia Corp**
- **Step 2:** Connect the board to a display using the HDMI connector on the board and finish the initial configuration setup

<div align="center"><img width ="800" src="https://files.seeedstudio.com/wiki/reComputer-Industrial/104.png"/></div>

<div align="center"><img width ="800" src="https://files.seeedstudio.com/wiki/reComputer-Industrial/105.png"/></div>

After that, the board will reboot and will be ready to use!

<div align="center"><img width ="800" src="https://files.seeedstudio.com/wiki/reComputer-Industrial/106.png"/></div>

---

### Flash to Jetson
</TabItem>
<TabItem value="method2" label="Method 2">

Navigate to the extracted file from before and execute the flash command as follows
#### Download and Prepare NVIDIA L4T and rootfs

```sh
cd mfi_reserver-orin-industrial
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1 --network usb0 --showlogs
wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v3.1/release/jetson_linux_r35.3.1_aarch64.tbz2
wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v3.1/release/tegra_linux_sample-root-filesystem_r35.3.1_aarch64.tbz2
tar xf jetson_linux_r35.3.1_aarch64.tbz2
sudo tar xpf tegra_linux_sample-root-filesystem_r35.3.1_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
cd Linux_for_Tegra/
sudo ./apply_binaries.sh
sudo ./tools/l4t_flash_prerequisites.sh
```

#### Download and Prepare Drivers

- **Step 1:** Download the driver files to your Ubuntu PC corresponding to the board you are using

<table>
<thead>
<tr>
<th>Jetson Module</th>
<th>Download Link</th>
<th>JetPack Version</th>
<th>L4T Version</th>
</tr>
</thead>
<tbody>
<tr>
<td rowSpan={2}>Jetson Orin NX 8GB/ 16GB</td>
<td rowSpan={2}><a href="https://sourceforge.net/projects/nvidia-jetson/files/reServer-Industrial/orin-nx-8-16-reserver-industrial.zip/download" target="_blank" rel="noopener noreferrer">Download</a></td>
<td rowSpan={4}>5.1.1</td>
<td rowSpan={4}>35.3.1</td>
</tr>
<tr>
</tr>
<tr>
<td>Jetson Orin Nano 8GB</td>
<td><a href="https://sourceforge.net/projects/nvidia-jetson/files/reServer-Industrial/orin-nano-8-reserver-industrial.zip/download" target="_blank" rel="noopener noreferrer">Download</a></td>
</tr>
<tr>
<td>Jetson Orin Nano 4GB</td>
<td><a href="https://sourceforge.net/projects/nvidia-jetson/files/reServer-Industrial/orin-nano-4-reserver-industrial.zip/download" target="_blank" rel="noopener noreferrer">Download</a></td>
</tr>
</tbody>
</table>

- **Step 2:** Move the downloaded peripheral drivers into the same folder with **Linux_For_Tegra** directory

<div align="center"><img width ="1000" src="https://files.seeedstudio.com/wiki/reServer-Industrial/29.jpg"/></div>

- **Step 3:** Extract the downloaded driver .zip file. Here we additionally install the **unzip** package which is needed to decompress the .zip file

```sh
sudo apt install unzip
sudo unzip xxxx.zip # Replace xxxx with the driver file name
```

Here it will ask whether to replace the files. Type A and press ENTER to replace the necessary files

<div align="center"><img width ="1000" src="https://files.seeedstudio.com/wiki/reServer-Industrial/30.png"/></div>

#### Flash to Jetson

- **Step 1:** Navigate to the **Linux_for_Tegra** directory and execute the flash command as follows

```sh
cd Linux_for_Tegra
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_nvme.xml -S 80GiB -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg" --network usb0 reserver-orin-industrial external
```

Now it will start to flash the system image to the board. If the flashing is successful, you will see the below output

<div align="center"><img width ="650" src="https://files.seeedstudio.com/wiki/reComputer-Industrial/99.png"/></div>

- **Step 7:** Connect the board to a display using the HDMI connector on the board and finish the initial configuration setup
- **Step 2:** Connect the board to a display using the HDMI connector on the board and finish the initial configuration setup

<div align="center"><img width ="800" src="https://files.seeedstudio.com/wiki/reComputer-Industrial/104.png"/></div>

<div align="center"><img width ="800" src="https://files.seeedstudio.com/wiki/reComputer-Industrial/105.png"/></div>

After that, the board will reboot and will be ready to use!
After that, the board will reboot and you will see the following

<div align="center"><img width ="800" src="https://files.seeedstudio.com/wiki/reComputer-Industrial/106.png"/></div>

- **Step 3:** Open a terminal window inside the device, execute the following, the device will reboot and ready to use!

```sh
systemctl disable nvgetty.service
depmod -a
sudo reboot
```

Futhermore, if you want to install SDK components such as CUDA, cuDNN, TensorRT, please execute the following

```sh
sudo apt update
sudo apt install nvidia-jetpack -y
```

---

</TabItem>
</Tabs>

<!-- Code END -->

## Hardware and Interfaces Usage

To learn more about how to use all the hardware and interfaces on the reServer Industrial board, we recommend you to follow the below section of the wiki:
Expand Down