Contents
NXにUbuntuOSをセットアップする前に確認すること
Jetson Xavier NXモジュールのコネクタ、インタフェースの配置などの詳細はこちらから確認できます。
NXのセットアップには,購入した開発者キットのほかに以下が必要です。
- microSDカード(UHS-1対応、64or128GBあると安心です)
- キーボード、マウス
- モニター(HDMIまたはディスプレイポートで接続)
- MicroSDにJetPackのimageを書き込む際に必要なホストPC(MicroSDと接続できる必要があります。PC側にコネクタがない場合、SDカードリーダーをご用意下さい)
NvidiaホームページからJetPackのimageをインストール
👇JetPackのimageファイルをNvidiaのホームページからダウンロードしてきます
⇨https://developer.nvidia.com/embedded/downloads
最新版のJetPackをインストールしたい場合は下記のところからクリックしてダウンロード
(今回はJetPack4.4.1をインストールしたいので、下にスクロールして該当するものを選択します)
👇今回はJetPack4.4.1のimageを使います
👇ダウンロードしてきた.zipファイルを解凍し、下記のようなディスクイメージファイルが入手できればOKです。
MicroSDにJetPackのimageをフラッシュする
👇まずはMicroSDカードをフォーマットするために”SDメモリカードフォーマッター”をインストールします。下記のURLからホームページへアクセスし、Windows用 or Mac用で自身のPCに合ったものを選択。
https://www.sdcard.org/ja/downloads-2/formatter-2/
👇”同意します”をクリックしダウンロードを開始する
👇インストールした”SD Card Formatter”を起動し、カードの選択→フォーマットオプションを各々選択し、”フォーマット”をクリック
👇先ほどフォーマットしたMicroSDに、JetPackのimageをフラッシュするためのツールである”balenaEtcher”をインストールしていきます。
下記のURLでアクセスし、お持ちPC(Windows, Mac, Linux)を選択しダウンロードを開始する
👇”Flash from file”をクリックし、ダウンロードしてきたimageファイルを選択
セットアップに必要なもの
👇imageを書き込むSDカードを選択
該当箇所にチェックがあることを確認し、”Select”をクリック
👇”Flash!”をクリック
👇下のような画面になりフラッシュを開始します
👇これでフラッシュ完了。MicroSDにJetPackのimageを書き込むことができ、準備完了です
NXでUbuntuOSセットアップ
✅NXの起動に必要なものは以下の通り
・USBキーボード&USBマウス
・モニター&HDMIケーブル
※Jetson nanoの場合:LANケーブル(ネットワーク接続先)、電源(microUSB端子からの給電orJ25電源ジャックからの給電)
✅NXの起動手順(周辺機器の接続)
①MicroSD(フラッシュ済)を挿入
②電源、モニター(HDMI)、USBマウスキーボードを接続
※電源を入れると自動でUbuntuが起動します
👇起動完了すると下記の画面が表示されます。チェックを入れて”Continue”をクリック
👇言語選択は必ず”English”を選択する。(“日本語”だとうまく環境構築できない報告あり)
“Continue”をクリック
キーボード選択は”Japanese”を選択しよう。”Continue”をクリック
上記以外にも設定があるので、箇条書きで書いておきます
・使用場所の選択⇨Tokyoを選択
・ログイン情報の設定⇨ここは自分が使いやすいように適宜設定する
・APPパーティションのサイズ設定⇨フルサイズで問題ないです、デフォルトのまま設定
👇全て設定が完了し、ログインすると下記のような画面が起動すればOK
初期更新
UbuntuOSのアップデートをしておきます。ターミナルを開いて以下を実行
1 2 3 4 5 6 7 |
<Command> # パッケージ更新 [~] $ sudo apt update [~] $ sudo apt upgrade -y # apt-utilsインストール [~] $ sudo apt install apt-utils -y |
UbuntuOS初期設定
✅ パワーモードは最もパフォーマンスの高い15W 6COREを設定
✅ 冷却ファンの制御設定
CPUの温度に合わせて制御信号付きの冷却ファンの回転数を制御できるようにする。
GitHubで公開されている”jetson-fan-ctl“を使用
1 2 3 4 5 |
[~] $ sudo apt install -y python3-dev [~] $ git clone https://github.com//Pyrestone/jetson-fan-ctl.git [~] $ cd jetson-fan-ctl/ [~] $ sudo ./i nstall.sh |
✅ jtopのインストール
jtop:シェル上で動作する、Jetson nanoのCPUやGPUの稼働状況やRAMの使用率、チップの温度などコンピュータの様々な負荷情報を一覧表示で見やすく表示
1 2 |
[~] $ sudo apt install -y python-pip [~] $ sudo -H pip install jetson-stats |
👇 コマンドでjtopと入力すると下記のようなモニターが表示されます
1 |
[~] $ jtop |
✅ SWAPを拡張する方法
初期設定のSWAPサイズは”2 or 4GB”となっており、少ないため拡張します。
実際は、手動にて全て設定が良いのですが、公開してあったプログラムを使用しました。
※AIのモデルを読み込む時など、メモリ( 基本(8GB) + SWAP(10GB))使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
$ free -h total used free shared buff/cache available Mem: 7.6G 5.5G 482M 154M 1.6G 1.7G Swap: 3.8G 210M 3.6G $ git clone https://github.com/JetsonHacksNano/installSwapfile Cloning into 'installSwapfile'... remote: Enumerating objects: 37, done. remote: Counting objects: 100% (3/3), done. remote: Compressing objects: 100% (3/3), done. remote: Total 37 (delta 0), reused 0 (delta 0), pack-reused 34 Unpacking objects: 100% (37/37), done. $ cd installSwapfile ~/installSwapfile$ ./installSwapfile.sh Creating Swapfile at: /mnt Swapfile Size: 6G Automount: Y [sudo] password for jetson-nx1: -rw-r--r-- 1 root root 6.0G 7月 21 10:37 swapfile -rw------- 1 root root 6.0G 7月 21 10:37 swapfile Setting up swapspace version 1, size = 6 GiB (6442446848 bytes) no label, UUID=4b5e0093-e4b9-4572-aac2-fc90dabc5889 Filename Type Size Used Priority /dev/zram0 partition 662484 35888 5 /dev/zram1 partition 662484 35924 5 /dev/zram2 partition 662484 35900 5 /dev/zram3 partition 662484 35892 5 /dev/zram4 partition 662484 35848 5 /dev/zram5 partition 662484 35852 5 /mnt/swapfile file 6291452 0 -1 Modifying /etc/fstab to enable on boot /mnt/swapfile Swap file has been created Reboot to make sure changes are in effect # Swap領域が拡張されたか確認 ~/installSwapfile$ free -h total used free shared buff/cache available Mem: 7.6G 5.8G 352M 296M 1.4G 1.3G Swap: 9.8G 318M 9.5G |
Swap(溜まったメモリ)を開放する : $ sudo swapoff -a && sudo swapon -a
Swapのメモリ使用量を確認:$ cat /prop/swaps
日本語入力を可能にする設定
Jetsonは標準で日本語入力が機能として備わっていません。検索したい時など日本語入力が出来ると便利なので設定方法を解説します。
1 2 3 4 |
<Command> # ibus-mozcをインストールしてPCを再起動 $ sudo apt install -y ibus-mozc $ sudo reboot |
👇”Ja”ボタンをクリックし、”Text Entry Settings“をクリック
👇”+”をクリックし、先ほどインストールしてきたiBus-mozcである“Japanese(Mozc)(IBus)“を選択し”Add”をクリック
👇このように追加されていればOK
👇キーボード入力を先ほど設定した”Mozc”を選択し、下記のようなアイコンになれば設定完了⭐︎
👇このように日本語入力できるようになりました
キーボードレイアウトの変更
JetsonOSはときたま英語キーボードレイアウトでインストールされてくる場合があるみたいです。日本語の入力に対応できていないと困ることが多くなるので、日本語にしてしまいましょう。普通のUbuntu Desktopでも以下は基本的に手順は同じです。
- ターミナルで”sudo dpkg-recognize keyboard-configuration”と入力
- 「Generic 105-key (Intl) PC」を選択
- 「Japanese」を選択
- 「Japanese」を選択
- 「The default for the keyboard layout」を選択
- 「No compose key」を選択
- “reboot” コマンドで再起動
SSDストレージ(USBメモリ)のexfat有効化
Jetsonはデフォルトでexfatが入ってないのでインストールしておくと便利です
SSDストレージのexfat有効化(まめ知識)
[~] $ sudo apt-get install exfat-fuse exfat-utils
Visual Studio Code Insidersのインストール
コード編集用IDEの紹介です。下記の記事に詳細を記載しましたので、IDE使ってコード触りたいよーって方は見てみてください。
【Jetson】Jetson AGX Xavierをセットアップしていく
長かったですが以上になります。うまくセットアップできましたでしょうか?
ここからはおそらく皆さんはJetsonで
⭕️機械学習で画像認識させたい!
⭕️Webカメラと接続させて自動撮影がしたい!
⭕️制御機器(Node-Red,、PLC、etc)と接続してメカ的に制御装置をつくりたい!
と用途は多岐に渡ると思いますが、やはり”機械学習出来る環境構築”が必須になってくるのではないでしょうか。
となると機械学習に必要なライブラリ(tensorflow, keras, pytorch, etc)をライブラリ間の環境依存を考えながらインストールする必要があります。
一度やったことある人ならわかると思いますが、“ムチャクチャ大変“ですよね。。
僕は自分がやりたいことが出来る環境を構築するのに”1週間”もかかりました(笑)
このブログを見て来れている皆さんにはそんな大変な思いをさせたくはないので
“Dockerを早いうちからマスターする”ことをオススメします!
一度学んでしまえば簡単に使いこなすことができますので、すぐに学習に取り掛かりましょう!
このブログでも”Docker”を学ぶことはできますし、JetsonをDockerでどのように環境構築すればいいのか触れている記事も書いています。そちらで少しずつDockerに慣れていくといいと思います。
👇 JetsonAGX XavierをDockerで環境構築する
【Docker15】Jetson AGX XavierをDockerで環境構築する
今回はこの辺で、ばいばい👋
コメントを残す