LoginSignup
15
11

Jetson Nano 延命

Last updated at Posted at 2023-07-14

1.はじめに

公式のDeveloper Kitでは、Ubuntuが18.04で既にサポートが終了しております。
Ubuntuを20.04にすることで、少しでも延命したいと思います。

2.参照先

USBから起動

18.04から20.04

https://qiita.com/Manyan3/items/c1d583dbfef443536cef
https://qengineering.eu/install-ubuntu-20.04-on-jetson-nano.html

3.準備する物

Jetson Nano
MicroSD(32GB以上)
モニタ、キーボード、マウス
MicroSDでUpgradeすると大変時間が掛かるため、私はUSB-SSD上で行ってます。

4.MicroSDの作成

DL

Jetson Download Centerから、「Jetson Nano Developer Kit SD Card Image」をDLします。

MicroSDに焼く

詳細は割愛します。私は「BalenaEtcher」で焼きました。

5.起動

Jetson Nano Developer Kit SD Card ImageのMicroSDをJetson Nanoに挿して起動します。
User、Password、言語等の設定をします。
以下、起動後の画面になります。
no1.png

6.MicroSDからUSB-SSDへ

2.参照先の「USBから起動」の通り実行します。

7.不要アプリの削除

USB-SSDから起動ができましたら、不要アプリの削除を行います。

必須削除

chromium-browser

sudo apt purge chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg-extra

任意削除

私は「libreoffice」と「thunderbird」を削除しました。

sudo apt purge libreoffice* thunderbird*
sudo apt clean
sudo apt autoremove

8.18.04のUpdate

(注意)ここのUpdateが上手くいかないと、20.04に上げても起動しなくなります。
必ず、Updateしてエラーが無い状態にします。

update

sudo apt update
***********
(省略)
***********
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
アップグレードできるパッケージが 318 個あります。表示するには 'apt list --upgradable' を実行してください。

結構な量があります(笑)

sudo apt upgrade
***********
(省略)
***********
アップグレード: 317 個、新規インストール: 6 個、削除: 0 個、保留: 1 個。
666 MB のアーカイブを取得する必要があります。
この操作後に 4,080 kB のディスク容量が解放されます。
続行しますか? [Y/n] Y ←「Y」入力しEnter
***********
(省略)
***********
設定ファイル '/etc/ld.so.conf.d/nvidia-tegra.conf'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** nvidia-tegra.conf (Y/I/N/O/D/Z) [デフォルト=N] ? Y ← 「Y」入力しEnter
***********
(省略)
***********
設定ファイル '/etc/systemd/nv-oem-config-post.sh'
 ==> これはインストールしてから (あなたかスクリプトによって) 削除されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** nv-oem-config-post.sh (Y/I/N/O/D/Z) [デフォルト=N] ? Y ← 「Y」入力しEnter
***********
(省略)
***********
 lqqqqqqqqqqqqqqqqqqqqqqqqu Configuring docker.io tqqqqqqqqqqqqqqqqqqqqqqqqqk
  x                                                                          x
  x If Docker is upgraded without restarting the Docker daemon, Docker will  x
  x often have trouble starting new containers, and in some cases even       x
  x maintaining the containers it is currently running. See                  x
  x https://launchpad.net/bugs/1658691 for an example of this breakage.      x
  x                                                                          x
  x Normally, upgrading the package would simply restart the associated      x
  x daemon(s). In the case of the Docker daemon, that would also imply       x
  x stopping all running containers (which will only be restarted if         x
  x they're part of a "service", have an appropriate restart policy          x
  x configured, or have some other means of being restarted such as an       x
  x external systemd unit).                                                  x
  x                                                                          x
  x Automatically restart Docker daemon?                                     x
  x                                                                          x
  x                    <Yes>                       <No>                      x
  x                                                                          x
  mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
