CUDA
ubuntu16.04
JetsonTX1

Nvidia Shield TVで似非JetsonTX1をつくる

More than 1 year has passed since last update.

Nvidia Shield TV とは

Nvidiaが提供している家庭用AndroidTV端末で、GPUとしてJetsonTX1と同じTegraX1を搭載しています。
約200ドルでAmazon.comで購入できます。送料は20ドルかからなかったと思います。
メモリが3GBとやや少ないのが残念ですが、ディープラーニングや暗号通貨マイニングなど、話題の技術を手軽に遊べます。気が向いたらこのあたりも記事にします。

これまでに発売しているのは下記モデルがあるようです:

  • 2015 Pro w/HDD
  • 2015 16GB
  • 2017 Pro w/HDD
  • 2017 16GB

2017モデルには、2015モデルにあったmicroUSBポート・sdカードスロット・電源ボタンがありません。ネット上には2015モデルの情報が多く、適宜読み替える必要があります。

この記事について

2017 16GBモデルにUbuntu16.04とCUDA開発環境をセットアップする際の情報を記載します。
思い出しながら書いているので、間違いがあるかもしれません。やりかたによっては最悪デバイスが使えなくなる可能性もあります。
実施は自己責任でお願いします。

手順概要

モノを用意する

使うモノ

  • USB Aオス-Aオスケーブル
  • USBメモリ(8GB以上?)
  • USBハブ
  • HDMIケーブル,HDMIモニタ
  • LANケーブル
  • Ubuntu等がインストールされたホストPC

あれば便利なモノ

  • USBマウス・キーボード

ACアダプタは日本のコンセントに対応していましたので、変換器等は不要です。

セットアップ作業

概要のみ記載します。詳細は参考記事などで調べてください。

  1. ホストPCのセットアップ
    1. fastbootをインストールする
  2. USBメモリのセットアップ
    1. USBメモリをフォーマットする
    2. Linux for Tegra (L4T)をダウンロード(R24.2.1を使います)
    3. L4Tを展開して書き込む
  3. 配線する
    1. ホストPCとshieldをUSBケーブルでつなぐ(HDMIと離れた方の端子)
    2. shieldのもう一方の端子にUSBハブをつなぐ
    3. USBハブに付属コントローラとUSBメモリをつなぐ
    4. HDMIケーブルとLANケーブルをつなぐ
  4. ブートイメージを書き込む
    1. ブートイメージを入手する
    2. 付属コントローラのAボタンとBボタンを押しながら電源プラグをつなぐ
    3. ブートローダーのunlock
    4. ブートイメージを書き込む(こちらのsda1.imgを使います)
  5. 動作チェック・初期設定
    1. 再起動する
    2. Ubuntuの一般的なセットアップ
    3. Wifiドライバ等のセットアップ
  6. CUDA開発環境などのインストール(ここからはJetsonのセットアップと同様です)
    1. ホストPCでJetpack for L4Tをダウンロードして実行

メモ

  • androidをセットアップしてからadb経由でfastbootモードに入る手順をよく見ますが、androidのセットアップが案外面倒です。この記事ではコントローラを使う方法を取っています。
  • shieldでUbuntu起動後、元Androidのファイルにアクセスするとwifi_mac.txtというファイルがあり、MACアドレスが記載されています。MACアドレス等を事前にメモしておく必要はないと思われます。
  • 参考記事でmmcblk0p1となっている部分はUSBメモリを指す識別子で読み替えます(例:sdd1)
  • Jetpackは選択したライブラリによっては時間がかかりますし消費容量も大きいです。必要なものを選べば速いです。
  • 内臓eMMCへのインストールも可能らしいですが試してません。

参考記事: