やっつけな日常(54) Jetson Nanoの復活とOSアップグレードの失敗

Joseph Halfmoon

前回、intelの内蔵GPU搭載機上で OpenCL をWSL2環境とMSYS2環境から使えるように環境整備。しかしこれは Jetson Nano のCuda環境がホコリを被っていたためでした。今回Jetson Nanoの復活に取り組み。復活したのはよいけれど、その際OSアップグレードしようとしてハマリましたです。

※「やっつけな日常」投稿順 Index はこちら

ホコリを被っていたJetson Nano

3年くらい前に結構活躍していた筈の手元のNVIDIA製Jetson Nano機であります。AIというより、その下回りで使われるCUDAの練習用に使っていたもの。その後使わなくなってしまったのは、限られた資源(具体的には電源コンセントとEthernetハブのポート)を他の者どもに取られてしまったためです。結果、ホコリを被ってました。

前回インテルGPUで OpenCL できるようになったのは良いけれど、やっぱりCUDAもできるようにしておきたいと思いました。そこで電源コンセントとEhternetポートを求めて何千里(実際には数メートルですが)、Jetson Nano機は遠方へお引越しということになりました。

数年ぶりにJetson Nano起動して気づいたこと

電源とEthernetさえあればこちらのもんです。ホントか? 電源ONすれば起動OK。あれれ、ユーザーネームとパスワード忘れてるじゃん。ダメじゃん。ホコリを払って(ダスト・ブロワー使用)起動するものの、お約束の忘却力です。まあ、想定内。ちょっとトラブリましたがログインに成功いたしました。そこで気づきます。

Ubuntu 18.04LTS

2年以上電源もいれずに放置されていたので古い筈にきまってますが、こうしてみてみるとOSバージョン古いっす。指折り数えてみれば Ubuntu 18.04LTSは本年2023年がめでたくご卒業の年。起動画面をみやれば

do-release-upgrade

をつかえば、OSのアップグレードできるぞ、とお誘いまで表示されとります。これはイケない、アップグレードせにゃと短絡。しかしその前に念のため、microSDのバックアップをとり、apt updateにapt upgradeかけて溜まっていた更新を行ったりいたしました。2年も放置していたので更新も大量。時間がかかります。

何も考えずに do-release-upgrade

ちょっとね、Jetson関係のドライバとかOSアップグレードしたら問題になるやも知れんと嫌な予感がしないわけではなかったです。しかし「やっつけ」な冒険主義?です。まあ失敗したらバックアップから戻すかクリーンインストールしなおせばいいじゃん、とお気楽。do-release-upgradeしてしまいました。

やってから後悔しました。ファイルのダウンロード自体は10分もかからなかったですが、その後インストールに延々と時間がかかります。途中で画面表示も乱れるしかなりヤバイ雰囲気。その上、途中で分けわからん質問を投げかけらたりして困ります。何だか分からんけど、みんなOK、みんなYes。時々No。そんなことで良いのか?

いよいよ最後というところで不吉にもレジスタダンプして落ちました。どうもGPU関係の「ディープな」部分の問題みたいです。おっと、やっちまったか。

それでも押したり引いたりしているうちに一応、

Ubuntu 20.04 LTS

にアップグレードできたことは確認でき、シェルからの操作もできるようになったのですが、ブート時には必ず問題起こるし、何かするとエラーを吐くので使ってられるもんではありません。OSアップグレードするのはテキトーではダメみたいです。

NVIDIA社のサイトへ行って状況を調べてみた

ここにいたってようやくNVIDIA社のサイトへ行って状況を調べてみました(実はその前にNVIDIA社のサイトからダウンロードしたJetPackのインストールを開始してしまってます。)いつもの泥縄。

Jetson Linux Archive

Jetson系のデバイスのLinuxは Ubuntuベースですがその上にNVIDIA社がいろいろトッピングしているためかJetson Linuxと呼ばれているみたいです。最新版は、

35.4.1

だそうです(2023年8月版。)Ubuntuとしては20.04LTSみたい。ただしこの20.04LTS対応の系統はXavierとかOrinの名を持つ「新しいやつら」には対応しているみたいですが、古いNanoには非対応みたいでした。トホホ。

Nano対応の最新版は以下でした。

JETSON LINUX VERSION 32.7.4

実際のインストールは、Linuxだけでなく、CUDA以下のツールなど一切合切含んだ JetPackというものの microSDカードイメージで行いたいです。対応するJetPack的には以下のバージョンとなるようです。

JetPack 4.6.4

かいつまんでいうと、JetPack 5.x系は20.04LTSだけれどもNanoのサポート無。NanoのサポートのあるJetPack 4.x系は18.04LTS、ということみたいです。

なお以下のNVIDIA社、Jetson Nanoのget-startedのページからダウンロードできるJetPackは微妙に古い JetPack 4.6.1 です。わたしゃ、そういう事情を知らずこちらをダウンロードしてインストールしてしまいました。

Write Image to the microSD Card

「クリーン」インストールしたUbuntuバージョンをみて愕然

NVIDIA社からダウンロードしたイメージ(去年の版ですが)をmicroSDに書き込んで、Jetson Nanoを立ち上げたところ愕然(上記の事情を分かってなかったので。)

18.04LTS

でした。元の木阿弥。そうか、古い系統のJetson Nano対応のイメージは古いOSのままなのね。。。

ここにいたってようやく、Ubuntuの御本家、以下のCanonical様のリリースを読ませていただきました。泥縄の泥縄。

2023年5月31日のUbuntu 18.04 LTS標準サポート終了に備えて

ESMという有償のサービス(Ubuntu Pro)に加入すれば18.04はこの先5年大丈夫だあ~。小規模、個人ユーザは無償で使うこともできるよ~んということであります。

    1. このサービスを使わせていただいて18.04LTSをメンテするか
    2. 自力更生、問題点を端からFIXして20.04LTS、いや22.04LTSへと更新するか

2はないな。メンドそうだし。。。しかし、OSのアップグレードとかよく調べてからやれよ。自分。

やっつけな日常(53) 先達のお導き:WSL2とMSYS2からOpenCLを使用可とする へ戻る

やっつけな日常(55) Raspberry Pi、SD Card Copier、便利 へ進む