1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Jetson TK1をUbuntu 16.04化して延命する

Last updated at Posted at 2018-11-17

概要

Ubuntu 14.04 LTSのサポート期限切れが迫っている中、既にNVIDIAによるサポートが終了しているJetson TK1をUbuntu 16.04にアップグレードして延命を図ります。nouveauドライバではなく公式ドライバで動いているため、CUDA 6.5も使えるようです。

今年6月の動作報告をほぼなぞっています。
https://devtalk.nvidia.com/default/topic/1036457/jetson-tk1/how-to-successfully-update-jetson-tk1-to-ubuntu-16-04
これまではdo-release-upgradeすると環境が壊れるというのが通説でしたが、xserver-xorg-coreをholdすればうまくいったという報告が今年になって相次いでいます。

手順

  1. Recovery modeで親機につなぎLinux for Tegra R21.7のインストール
  2. 親機と同じネットワークにつなぎJetpack 2.3.1よりCUDA等のインストール
  3. 以下実機コンソールにて実行
sudo apt update && sudo apt upgrade

# L4T R21.7でもhold必須
sudo apt-mark hold xserver-xorg-core

# 所要時間数十分かつ途中の選択肢あり
sudo do-release-upgrade
sudo reboot

# Timezone設定
sudo timedatectl set-timezone Asia/Tokyo

# gccは4.8を使う
sudo apt install gcc-4.8 g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8;
sudo update-alternatives --config gcc

# デスクトップ環境をUnityから変更(ログイン画面にて選択可能になる)
sudo apt install gnome-session-flashback


動作確認

homeディレクトリに入っているtegrastatsをsudoつきで実行すると、1秒ごとのCPU, GPU, ハードウェアエンコーダ等の稼働状況を把握できます。
詳細は https://devtalk.nvidia.com/default/topic/935280/jetson-tk1/tegrastats-infomation/

CUDA, VisionWorksなど

Jetpackからhomeディレクトリにインストールした各サンプルを実行

ハードウェアエンコーダ

sudo apt install ffmpeg gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
ffprobe "サンプル.ts"
# ffprobe実行結果をprogram-number, demuxer.video_0XXX, demuxer.audio_0XXXに反映
gst-launch-1.0 filesrc location="サンプル.ts" ! progressreport ! tsdemux program-number=211 name=demuxer demuxer.video_0140 ! video/mpeg ! queue max-size-time=0 max-size-buffers=0 ! mpegvideoparse ! omxmpeg2videodec ! nvvidconv ! omxh264enc bitrate=4000000 profile=8 ! video/x-h264,stream-format=byte-stream,profile=high ! h264parse ! mux. demuxer.audio_0141 ! audio/mpeg ! queue max-size-time=0 max-size-buffers=0 ! aacparse ! mux. matroskamux name=mux ! filesink location="サンプル.mkv"

ハードウェアエンコーダ/デコーダを使用し実時間の半分程度で再エンコード可能。

注意

  • grinch kernel適用は失敗するようです。
  • まったく同じコマンドを実行しているにもかかわらずアップグレード中の挙動が異なったりフリーズしたりすることがありました。失敗して起動しなくなった場合もflashからやり直してみることをおすすめします。
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?