(机の上キーボード、マウスが散らかってますが、そのあたりは気にしないように)
ここからが、苦難の道の始まりです。ネットで色々設定方法を調べたのですが、どれも変わっており、どうしたらいいのか全然わからなくなりました。大きな問題が2つ。ホストPCとして、Ubuntu14のマシンが必要なのはわかっていました。(flashromに最新版のromイメージをUSB経由で書き込むのに必要)
しかし、最初にぶつかったのが以下の2つのトラブル。
①Jetsonが/etc/defaults/saneで問題があるといってきて、USBによる接続を拒否する。
saneはスキャナーのIFらしく、どうもこれを使ってホストPCと接続しているようです。JetsonのDefaultではこれをnoにしてあり、viでyesにしてやる必要があります。(だったら、最初からyesにしておけよ!)
②romイメージの書き込み最中に、なにか127.0.,0.1:33335が開けないと怒られてとまる。
これはだいたい想像がつきました。ホストPCはUbuntu64bitをセットアップしたばかりです。sshdがインストールしてありませんでした。単にインストールして終わり。
しかし、その後も全然設定ができません。そもそも、設定に使うtoolがぐぐったのと全然違います!進化の早いとこなので、しかたないにしても全然対応がわかりません。(どうやってもうまく行きません。(T_T))
散々、ぐぐった結果やはりJetsonのLinuxはぼろぼろだとのこと。grinch版がいいとのこと。そこで、それをROMに焼くことに決定。
まずはまっさらなUbuntu、L4Tをいれます。
wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/Tegra124_Linux_R21.3.0_armhf.tbz2 wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/Tegra_Linux_Sample-Root-Filesystem_R21.3.0_armhf.tbz2
展開して、ROMに書き込みます。
tar -xvf Tegra124_Linux_R21.3.0_armhf.tbz2 (中略) cd Linux_for_Tegra/rootfs sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R21.3.0_armhf.tbz2 cd .. sudo ./apply_binaries.sh
このあと、Jetsonをrecovery-modeで起動して、イメージを焼きます。(一応、同封してあるダンボールの紙にボタンの説明はありました。注意しましょう。当然、英語です)
sudo ./flash.sh jetson-tk1 mmcblk0p1
これをやる前に、USBで接続されていることを、lsusbコマンドで確認。NIVIDIAが見えます。あと、本当ならdeviceとして、/dev/mmcblk0p1が見えるはずなんですが、自分の環境では見えませんでした。 ただ、一応これで書き込みはできました。 さて、ここからはJetson側で起動イメージの差し替えです。ネタは元にありますので、コマンドだけ羅列しておきます。
wget http://www.jarzebski.pl/files/jetsontk1/grinch-21.3.4/zImage wget http://www.jarzebski.pl/files/jetsontk1/grinch-21.3.4/jetson-tk1-grinch-21.3.4-modules.tar.bz2 wget http://www.jarzebski.pl/files/jetsontk1/grinch-21.3.4/jetson-tk1-grinch-21.3.4-firmware.tar.bz2 sudo tar -C /lib/modules -vxjf jetson-tk1-grinch-21.3.4-modules.tar.bz2 sudo tar -C /lib -vxjf jetson-tk1-grinch-21.3.4-firmware.tar.bz2 sudo cp zImage /boot/zImage
ちょっと不親切ですみませんが、まあこの世界はこんなもんです。
結局、最新版のライブラリはTX1用だけで、TK1にはでていないようです。その後、以下のリポジトリを登録します。
sudo apt-add-repository universe 'universe' distribution component enabled for all sources. sudo apt-get update sudo apt-get upgrade
何故か、g++がないので、個別にインストール。
sudo apt-get install g++
これでやっとCUDAの開発用ライブラリをインストールできる準備ができました。(これまでのはあくまで準備作業です。おいおい、ってな感じですが先は長いです。)
さてやっと、CUDA-6.5のライブラリをインストールします。(最新は7.5ですが、7.0からARMのサポートがなくなったとのこと。TX1しか対応していない。どうするんだNVIDIA)
wget http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb sudo dpkg -i cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb (中略) sudo apt-get update (中略) sudo apt-get install cuda-toolkit-6-5
これで、CUDA6.5までインストールできました。あとはGPUを使えるように、自分をvideoグループに登録し、PATHを通しておきます。
sudo usermod -a -G video $USER echo "export PATH=/usr/local/cuda/bin:$PATH" >> ~/.bashrc echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH" >> ~/.bashrc source ~/.bashrc
うまくいけば、専用コンパイラのnvccのバージョンが確認できます。
nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2014 NVIDIA Corporation Built on Tue_Feb_17_22:42:19_CST_2015 Cuda compilation tools, release 6.5, V6.5.45
最後に、時間がUTCのままなので日本(Tokyo)にしておきましょう。
さて、Sampleを動かさないと、実感が湧きません。
cuda-install-samples-6.5.sh
このコマンドがインストールされているはずです。これでHOMEにSampleがインストールされますから、そこでmakeします。結構時間がかかりますが、無事Sampleは動きました。昔だったらなんの計算に使おうかと考えますが、今はAIですね。まずはディスクの容量がFlashの16GBしかないので、これをなんとかしないと。
0 件のコメント:
コメントを投稿