본문 바로가기

Nvidia Jetson

[Jetson] NVMe SSD에 Jetpack 6.1 설치하기 Jetson Orin Nano Dev Kit

오늘은 Jetson Orin Nano에 Jetpack 6.1 버전을 설치한 방법을 공유해 드리려 합니다.

SD 카드 없이 바로 NVMe SSD 위에다가 OS를 설치해 보도록 하겠습니다.

 

Jetpack 6.1 (R36, Revision 4.0)

바로 들어가보시죠~!

 

1. 준비물 

우선 준비물은 다음과 같아요

1. Ubuntu가 Native로 설치된 PC

 - 후술하겠지만, WSL은 사용이 안되더라구요ㅎㅎ..

2. Jetpack 5.1.3 버전이 설치된 Jetson Orin Nano

 - 커널 부분 업데이트가 있는지 기본 상태로는 바로 6.1 버전 설치가 안 되는 것으로 보입니다.

 

2. 공통 설치 과정

우선 MicroSD 카드에 Jetpack 5.1.3 이미지를 설치해 줍니다.

OS 이미지는 Nvidia에서, Flash는 balenaEtcher를 통해서 진행하도록 하겠습니다.

JetPack SDK | NVIDIA Developer

 

JetPack SDK

Builds end-to-end accelerated AI applications and supports edge AI development.

developer.nvidia.com

여기 중간쯤에 보시면 SD Card Image Method에 Jetson Orin Nano용 이미지를 받아줍니다.

 

balenaEtcher - Flash OS images to SD cards & USB drives

 

balenaEtcher - Flash OS images to SD cards & USB drives

A cross-platform tool to flash OS images onto SD cards and USB drives safely and easily. Free and open source for makers around the world.

etcher.balena.io

다운받은 이미지를 balenaEtcher를 통해 flash 해줍니다.

 

Jetson Orin Nano에 SD 카드를 넣고 부팅을 해줍니다. 

Terminal에 아래의 명령어를 입력하면 알아서 재부팅되면서, 검은 화면만 뜨게 되는데요, 정상이니 걱정 하 않으셔도 됩니다.

sudo apt-get install nvidia-l4t-jetson-orin-nano-qspi-updater
sudo reboot

 

검은 화면에서 멈춰있다면 Jetson의 전원을 꺼줍니다.

그리고 아래 3. 설치 과정부터 다시 진행하면 됩니다.

 

2-1. 삽질기

바로 3.설치 과정으로 넘어가셔도 무방합니다만, 의외로 저랑 같은 고민과 역경을 통과하려는 분들을 위해 작성해 봅니다.

 

A. 마땅한 Ubuntu Host PC가 없네, 마침 개발하던 WSL이 있으니까 여기에서 진행할 수 있겠지?

로 진행된 삽질기입니다. 

Windows Subsystem for Linux (WSL) — SDK Manager

 

Windows Subsystem for Linux (WSL) — SDK Manager

Windows Subsystem for Linux (WSL) SDK Manager supports flashing and installing SDKs on Jetson, Holoscan, and Ethernet Switch hardware from a Windows computer using WSL systems. To set up your environment, follow the instructions below. Setup the WSL Enviro

docs.nvidia.com

위 링크에서도 알 수 있듯, 일단 엔비디아 친구들은 WSL에서 Jetpack 설치를 지원하는 듯했습니다.

그러나 저는 능력이 부족한 탓인지 여러 부분에서 에러를 겪으며 실패했습니다.

 

우선 링크에 나온 것처럼 WSL2 버전이 권장됩니다. 그리고 가능하면 윈도우 11이 좋다고 읽었습니다.

그래서 저는 아래처럼 Windows 11과 WSL2에 Ubuntu 20.04로 설치를 진행했습니다.

Windows 11(Build 22635)

 

WSL 2

위 링크에 나온 대로 이것저것 설치하고

WSL로 돌아가서 SDK Manager를 설치합시다.

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install sdkmanager

 

설치가 완료되었으면 sdkmanager 명령어를 통해 SDK Manager를 실행해 봅니다. 아마 처음에는 로그인 화면이 나올 수 있는데, QR코드 로그인하면 가장 편하게 로그인 할 수 있습니다.

SDK Manager on Ubuntu 20.04(WSL2)

 

짜잔 그리고 Jetson을 USB C 케이블을 통해 Host와 연결 후 Recovery 모드로 부팅해 주세요.

리커버리 모드 부팅 방법이 궁금하시면 댓글 주시면 별도로 설명해 드리겠습니다. 

 

오! 그런데 이렇게 연결하면 Jetson은 Window로 붙고 Ubuntu에서는 인식이 되지 않습니다.

따라서 usbipd라는 프로그램으로 강제로 연결해 줄 필요가 있습니다.

Windows의 Powershell에서 다음과 같은 명령어로 usdipd를 설치해 줍니다.

winget install --interactive --exact dorssel.usbipd-win

 

그리고 연결된 장치를 확인해 주세요

usbipd.exe list

 

usb lists

저어기 아래에 Device APX가 Jetson입니다. 저는 지금 연결을 해놓지 않은 상태라 저렇게 보이는데요 연결되어 있다면 Connected에 BUSID가 확인될 겁니다.

usbipd.exe bind --busid <BUSID> --force
usbipd.exe attach --wsl --busid=<BUSID> --auto-attach

 

요런 방식으로 묶어주시고 다시 WSL로 돌아가서 Install을 진행해 줍니다.

Installing Jetpack

SDK Manager를 CLI로 실행하면 위처럼 여러 옵션이 보일 텐데요, 순서대로 Install, Jetson, Target Hardware, Jetson Orin Nano Devkit 쭉쭉 선택해 주시고 확인확인 정도 누르면 설치가 진행되는데요, 

저는 항상 설치 30% 부근에서 Jetson이 인식이 풀리면서 설치가 안되더라구요ㅋㅋ..

그러나 이 과정으로 설치가 되는 분이 있다면 댓글 부탁드립니다.

 

3. 설치 과정

결국 저는 WSL과의 전쟁에서 포기하고 Ubuntu 20.04를 새로 설치했습니다.

처음에는 위와 마찬가지 과정입니다.

WSL 대신 Ubuntu에서 SDK Manager를 설치해 주세요. 아래 링크에서 deb 파일 다운받아서 설치하면 됩니다.

SDK Manager | NVIDIA Developer

 

SDK Manager

An end-to-end development environment setup solution for DRIVE, Jetson, and more. SDKs.

developer.nvidia.com

그리고 Jetson을 마찬가지로 Recovery 모드에서 부팅합니다.

부팅 전에 기존에 꽂혀있던 Jetpack 5.1.3이 설치된 SD 카드는 제거하고, NVMe SSD를 설치해 줍니다.

 

Ubuntu에서 GUI로 설치하면 됩니다. 

아래 링크에 너무 잘 나와 있네요. 사실 여기부터는 너무 삽질을 많이 하느라 캡처를 따로 하지는 못했습니다..

 

Install Jetson Software with SDK Manager — SDK Manager

 

Install Jetson Software with SDK Manager — SDK Manager

Install Jetson Software with SDK Manager This section is intended to help you use the NVIDIA SDK Manager GUI to configure your development environment successfully. STEP 01: Set Up the Development Environment From the STEP 01 Development Environment window

docs.nvidia.com

 

SDK Manager(GUI)

저기 6번에 Storage Device는 NVMe로 선택해 줍니다.

 

이거 이후에 아래 이미지처럼 initial setup 어쩌구 하면서 IP 주소를 입력하게 되어있는 부분에서 오류가 발생한다면, 

우선 필요한 파일을 Host에 다 설치를 해두고, 랜선을 뽑아서 Host와 Jetson을 연결해 줍니다.

그러고 다시  Connection을 Ethernet으로 변경 후 진행하면 큰 문제 없이 설치 가능합니다.

initial setup

 

다음에는 이렇게 설치한 Jetpack 6.1에 YOLO 11을 설치하는 방법으로 돌아오도록 하겠습니다.