<No>を選択
***********
(省略)
***********
nvidia-l4t-kernel (4.9.337-tegra-32.7.4-20230608212426) のトリガを処理しています ...
処理中にエラーが発生しました:
 nvidia-l4t-bootloader
 nvidia-l4t-xusb-firmware
 nvidia-l4t-initrd
E: Sub-process /usr/bin/dpkg returned an error code (1)

ここでエラーが出力します。
このエラーを放置したまま20.04にすると起動しなくなります(経験済み)
下記のコマンドを実行します。

sudo mv /var/lib/dpkg/info/ /var/lib/dpkg/backup/
sudo mkdir /var/lib/dpkg/info/
sudo apt update
sudo apt -f install
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/backup/
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/backup/ /var/lib/dpkg/info/
sudo apt install nvidia-l4t-bootloader
sudo apt install nvidia-l4t-xusb-firmware
sudo apt install nvidia-l4t-initrd

またUpdate確認をします。

sudo apt update && sudo apt -y upgrade && sudo apt -y dist-upgrade && sudo apt -y autoremove -y

上記を実行して、エラーの表示がありませんでしたので、1度再起動します。

sudo reboot

問題無く起動できることを確認します。

18.04から20.04へ

前準備

2.参照先のUSBから起動にある
https://qiita.com/kitazaki/items/cb87be80a760184513dc
を参照してください。
参照するのは、
・release-upgradesの編集
・prompt=normal と書き換え保存します。
・編集後に以下の通り実行
です。

20.04へUpgrade

下記の通り入力します。

sudo do-release-upgrade
***********
(省略)
***********
パッケージリストを読み込んでいます... Done
依存関係ツリーを作成しています
状態情報を読み取っています... Done
No snaps are installed yet. Try 'snap install hello-world'.

Checking for installed snaps

Calculating snap size requirements

リポジトリ情報のアップデート

サードパーティが提供するリポジトリを使わない設定にしました

sources.list にあるサードパーティが提供するリポジトリを使わない設定にしました。>アップグレード完了後、'ソフトウェアソース'
ツールもしくはパッケージマネージャーを使って再び利用可能な設定にすることができま
す。

続けるには [ENTER] キーを押してください ←(Enter)
***********
(省略)
***********
アップグレードを開始しますか?


25 個のインストール済みパッケージは Canonical
によってサポートされなくなりました。ただしコミュニティからのサポートは受けること
ができます。

37 個のパッケージが削除されます。 605 個の新規パッケージがインストールされます。
 1747
個のパッケージがアップグレードされます。

合計 1,232 M をダウンロードする必要があります。 このダウンロードは約 4 分 かかり
ます。

アップグレードをインストールするのに数時間かかることがあります。ダウンロードが完
了してしまうと、処理はキャンセルできません。

 続行する[yN]  詳細 [d] y ← 「y」入力してEnter
Lock screen disabled

Your lock screen has been disabled and will remain disabled until you
reboot.

続けるには [ENTER] キーを押してください ← Enter

***********
(省略)
***********
キーボード、キーボードのレイアウトの選択は、japaneseにしました
***********
(省略)
***********
configuring gdm3はOKを選択
configuring gdm3でgdm3を選択
***********
(省略)
***********
Automatically restart Docker daemon?
は<No>を選択しました
***********
(省略)
***********
設定ファイル '/etc/X11/app-defaults/XScreenSaver-nogl'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** XScreenSaver-nogl (Y/I/N/O/D/Z) [デフォルト=N] ? N ← 「N」を入力してEnter
***********
(省略)
***********
設定ファイル '/etc/update-manager/release-upgrades'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** release-upgrades (Y/I/N/O/D/Z) [デフォルト=N] ? N ← 「N」を入力してEnter
***********
(省略)
***********
設定ファイル '/etc/update-motd.d/91-release-upgrade'
 ==> これはインストールしてから (あなたかスクリプトによって) 削除されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** 91-release-upgrade (Y/I/N/O/D/Z) [デフォルト=N] ? N ← 「N」を入力してEnter
