久しぶりの投稿です。数年GPU/AI関連の組み込み系の仕事をしていましたが、昨年からWeb系になり、なんとなくブログも再開ですかね。
で、久しぶりのネタは、NVIDIA Jetson Nanoです。前回の仕事でTegraTX2とかいじってましたが、そういう仕事から離れてしまったので個人的に購入してみました。
セットアップする際にSDcardからブートするのはいいとして、自分がやりたいのはUSBでつないだSSDドライブからのブートです。
色々記事を読むと rootOnUSB を使うのが良さそう?と、やってみましたが、うまく起動しませんでした。無理やり起動させることは出来ましたが、安定しませんでした。rootOnUSBのリリースノートには、L4T 32.2.3 と書かれてますね。なるほど。今現在のJetPackSDK(4.5)のL4Tは32.5です。だからだめなんですかね。
つうことで、JetPackSDK(4.5)のリリースノートを読むと、なんとブータブルUSB drive対応と書かれています。やってみました。ちゃんと出来ました。ブート時、SDcardも不要です。SDcardがなければ自動的にUSBドライブからブートするシーケンスになっています。
以下自分がやったこと
昔何かで使って余っていたIntel SSD 600pシリーズ 512GB M.2 PCIEx4をUSB-SSDケースに入れ、Nanoに接続
JetsonNanoのJ50の9と10をショートさせて、リカバリーモードで起動する
JetsonNanoのflush port(microUSB port)からLinuxホストマシンへ、USBシリアルデバイス ftdi232 経由で接続。ホストでlsusbすると
Bus 001 Device 029: ID 0955:7f21 NVIDIA Corp. APX
って出てくる。7f21ってのがリカバリーモードで接続されているってことになるらしい。
LinuxホストにSDKManagerをインストール。手動でもできるようだが、勝手がわからないので無難に。と思ったがSDKManagerはUbuntu 16.04か18.04じゃないと動かないと!自分の環境は20.04。実際に動かしてみるとバージョンが合わないというメッセージが出て先に進めない。。。dockerで18.04動かしてX動かしてとも考えたが、超めんどい。
/etc/os-releaseのVERSION_IDを"18.04"に書き換えると動くという情報があり、やってみたら無事に動いた!よかった。。。
こちらからフラッシュするドライブを選択とかしないのかな?と思ったけど特に指定することなく自動認識されたようだ。
sudo apt update
sudo apt install nvidia-jetpack
で入る。この方がアップデートもしやすい。
次やりたいのが、headless起動でもx11vnc使って1920x1080リアルフレームバッファのリモートデスクトップ環境が作れないかと。edid読むようにカーネルビルドしただけではだめっぽい。やってる人いたら教えてほしいです。
$ xrandr --fb 1920x1080
で普通にできた!ポイントは、x11vnc経由でちゃんとログインすること。その後ならxrandrが使える。ディスプレイ出力しないので、fb解像度だけ設定すれば良い。~/.xsessionrcの最後に書いておけばログインしたときに自動的に拡張される。
0 件のコメント:
コメントを投稿