Jetson TK1 이 다가왔다 ! ~구입, OS 인스톨 편~

일본 쪽에서 Jetson TK1 보드에 오픈소스인 ROS(Robot OS)를 올리는 등의 작업을 연속으로 블로그에 올리고 있는 Takayuki Yokota씨의 글이 있어서 우선 첫 회를 올려봅니다(http://tyokotabb.blogspot.kr/2014/06/jetson-tk1.html ). 그런데 아래 첫 부분은 이 사람이 이미 리눅스가 보드를 살 때부터 인스톨 되어 있다는 걸 모르고 리눅스 인스톨부터 진행했다고 써 있네요. 만약 여러분이 Jetson TK1 보드를 입수하면 리눅스는 이미 인스톨 되어 있으니 아래 글의 첫 부분은 무시하세요.

--------------------------- 아래 -----------------
2014年6月4日水曜日
Jetson TK1 이 다가왔다 ! ~구입, OS 인스톨 편~

NVIDIA가 발매한 세계최초의 임베디드 슈퍼컴퓨터 "젯슨 TK1"

구입했으니 configuration하고 인스톨하는 것을 메모하듯이 작성해 봅니다.
보드 본체입니다.

케이스는 자작했습니다. NVIDIA 컬러로 해서 느낌 좋네요.

다운로드 할 것 여러가지는 여기로부터.
https://developer.nvidia.com/jetson-tk1-support

OS는 ARM 베이스의 Linux for Tegra입니다.
인스톨은 아래에 있는 Quick Start Guide에서 할 수 있습니다.
https://developer.nvidia.com/linux-tegra-rel-19

Linux 동작의 호스트 PC가 필요한데, 저는 Ubuntu12.04으로 했습니다.
이하 커맨드를 차근차근히.
sudo tar xpf Tegra124_Linux_R19.2.0_armhf.tbz2
cd Linux_for_Tegra/rootfs
sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R19.2.0_armhf.tbz2
cd ../
sudo ./apply_binaries.sh

이번 회는 내장 eMMC(16GB)로 인스톨 합니다.
호스트 PC와 Jetson을 USB 케이블로 연결합니다.
여기에서 Jetson을 리커버리 모드로(RECOVORY를 길게 누르면서 RESET 버튼을 누른다.).
그리고 써넣기 커맨드, "mmcblk0p1" 부분을 변경하면 HDD와 SD카드에서도 인스톨 할 수 있습니다.(flash.sh 안에 기술되어 있습니다.)
sudo ./flash.sh -S 8GiB jetson-tk1 mmcblk0p1
위 커맨드를 입력하면 써 넣는데 약 30분정도 걸립니다.

가이드에는 써넣기 종료 후에 Reboot되면서 완료한다고 되어 있지만 제 경우에는 Reboot가 자동으로 되지 않아서 수동으로 Reboot.

ubuntu 로그인 화면이 나타납니다.
user: ubuntu
pass: ubuntu
으로 되어 있습니다. 이건 나중에 변경합시다. 단, 변경은 신중히...

그리고 나서 ifconfig 에서 IP값을 고정으로 합니다.
이런 식으로 합니다.

그리고 이번 회는 eMMC에 인스톨했기때문에 용량이 부족할까봐 불안한 감이 있어서, SSD를 마운트 할 것입니다. SATA로 연결했습니다. SSD를 포맷할 경우에는 라벨을 붙여 놓으면 마운트 할 때 기억하기 쉽습니다.
기동 시에 마운트하려면 /etc/fstab에 추가로 써 넣습니다.

재기동해서 마운트 됐다면 그 디렉토리의 권한을 chown으로 변경해 놓습니다.

다음에 CUDA Toolkit을 인스톨 합니다.
다운로드는 https://developer.nvidia.com/jetson-tk1-support
덧붙이면 developer로 등록하지 않으면 다운로드 못할지도 모르겠네요.

sudo dpkg -i cuda-repo-l4t-r19.2_6.0-42_armhf.deb
sudo apt-get update
sudo apt-get install cuda-toolkit-6-0

.bashrcにcuda-6.0의 PATH를 기억합니다.
sudo vim .bashrc
export PATH=/usr/local/cuda-6.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-6.0/lib:$LD_LIBRARY_PATH
등, nvcc.profile에는 common/inc의 Path를 통해서 올립니다.
sudo vim /usr/local/cuda-6.0/bin/nvcc.profile
INCLUDE에는
“-I$(TOP)/samples/common/inc"
를 추가.
이것으로 nvcc 커맨드를 사용할 수 있게 되었네요.

CUDA 샘플은 Read Only이지만, 아래 커맨드로 조작이 가능하도록 임의의 장소로 만들어 놓을 수 있습니다.

cuda-install-samples-6.0.sh target-dir

cuda-6.0으로 Path가 지정되어 있다면 스크립트가 기동합니다.
그래서 make로 하면 OK.

다음은 OpenCV
이것도 https://developer.nvidia.com/jetson-tk1-support 에서.

sudo dpkg -i libopencv4tegra_2.4.8.2_armhf.deb
sudo dpkg -i libopencv4tegra-dev_2.4.8.2_armhf.deb

으로 완료. 헤더와 라이브러리가 들어갑니다.
샘플 프로그램같은 것은 보통 opencv 다운로드 하면 따라오는 것이랑 cookbook 등으로부터 얻을 수 있습니다.

이상, 이런 식으로 Jetson에서 CUDA로부터 OpenCV 등이 동작합니다.

전체적으로 컴파일 할 때에 여러가지의 include와 library로의 의존관계가 성가십니다. makefile 만드는 것을 해보세요.
지금까지 ROS(Robot OS)에 연관된 것들을 알 수 있었습니다. ^^

계산속도라든가 역시 192 core이기 때문에 미묘합니다만 임베디드 등에서 애교가 있네요. 게임 머신 쪽에서 처리능력은 월등히 높습니다...

그러면 제가 뭔가 실수한 것이 있다면 코멘트 주시면 고맙겠습니다.

그럼 안녕히.

P.S.
코멘트를 보고 알았습니다만 OS가 이미 인스톨 되어 있었네요... 그렇지만 공부가 됐다면 그것도 좋겠지요. ^^

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center