***********
(省略)
***********
設定ファイル '/etc/xdg/autostart/blueman.desktop'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** blueman.desktop (Y/I/N/O/D/Z) [デフォルト=N] ? N ← 「N」を入力してEnter
***********
(省略)
***********
設定ファイル '/etc/xdg/autostart/clipit-startup.desktop'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** clipit-startup.desktop (Y/I/N/O/D/Z) [デフォルト=N] ? N ← 「N」を入力してEnter
***********
(省略)
***********
設定ファイル '/etc/gdm3/custom.conf'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : 状況を調査するためにシェルを開始する
 デフォルトでは現在使っている自分のバージョンを残します。
*** custom.conf (Y/I/N/O/D/Z) [デフォルト=N] ?N ← 「N」を入力してEnter
***********
(省略)
***********
古いソフトウェアを検索しています
状態情報を読み取っています... Done

サポートが中止された(あるいはリポジトリに存在しない)パッケージを削除しますか?



136 個のパッケージが削除されます。 3 個の新規パッケージがインストールされます。

アップグレードの取得とインストールには数時間かかることがあります。ダウンロードが
完了してしまうと、処理はキャンセルできません。

 続行する[yN]  詳細 [d] y ← 「y」を入力してEnter
***********
(省略)
***********
システムのアップグレードが完了しました。

再起動が必要です

アップグレードを完了するには再起動が必要です。
'Y' を選択すると再起動します。

続行する[yN] N ← 「N」を入力してEnter(重要)

注意
最後に再起動は絶対にしないようにしてください。

9.Upgrade後の処理

2.参照先の18.04から20.04
https://qiita.com/Manyan3/items/c1d583dbfef443536cef
を参照してください。
参照するのは、
・prompt=normal を元に戻します(必須)
の前後の

sudo vi /etc/update-manager/release-upgrades
prompt=never

です。

10.再起動

sudo reboot

再起動後の画面
no2.png

11.後処理

icd.dを削除します。

sudo rm -rf /usr/share/vulkan/icd.d

Updateします。

sudo apt update && sudo apt -y upgrade && sudo apt -y dist-upgrade && sudo apt -y autoremove

循環シンボリックリンクを削除します。

sudo rm /usr/share/applications/vpi1_demos

トップバーの歪んだnvidiaロゴを削除します

cd /usr/share/nvpmodel_indicator
sudo mv nv_logo.svg no_logo.svg

最後の再起動

sudo reboot

no3.png

12. 20.04になっているか確認

lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

13.まとめ

Ubuntuを20.04にすることで、2025年4月までサポートされます。

14.追記

コメントのOpenSSLについて確認しました。

$ openssl version
OpenSSL 1.1.1f  31 Mar 2020

と表示しました。
https://www.openssl.org/policies/releasestrat.html
を拝見しますと、

Version 1.1.1 will be supported until 2023-09-11 (LTS). 

の記載がありました。

15. OpenSSLのUpdate

DL

下記より、
https://www.openssl.org/source/

openssl-3.1.1.tar.gz (SHA256) (PGP sign) (SHA1)

をDLします。

解凍

DLしたディレクトリに移動して解凍します。

tar -zxvf openssl-3.1.1.tar.gz

解凍すると、

openssl-3.1.1

のディレクトリが出来ます。

Build&Install

解凍したディレクトリに入ります

cd openssl-3.1.1

buildします。

sudo ./config
(省略)
sudo make
(省略)
sudo make install

古いOpenSSLを退避

cd /usr/bin
sudo mv openssl openssl.org

buildしたOpenSSLを設定

ln -s /usr/local/bin/openssl

ldconfig

sudo ldconfig /usr/local/lib/

OpenSSLのversion確認

openssl version
OpenSSL 3.1.1 30 May 2023 (Library: OpenSSL 3.1.1 30 May 2023)

一応、これでOpenSSLを上げることができました。

OpenSSLの参照先

https://www.trusted-design.net/archives/933/
こちらを参考にさせていただきました。

15
11
1

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
15
11