SDK ManagerがUbuntu20.04に対応していない
みんな大好きJetson
Jetson TX2等のNvidia系エッジデバイスの初期設定を行う際,Linux OSを導入したHost PCよりJetsonをセットアップするのですが,SDK ManagerがUbuntu 20.04に対応していません(2020/7/8現在).Ubuntu 18.04あたりを利用すれば問題なく動くのですが,手元に20.04しかなく,新たにインストールするのも面倒なのでUbuntu 20.04でSDK Managerを利用する方法を探りました.
結果的にはUSB BootででもUbuntu 18.04を用意した方が早かった気もしますが手順的には難しくなかったので紹介します.
準備
セッティングの流れ等はUbuntu 18.04を利用する場合と全く同じです.SDK Managerの導入やTX2と
Hostの接続などは適宜調べて進めてください.
解決策
/etc/os-release
を弄れば解決します.VERSION_ID の項目を20.04から18.04に変更してやればOKです.
デフォルトではUbuntu20.04では
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
のようになっているのを
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04 LTS"
VERSION_ID="18.04" # 変更
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
のように変えてやればSDK Managerが起動します.
自身のOS versionを偽装している訳ですのでかなり強引な策ですがこれで一応なんとかなります.
他の問題
Jetsonのセットアップを進めていると OS Flashの段階で/usr/bin/env
にPythonがないと怒られてしまいました.この問題にはどうやらPython2系をホストにインストールすることで解決するそうです.
現状aptでpythonを入れると2系列が入るので
$ sudo apt update
$ sudo apt install python
でPython環境をインストールしてやります
確認
$ python -V
Python 2.7.18rc1
Python2.7が入っているのが確認できます.
ここまで対応すれば,無事エラーなくセットアップを終えることができました.
余談
フォーラムを見る限りSDK Managerが20.04に公式対応するのは「検討中だが計画にない」とのことです.それにしてもJetsonは初期設定が面倒ですねえ,nanoだともっと楽にできたりするのでしょうか.