📌 Intro
이전 글에서는 버추얼박스를 이용하여 Xavier를 초기화 하려고 했었고 실패했었다. 그래서 window 데스크탑에 듀얼 부팅으로 우분투를 설치하여 해결하였다.
📌 듀얼부팅
듀얼부팅 관련 내용은 아래 링크를 따라서 진행하였다.
https://cupjoo.tistory.com/53
몇 가지 다른 점은 스왑 영역이나 기타 영역을 따로 설정하지 않았고, 윈도우에서 할당하지 않은 파티션(free space) 모두를 우분투로 사용하도록 했다.
또, 재부팅 시 화면이 조금 달랐는데, 이는 [Device for boot loader installation] 영역을 window boot manager가 있는 위치가 아닌 다른 위치로 설정해두었기 때문으로 보인다.
듀얼부팅을 처음 시도해서 저장된 정보가 날아가지 않을까하는 걱정 때문에 window boot manager는 건드리기 싫은 느낌이라 다른 곳에 설치하였다.
위 링크를 참고하여 내가 진행한 방식을 정리한 링크는 다음과 같다. 도움이 되길 바란다.
[Jetson Xavier agx] 초기화 사전준비 듀얼부팅
📌 Intro 연구실에서 Xavier에 JetPack 재설치를 진행해야 하는데, Xavier에 JetPack 을 설치하기 위해서는 우분투가 설치되어 있는 컴퓨터가 필요하다.(VirtualBox 안됨..) 때문에 연구실 컴퓨터에 듀얼 부
krrong.tistory.com
📌 JetPack 설치
1. 사전 준비
데스크 탑에 우분투 설치를 완료했다면 아래 글을 참고하여 SDK Manager설치와 Xavier 연결 및 리커버리 모드까지 진행하도록 하자.
[Jetson Xavier agx] 초기화 및 jetpack 설치1
📌 Intro Jetson Xavier를 쓰고 있는데 YOLO를 실행할 때 GPU를 사용하지 못하는 것을 해결해보려다 그냥 처음부터 설치하여 사용하기로 했다. 📌 Xavier 초기화 Xavier를 Shutdown해서 불이 꺼진 것을 확인
krrong.tistory.com
현재 데스크탑은 랜선으로 인터넷을 사용할 수 있는 상태, Xavier는 와이파이 동글을 통해 인터넷을 사용할 수 있는 상태다.
2. SDK Manager 실행
SDK Manager를 실행하자.
Xavier와 데스크탑이 잘 연결된 상태라면 위와 같이 기기를 선택할 수 있는 창이 나온다. Jetson AGX Xavier 를 선택해주자.
3. STEP 1
연결이 잘 되면 Target Hardware에 정상 체크 표시가 된다. JetPack 버전은 최신 버전을 선택하였고 CONTINUE를 클릭하자.
4. STEP 2
STEP 2는 Jetson OS와 CUDA, cudnn 등의 라이브러리를 설치하는 과정이다. 왼쪽 하단에 있는 accept 버튼을 클릭하고 COTINUE를 클릭하자. 이 때 우분투가 설치된 데스크탑에 30~40GB의 여유 용량이 있어야 한다.
설치를 시작하면 시간이 꽤나 걸리니 책을 읽거나 휴대폰을 하거나 커피 한 잔을 하고 오도록 하자.
5. Set up
30%정도 도달하면 위와 같은 화면이 나오는데, 빨갛게 표시한 부분을 선택할 수 있다. 이전 글에서도 언급했지만 이미 JetPack이 설치되어 있는 Xaiver를 초기화 목적으로 진행하는 것이기 때문에 초기 설치와는 조금 다른점이 있다. Manual Set up을 선택하면 초기 설치와 같아진다. Username과 Password를 결정하고 Flash 버튼을 클릭하고 대기하면 Xavier에 연결된 모니터가 켜진다.
6. Xavier 부팅
Xavier가 처음으로 부팅되면 위 화면들을 순서대로 거친다. 조금 더 대기하고 있다보면 재시작된다.
결과적으로 위와 같은 화면이 나오면 Xavier OS 설치 및 부팅이 완료된 것이다. 음 아주 좋아!
7. 라이브러리 설치
Xavier가 Flash된 후 터미널에서 ifconfig 명령어를 입력하여 5번에서 봤던 이미지에 Xavier IP를 넣어주어야 한다.
현재 와이파이 동글을 통해 인터넷에 연결된 상태이고, wlan0에 있는 IP를 입력해주도록 하자.
IP가 다를 수 있음에 유의!
앞에서 확인한 Xavier IP를 입력하고 설정할 Username, Password를 입력한 뒤 Install 버튼을 클릭하자.
참고로 적어두면 default로 적혀있는 IP는 192.165.55.1 이다.
[추가]
이후에 파이토치 다운 받을 때 문제가 생겨서 초기화를 다시 진행하면서 알게 된 점인데, 디폴트로 적혀있는 192.165.55.1 을 입력하고 진행해야 CUDA같은 SDK Component 설치가 잘 된다. 다른 값을 넣어주는 경우에는 CUDA 설치 99%에서 더 이상 진행되지 않는다..
Xavier에서 ifconfig로 IP주소를 확인하면 여러개의 주소가 나오는데 그 중 아래와 같이 l4tbr0 의 IP주소를 확인해보면 192.165.55.1 이다. 그래서 혹시나 하고 이 값을 넣어주었더니 잘 진행이 되었다.
8. Install
Install 버튼을 클릭하고나면 위와 같은 화면이 나온다. 설치가 다 될 때까지 기다려주자.
참고로 적어두면 위 세 가지 중 Internet Connection이 되지 않았다는 에러 메시지가 나왔는데 SKIP 버튼을 클릭하니 그냥 진행되었다. 분명히 인터넷이 잘 연결되어 있는 것을 확인했는데 왜 안되었을까?
또, 랜선으로 잘 연결되어 있음에도 불구하고 인터넷을 잡지 못해서 와이파이로 진행했다.
설치가 끝날 때까지 대기하자.
9. 대기
Finish 버튼이 활성화 될 때까지 대기해주자.
10. 확인
잘 설치되었는지 CUDA와 cudnn버전을 확인해보도록 하자.
nvcc --version
명령어를 이용하여 위와 같이 설치된 CUDA의 버전을 확인할 수 있다.
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
명령어를 이용하여 위와 같이 설치된 cudnn의 버전을 확인할 수 있다.
만약 아무런 값이 나오지 않는다면 Xavier를 재시작해보도록 하자.
cd ~/VisionWorks-SFM-0.90-Samples
./bin/aarch64/linux/release/nvx_sample_sfm
참고로 위 명령어를 통해 VisionWork 예제를 실행하여 확인하는 방법도 있다. 이 방법도 진행해봤는데 안되서 제대로 설치된 것이 아닌가? 하며 당황했었다.
다행히도 참고[3]에 따르면 VisionWorks가 JetPack 버전 4.6이후로 사라진 것 같다.
📌 정리
결과적으로 Xavier는 우분투가 설치되어 있는 컴퓨터가 있어야 JetPack을 설치할 수 있다. 그리고 JetPack을 설치할 때 GPU를 사용할 수 있는 CUDA와 cudnn도 함께 설치할 수 있다.
이상으로 길고 길었던 Xavier 초기화 과정 끝!!!!!
이제 시작이지만 그래도 기분이 좋다 ㅎㅎㅎ
💡 8/25 추가내용
SDK Component 설치 이후 Yolov5를 사용하기 위해서 Pytorch를 설치하는데 다음과 같은 오류가 지속적으로 발생했다.
libmpi_cxx.so.20 cannot open shared object file no such file or directory
해서 JetPack버전을 4.6으로 낮추어 다시 설치했더니 Pytorch를 설치하는데 오류가 나지 않았다. 이에 대해서도 다음 글에 간단하게 정리할 것이다.
위 내용에서 사용한 ubuntu는 20.04 버전이다. 20.04버전의 ubuntu 컴퓨터에서는 JetPack을 5.0이상의 버전만 설치할 수 있고, 만약 JetPack 4. 버전을 사용하고 싶다면 ubuntu 버전을 16.04 혹은 18.04로 설치해줘야 한다. 이미 듀얼부팅으로 20.04를 설치했었는데 20.04버전을 지우고 다시 18.04버전을 설치한 뒤에 JetPack 4.6버전을 통해 Pytorch 설치 문제를 해결했다.
[요약]
ubuntu 20.04 → JetPack 5.xx → Pytorch 오류
ubuntu 16.04 or 18.04 → JetPack 4.xx → Pytorch 정상 설치
📌 참고
[1] https://hikwail.tistory.com/22
[2] https://mickael-k.tistory.com/190
[3] https://forums.developer.nvidia.com/t/visionworks-will-be-retired-after-jetpack-4-6-x/170397