[JetsonTX1] Nvidia Jetson TX1 다시 설치하기 (초기화 하기)
안녕하세요~
오늘은 예전에 Nvidia 에서 판매된 JETSON TX1 보드를 구석에 박아 두었다가 다시 꺼내봤습니다.
열심히 연결하여 부팅을 하니 새로운 버전이 나왔다며 "업그레이드 할래?" 라고 하길래... 순진한 마음으로 "그래!!!" 했다가
Driver가 꼬였는지 마우스 및 키보드가 먹통이 되는 사건이 발생했네요..ㅎㅎ
이참에 초기화 하여 다시 설치해보자.. 하면서 구글링을 해보니 한글로 된 자료가 그닥 없더라구요.
그래서 오늘 설치하면서 나름 최신으로 포스팅하게 되었습니다~!
준비물 : Ubuntu16.04 가 설치된 Host PC, 인터넷
◼︎ 간단정리
1. 설치할 파일 2가지를 받음
2. Host PC에 파일을 구성
3. Jetxon TX1 보드 Recovery Mode 상태로 Host PC 와 연결
4. Flash~!
일단 간략하게 목표를 살펴보죠.
https://developer.nvidia.com/embedded/develop/software
해당 사이트를 들어가보면 아래와 같은 정보를 얻을 수 있습니다.
L4T 가 뭔데??? 라고 궁굼해 하시는 분들이 계시겠죠!
L4T는 Linux for Tegra 의 약자 입니다.
말 그대로 Tegra 에서 실행가능한 Linux 를 의미하죠!
우리가 설치해야 할 녀석 이기도 하구요!
보아하니 제가 가지고 있는 Jetson TX1의 보드는 L4T r28.2 까지 나온듯 합니다.
L4T r28.2 링크를 클릭하여 사이트로 이동 해봅니다.
Linux for Tegra R28.2 에 해당하는 정보들을 한 눈에 볼 수 있도록 만들어놓은 페이지 입니다.
이제 여기서 우리가 필요한 파일을 다운로드 받아야겠죠?
일단 기본적으로 설치에 필요한 파일은 2가지 입니다.
바로 Driver Packages 와 Sample Root Filesystem 입니다.
간단하게 설명드리자면 Driver Packages에 Sample Root Filesystem 을 포함시킨다음 Jetson TX1 보드로 Flash 해줄겁니다!
Flash를 위해서 Host PC(r28.2기준 Ubuntu 16.04 권장)이 필요합니다. (r28.2외 이전 버전의 경우 14.04가 필요한 경우도 있다고 합니다. 16.04에서 에러를 뿜을 수 있다고 하네요)
Host PC에서 2가지 파일을 모두 받습니다.
다운로드 받은 파일을 적합한 폴더내에 모두 위치 시킵니다.
전 그냥 깔끔하게(?) 홈 위치에 뒀습니다.
먼저 Tegra210_Linux_R28.2.0_aarch64.tbz2 파일을 풀어줍니다.
$ sudo tar xpf Tegra210_Linux_R28.2.0_aarch64.tbz2 |
그럼 Linux_for_Tegra 라는 폴더가 생성되며 그 안에 파일이 풀리게 됩니다.
해당 폴더의 rootfs 까지 이동합니다.
$ cd Linux_for_Tegra/rootfs
|
해당 폴더는 root file system 폴더인데 우리가 함께 받은 File System 을 여기에 풀어줘야 합니다.
아래 명령어로 해당 폴더에 풀어줍니다.
$ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R28.2.0_aarch64.tbz2 |
정상적으로 진행이 되었다면 아래와 같이 압축이 풀렸을 것 입니다.
그리고 상위 폴더로 나와서 apply_binaries.sh 스크립트를 실행해줍니다. (apply_binaries.sh 파일은 Linux_for_Tegra 에 위치합니다.)
$ cd .. $ sudo ./apply_binaries.sh |
정상적으로 완료가 되면 아래와 같이 Success! 를 뿜습니다.
이제 Jetson TX1 보드를 준비합니다.
이때 Jetson TX1 보드는 Recovery 상태로 Host PC와 연결이 되어야 합니다.
Recovery 모드 진입은 아래와 같이 진행합니다.
Jetson TX1 Recovery Mode Sequence 1. 보드의 Power 케이블을 제거했다 다시 연결 2. 보드에서 REC (S3) 버튼을 누른채로 대기 3. 보드에서 PWR (S4) 버튼을 한번 눌러줌 4. 2~3초 뒤 REC 버튼도 떼어 줌 5. USB 케이블을 이용하여 Host PC에 연결 (이때 Jekson TX1 보드의 OTG 포트에 연결해줘야 합니다.) |
Host PC와 정상적으로 연결이 되었는지 확인하기 위해 터미널에서 lsusb 명령어를 사용하여 검색해봅니다.
$ lsusb
|
정상적으로 연결이 되었다면 아래와 같이 Nvidia Corp. 리스트가 확인이 됩니다.
Jetson TX1 보드와 연결도 잘 된것 같으니 이제 Flash를 진행해보도록 하죠!
flash.sh 파일을 실행하여 연결된 Jetson 보드에 넣어주면 됩니다. (flash.sh 파일은 Linux_for_Tegra 폴더에 위치합니다.)
아래와 같은 명령어를 사용합니다.
$ sudo ./flash jetson-tx1 mmcblk0p1
|
이렇게 되면 Host PC에서 Jetson TX1 보드로 파일을 복사합니다. (가이드문서 에서는 약 10분정도 소요 된다고 합니다. Host PC 성능마다 틀릴 수 있습니다.)
위의 jetson-tx1 은 보드명이고, mmcblk0p1은 Jetson TX1 보드내에 있는 eMMC를 의미합니다. (자세한 옵션은 User Guide 4 페이지(문서기준) 에 있습니다.)
열심히 Flash 중 입니다.
저는 약 5분정도 걸렸네요.
Flash가 모두 완료되면 Jetson TX1 보드가 자동으로 재시작을 합니다.
그리고 모니터가 연결이 되어 있으면 NVidia 로고와 함께 부팅을 시작하죠~!
이제 새로 설치는 완료가 되었으니 인터넷에 연결하여 업데이트와 각종 편의시설(?)을 제공 해줍니다.
이렇게 Jetson TX1 보드 재설치과정에 대해서 알아봤는데요!
저도 젝알못이라 이제 이리저리 살펴보며 필요한 SDK와 각종 예제를 살펴 봐야겠네요^^
아무쪼록 재설치때문에 고민이셨던 분들에게 도움이 되었으면 합니다!
읽어주셔서 감사합니다~!
※ 아! 참고로 부팅 후 비밀번호 초기값은 nvidia 로 되어있습니다! 참고하세요~ (기존 14.04에서는 ubuntu 였던 것으로 기억합니다.)
(추가) ubuntu 계정은 비번 초기가 ubuntu 로 되어 있습니다!
** 2019.12.17 Update
위의 방법대로 진행하다가 아래의 명령에서 bzip2 에러가 발생하는 경우가 있습니다.
(아래의 명령어 실행 시 bzip2 에러가 발생함)
$ cd .. $ sudo ./apply_binaries.sh |
이유는 lbzip2 라이브러리가 시스템에 설치되어 있지 않아서 발생하는 증상 입니다.
(실제로 bzip2 자체는 이미 시스템에 설치가 되어 있는데 오류가 발생합니다.)
아래의 명령어를 실행하여 lbzip2 라이브러리를 설치합니다.
$ sudo apt-get update $ sudo apt-get install lbzip2 |
이후 다시 sudo ./apply_binaries.sh 명령을 실행하면 정상적으로 동작합니다.