Mac環境でJetsonTX2のホスト環境の構築、それとJetPackの導入までのメモです。
参考
以下の記事を参考にさせていただきました。
MacBookProでJetson TX2のセットアップ
JetsonTX2初期セットアップ(Jetpack)からサンプルのコンパイルまでの手順
macOS_HighSierraにVirtualBox-5.2.2とUbuntu-16.04をインストールする方法
環境
- iMac (Retina 4K, 21.5-inch, 2017, OSX High Sierra)
- VirtualBox(VirtualBox-5.2.16-123759-OSX)上に、Ubuntu16.04を構築(2.にて説明)
0. 事前準備
以下のNVIDIAのサイトからJetPackを入手しておいて下さい。
JetPack-L4T-3.3-linux-x64_b39.run : https://developer.nvidia.com/embedded/jetpack
1. Jetsonの起動と初期設定
1.1. 起動と初期設定
Jetsonに電源、ディスプレイ、キーボードを接続し、電源ボタン(一番右の「S4 POWERBTN」と書かれたボタン)を押下します。
ちなみに以下が4つのボタンの役割になります。
S1 (RST) | S2 (VOL) | S3 (REC) | S4 (POWERBTN) |
---|---|---|---|
リセット | ボリューム | リカバリ | 電源 |
起動するとコンソールが立ち上がるので、「nvidia」でログイン後、以下の操作を行います。
(2018.08.06時点 起動すると自動でログインされるみたいです。)
$ cd ~/NVIDIA-INSTALLER
$ sudo ./installer.sh
$ sudo reboot
reboot後にGUIが立ち上がるので、電源ボタンを押下後、シャットダウンを選択して電源OFFにします。
1.2. Jetsonをリカバリーモードで起動
以下の手順でJetsonをリカバリーモードで起動させます。
- 電源ケーブルを抜き、MicroUSB-USBケーブルでMacとJetsonTX2を繫ぐ。
- 電源ケーブルを挿し直し、電源ボタンを押す。
- 電源ボタンを離したと同時にリカバリボタンを押しぱなしにする。
- リセットボタンを2秒以上押下する。
- リセットボタンを離し、リカバリボタンを離す。
ディスプレイに信号入力がなければ、リカバリモードでの起動が成功しているみたいです。
2. ホスト環境の構築
以下のファイルを用意しておきます。
- VirtualBox-5.2.16-123759-OSX.dmg : https://www.virtualbox.org/wiki/Downloads
- ubuntu-ja-16.04-desktop-amd64.iso : http://www.ubuntulinux.jp/News/ubuntu1604-ja-remix
2.1. VirtualBoxのインストール
以下の手順でVirtualBoxをインストールします。
- VirtualBox-5.2.16-123759-OSX.dmgを実行し、VirtualBox.pkgのアイコンをダブルクリック。
- 基本的に次へを選んでいけばOK。
- 最後にセキュリティで弾かれるので、「セキュリティとプライバシー」でOracleの許可を選択。
- 1.2.を再度実行。今度は問題なくインスールできるはず。
2.2. VirtualBoxの設定
以下の手順でVirtualBoxの設定を行います。
-
アプリケーションに「VirtualBox」が作成されているので実行する。
-
「新規」のアイコンをクリック。
-
「名前とオペレーティングシステム」で各項目を設定。
名前 タイプ バージョン 任意 Linux Ubuntu(64-bit) -
「メモリーサイズ」でメモリ割り当てを1024MB以上にする。(1024MBあればとりあえず大丈夫みたいです)
-
「ハードディスク」で、「仮想ハードディスクを作成する」を選択。
-
「ハードディスクのファイルタイプ」で、「VDI(VirtualBox Disk Image)」を選択。
-
「物理ハードディスクにあるストレージ」で、「固定サイズ」を選択。(ハードディスクに空きがあれば「可変サイズでも良いみたいです」)
-
「ファイルの場所とサイズ」で、32GB以上で設定。(32GBくらいあれば大丈夫みたいです)「作成」をクリック。
-
数分後、設定が完了する。
2.3. VirtualBox上にUbuntu環境を構築
以下の手順でVirtualBox上にUbuntu環境を構築していきます。
- 「起動」のアイコンをクリック。
- フォルダのアイコンをクリックして、事前にダウンロードしておいたUbuntuイメージ(ubuntu-ja-16.04-desktop-amd64.iso)を選択。
- 「日本語」を選択し、「Ubuntuをインストール」を選択。
- 「キーボードレイアウト」では、使用しているキーボードにあった設定を選択。
(Mac標準のキーボードなら「日本語-日本語(Macintosh)」で大丈夫) - デフォルトで「通常インストール」が選択されているので、そのまま「続ける」をクリック。
- 「ディスクを削除してUbuntuをインストール」を選択。(ホスト側(Mac)には影響なし)
- 「タイムゾーン」を設定。(特に問題なければデフォルトの「Tokyo」のままでOK)
- ユーザーの設定を行うとインストール開始。
- 数十分でインストール完了。再起動を求められるので再起動する。
- 立ち上がったら完了。
2.4. Ubuntuの設定
このままだと動作がもっさりして、windowサイズに合わせた表示がされないので、以下の手順で設定を行なっていきます。
Guest Additionsのインストール
-
まずはExtension Packを入手する。
Oracle_VM_VirtualBox_Extension_Pack-5.2.16.vbox-extpack : https://www.virtualbox.org/wiki/Downloads -
「VirtualBox」→「環境設定」→「機能拡張」で、入手したExtension Packを選択。
-
「Devices」→「Insert Guest Addition CD image…」を選択。
-
「VBox_GAs_5.2.16」が現れるのでダブルクリック。
-
管理者のパスワードを聞かれるので入力して「認証する」をクリック。
-
ターミナルを起動し、以下を実行で完了。
$ cd /media/[ユーザー名]/VBox_GAs_5.2.16
$ sudo sh VBoxLinuxAdditions.run
3Dアクセラレーションの有効化とビデオメモリの割り当て
- VirtualBoxの、「設定」 → 「ディスプレイ」 で「ビデオメモリー」をMaxに、「3Dアクセラレーションを有効化」にチェックを入れる。
- ついでに共有フォルダの設定もやっておく。「共有フォルダ」で、フォルダの追加のアイコンをクリック。
- 任意のフォルダを選択し、「自動マウント」にチェックを入れ、「OK」をクリック。
(Ubuntu側に、「/media/sh_[作成したフォルダ名]」が作成されるはずです) - Ubuntuを立ち上げ、以下のコマンドを実行すれば完了。
$ sudo bash -c 'echo vboxvideo >> /etc/modules'
3. JetPackのインストール
3.1. USBポートの割り当て
「設定」 → 「ポート」 → 「USB」で、追加のアイコンをクリックし、「NVIDIA Corp.APX」を選択して追加する。
※USB3.0で設定しないとJetsonTX2への書き込みが失敗します。
https://devtalk.nvidia.com/default/topic/1002827/jetson-tx2/problem-flashing-tx-2/3
3.2. ホスト側へのJetPackのインストール
-
まずはJetsonインストーラを実行する。
$ chmod u+x JetPack-L4T-3.0-linux-x64.run $ ./JetPack-L4T-3.0-linux-x64.run
-
「JetPack 3.3 installer」で、「Next」をクリック。
-
「Installation Configure」で、「Next」をクリック。
-
「Select Development Environment」で、「Jetson TX2」を選択し、「Next」をクリック。
-
「Jetson Components Manager」で、「Next」をクリック。
-
「Terms and Confidentions」で、「Accept ALL」にチェックを入れ、「Next」をクリック。
-
インストールには数十分かかります。インストールが終わると、「Completed」と表示されるので「Next」をクリック。
-
「Network Layout - Jetson TX2」で、「Next」をクリック。
-
「Network Inteface Selection」で、「Next」をクリック。
-
「Post Installation Jetson TX2」で、「Next」をクリック。
(うまくいかない場合は、JetsonTX2をリカバリモードで再度立ち上げる) -
以下が表示され、JetsonTX2が自動で通常起動されればOK。(IPアドレスを控えておく)
Finished Flashing OS. Determing the IP address of Target ...
3.3. JetsonTX2側へのJetPackのインストール
- ホスト側でJetPack-L4T-3.0-linux-x64.runを実行。
- 基本的に「Next」を押していけば良いが、「Component Manager」では以下の設定変更を行う。
「Flash OS Image to Target」のActionを、 「install」 → 「no action」に変更。
3. 「Device Information - Jetson TX2/TX2i」で、JetsonのIPアドレス、アカウント名、パスワードを入力し、「Next」をクリック。
4. 「Post Installation Jetson TX2/TX2i」で、「Next」をクリック。
5. 「Installation Complete」が表示されれば完了。
4. サンプルの実行
Jetsonで以下の操作を行い、煙のシミュレーションが表示されればOKです。
$ cd ~/NVIDIA_CUDA-9.0_Samples/bin/aarch64/linux/release
$ ./smokeParticles