MacOSX物理環境へのUbuntu14.04インストールからJetsonセットアップまで


開発環境

  • Guest Device: Jetson TX-1
  • Host Device: Mac book pro (OS X Yosemite)
  • Host Linux Distribution: Ubuntu 14.04.5 (物理環境)

※ nvidiaは仮想環境をHostPCにすることを推奨していない(なお、Host PCはUbuntu14.04一択)。
そこで、Macの物理環境にUbuntu14.04をインストールすることにした。
https://devtalk.nvidia.com/default/topic/897718/jetson-tk1/flash-jetson-tk1-using-windows-/post/4735348/#4735348

Although convenient, flashing from VM is technically unsupported

開封〜準備

  • WiFiアンテナ取り付け
  • 電源取り付け
  • USB取り付け
  • HDMI経由でモニタに接続

パーティションの変更

JetsonのHost PC(Ubuntu14.04)を作成するため、Macの内蔵SSDにUbuntu用のパーティションを分割し、インストールする。
参考:
http://ottan.xyz/os-x-ubuntu-dual-boot-2-1236/

※ OS X Yosemiteから、起動ディスクについては論理ボリュームがデフォルトで使用されるようになったため、自由にパーティション分割ができなくなっている。そのため、まずは論理ボリュームの解除を行う。

Apple_HFS Macintosh HDのIDENTIFIRを見つける(例:disk1)。
$ diskutil list

論理ボリュームの解除を行う。
$ diskutil cs revert disk1

UBUNTU HD(50GB)とUBUNTU SWAP(4GB)のパーティションを作成する。

ブートローダ(rEFInd)のインストール

Mac起動時にLinuxを起動するため、「rEFInd」をダウンロードする。
http://www.rodsbooks.com/refind/getting.html
の「A binary zip file」のURLよりダウンロード。

ファイル(例:refind-bin-0.10.3.zip)をダウンロードして適当な階層に解凍し、その階層へ移動し、インストールを行う。

rEFInd
$ cd ~/Downloads/refind-bin-0.10.3
$ ./refind-install

ホストPC側準備

ubuntu14.04.5のisoをダウンロードする

MAC LINUX USB LOADERを用いてUSBへiso書き込みを行う。

下記4ファイルをUSBのrootにコピーする。
bcmwl-kernel-source_6.30.223.248+bdcom-0
dkms_2.2.0.3-1.1
fakeroot_1.20-3
libfakeroot_1.20-3

再起動してUbuntuをUSBからブートする。
Ubuntu起動後、デスクトップ上にあるinstallerを起動して、先ほど作成したパーティションを選択してインストールを行う。

Jetpackを利用したセットアップ

以降は作成したHost PC (Ubuntu)にて行う。

まずは、NVIDIAのサイトからJetpack for L4Tをダウンロードする。(要登録)

とても見やすくまとまっているのでインストールガイド参照してください。
以下、大まかに作業内容のみ書きます。

Jetpackを利用したセットアップ
$ cd /home/ubuntu/ダウンロード
$ chmod +x JetPack-L4T-2.3-linux-x64.run
$ mv JetPack-L4T-2.3-linux-x64.run /home/ubuntu/jetson-tx1
$ cd /home/ubuntu/jetson-tx1
$ ./JetPack-L4T-2.3-linux-x64.run

will be installed directoryがrunファイルと同じディレクトリであることを確認して次へ。
TX1を選択して次へ。
パスワード入力を求められるので入力して次へ。
Component Managerが開く。次へ。
全部チェックしてAcceptボタンを押す。
しばらく待っているとインストール完了画面になるので、次へ。
Network Layout設定画面になるので、「Device accesses Internet via router/switch」を選択する。
target device(例:wlan0)を選択して、次へ。
確認して次へ。

ここで、Jetsonデバイスの接続を促すダイアログが出現する。
指示通り、

  • TX1の電源OFFにする
  • Host PCとJetson TX1をUSBで接続する
  • Jetson TX1の電源をONにする
  • Power Button(一番真ん中よりのボタン)を押す
  • Force Recovery(二番目に真ん中よりのボタン)を押しっぱなしにする
  • Force Recoveryを押しっぱなしにしたまま、Reset Button(一番外側のボタン)を押して離す
  • 2秒待ってからForce Recoveryボタンを離す
  • Host PCのターミナルで $ lsusb として、デバイス一覧に「NVidia Corp.」というのが見えていればOK。
  • Host PCで先ほど出現したダイアログ上でEnterを押す

Host PCへのインストール作業が始まる。

  • インストールが終わると、リセットボタンを押せと言われるのでReset Buttonを押す。
  • Host PCでEnterを押す。
  • Device IPを求められるので、2を選択して、JetPack L4TのダイアログでIP(TX1でwifiにつなげて$ ifconfig -aとかで確認する)とユーザー名(ubuntu)とパスワード(ubuntu)を入力する。
  • TX1へのpushとinstallが始まる。

完了後、Finishを押してインストール作業完了。

ssh接続してみる(パスワードはデフォだとubuntu)。
$ ssh [email protected]

HDMIケーブルを接続してディスプレイ表示する。
/home/ubuntu/NVIDIA_CUDA-8.0_Samples/bin/aarch64/linux/release/SobelFilterを起動して確認してみる。
レナさんが1,000fps近くで表示される。

sobelフィルターON